|
Третий том библии oracle-ида от Тома Кайта
| |
|
Томас Кайт
Эффективное проектирование приложений Oracle
М:. Издательство "Лори" ( www.lory-press.ru), 656 стр., 70x100/16, 2006, тир.1000, ISBN 5-85582-250-2, переводчики И.Кожина, научный редактор А.Головко.
Аннотация от издательства: http://www.lory-press.ru/book.php?id=225
Оригинал: Effetive Oracle by Design, by Thomas Kyte. McGraw-Hill/Osborne, 2003, ISBN 0-07-2230065-7
|
|
Вниманию всех русскоязычных профессионалов по Oracle:
одновременно с рецензируемой книгой Т. Кайта в издательстве "Лори" вышла книга
– Р.Дж. Нимик “Oracle9i. Оптимизация производительности. Советы и методы”. Наша на нее
рецензия
“Oracle-гуру Рич Нимик: что надо знать для оптимизации производительности базы данных Oracle”
параллельно в этом же выпуске "Oracle Magazine/Русское Издание".
Столь непривычное начало рецензии объясняется очень просто: издательство "Лори" практически одновременно выпустило по Oracle-тематике две великолепные книги под авторством, соответственно, Тома Кайта и Р.Дж. Нимика. Эти книги прекрасно дополняют друг друга в части понимания механизмов достижения оптимальной производительности СУБД Oracle и приложений, работающих с этой базой данных. Если же Вы, любезный читатель, увидев, что названные книги содержат формально пересекающийся материал (это практически неизбежно в любой технической литературе), засомневаетесь в необходимости знакомства и изучения обеих книг, х ти ой базой данных. и приложенито, пожалуйста, примите во внимание наше мнение, нашу радость в том, что у Вас есть возможность увидеть основные технологии Oracle глазами двух великих профессионалов, вдвое обогатить свой собственный багаж знаний и понимания базовых технологий системы Oracle.
Эта рецензия называется “Третий том библии oracle-ида от Тома Кайта”, поскольку мы считаем, что книга “Эффективное проектирование приложений Oracle” является непосредственным продолжением двухтомника Тома Кайта “Oracle для профессионалов. Книга 1 и 2”, который мы в свое время назвали и остаемся в этом мнении библией (т.е. Книгой!) каждого профессионального специалиста в русскоязычном Oracle (Thomas Kyte “Expert One on One Oracle” - “Эксперт: один-на-один с Oracle”, наша рецензия “Кайт на все времена” в интернет-журнале “Oracle Magazine/Русское Издание” http://www.oracle.com/global/ru/oramag/december2003/general_kyte_adm.html). Для нас очевидно, что нынешняя книга продолжает и расширяет вопросы, проблемы, решения,…, затронутые в том двухтомнике. В “Oracle Magazine/Русское издание” в 2003г. был опубликован перевод первой главы “Разработка успешных приложений для СУБД Oracle” из его первого тома (подробнее см. http://www.oracle.com/global/ru/oramag/janfeb2004/admin_kyte_expert5.html). Всем, кто знакомится с творчеством Т.Кайта, начиная с этого “третьего” тома, мы советуем ознакомиться также с той главой, поскольку ее текст не вошел в новую книгу, а материал того стоит! Приведем мнение М.Р.Когаловского (mailto:kogalov@cemi.rssi.ru), автора "Энциклопедии технологий баз данных", который в предисловии к публикации перевода (http://www.oracle.com/global/ru/oramag/april2003/admin_kyte_expert1.html) пишет:
“Не секрет, что разработка эффективных приложений систем баз данных является серьезной задачей даже для достаточно подготовленных специалистов, особенно если речь идет о крупных системах. Нужно не только грамотно спроектировать базу данных, но и найти рациональные способы взаимодействия приложения с СУБД на стадии исполнения, обеспечивающие эффективное выполнение всех тех сложных процессов управления данными, которые свойственны современным системам.
… на практике часто встречаются такие ситуации, когда автоматика не обеспечивает приемлемых для пользователя решений, и требуется вмешательство разработчика, который должен предусмотреть нужные вмешательства в работу СУБД со стороны прикладной программы. Использование СУБД в таких ситуациях как "черного ящика" становится неприемлемым. Разработчик непременно должен знать тонкости характера конкретной используемой СУБД.
…Том Кайт, до тонкостей владеющий технологиями Oracle, аргументировано, доходчиво и доступным языком обсуждает злободневные примеры трудных ситуаций, показывает пути решения связанных с ними проблем.”
Эти слова полностью, полностью относятся и к книге “Эффективное проектирование приложений Oracle”.
Т.Кайт так начинает свою книгу, так ориентирует своих читателей (выделено нами):
“Эта книга предназначена для всей команды разработчиков Oracle - группы людей, осуществляющих стопроцентный контроль над работой системы. В состав этой команды входят создатели модели данных, разработчики и штат АБД (DBA). Подобный взгляд противоречит известному мифу о том, что АБД полностью контролируют и отвечают за все аспекты работы приложений… В действительности после того, как [приложение] было спроектировано и создано, администратор не так уж много может сделать. …Эта книга предназначена для разработчиков, которым необходимы более совершенные методы проектирования и построения масштабируемых систем с использованием платформы Oracle. Это книга не для начинающих… Она не учит, как создавать код приложения, но рассказывает о том, что необходимо знать для создания “грамотных” приложений, основанных на Oracle… Эта книга является руководством для тех, кто создает структуру и настаивает систему. В ней обсуждаются следующие вопросы:
- Настройка перед началом проектирования
- Проектирование с учетом определенных целей и проверка их реализации
- Испытание системы и исключение ошибок (необходимо убедиться в том, что каждый элемент работает надлежащим образом, поскольку многие проблемы являются следствием незнания того, как же в действительности работает база данных)
- Ошибки в процессе реальной работы.”
Обычно наши рецензии включают оглавление книг, если этого нет в аннотации от издательства. Не отступим от этого правила и сейчас. Книга “Эффективное проектирование приложений Oracle” состоит из следующих глав:
- Правильный подход к созданию приложений
- Инструменты для настройки производительности
- Архитектурные решения
- Эффективное администрирование
- Обработка операторов
- Эффективное применение оптимизатора, основанного на стоимости
- Проектирование эффективной схемы
- Эффективное применения языка SQL
- Эффективное программирование на PL/SQL
- Итак, возникла проблема
Приложение. Настройка и некоторые сценарии
В отличие от, скажем, книги Р.Нимека “Oracle9i. Оптимизация производительности. Советы и методы”, оглавление не содержит четкой конкретики о материале, заложенном в главах. Скорее всего, на уровне названий глав подобной книги это и не представляется возможным. Книга Тома Кайта – это, скорее, не справочник, а руководство, методология деятельности и мышления, хотя в большой грех впадет oracle-профессионал, который не воспользуется скриптами и непосредственными рекомендациями, приведенными в тексте.
Как образец уровня и образности изложения автором материала, приведем выдержку из первой главы книги. Т.Кайт формулирует и рассматривает (выделено автором):
“Ниже приводятся причины, по которым не следует рассматривать базу данных как черный ящик:
- Невозможность получения корректного ответа
Средства управления параллельным доступом – это главное отличие между базами данных. В зависимости от того, с какой базой данных работают приложения, они получают различные результаты, несмотря на одинаковые входные данные и порядок ввода запроса.
- Невозможность получения высокой производительности
Производительность будет всего лишь долей того, что могло и должно было бы быть.
- Невозможность быстрого создания программного обеспечения Придется тратить много времени на то, чтобы делать все самому.
- Неэффективное вложение средств …”
Парадоксально с первого взгляда?!! Да, но это и есть Том Кайт!
Примеры можно умножить:
- Стоит позволить базе данных делать то, для чего она предназначена
(стр. 69);
- Мы слышали, что средство Х очень сложно
(стр.73);
- Неправильные представления о соединении совместно используемого сервера
(стр.169);
- Миф о параллельных операциях
(стр.191);
- Разрешите Oracle управлять базой данных
(стр.209);
- Запросы – от начала до конца
(стр.от 255);
- Изъятие SQL из триггеров для сокращения анализа
(стр.299);
- Запуск модели рабочей нагрузки
(стр. 313);
- Проверка целостности на стороне клиента
(стр. 373), уменьшение целостности (стр. 374,) потеря производительности (стр. 375)
- Оптимизация схемы данных для часто выполняемых запросов (378)
- Индекс- и внешние таблицы
(стр. 383, 405), сжатие (стр. 425,431)
- Полное сканирование и число чтений блоков
(стр. 446);
- Декартово соединение таблиц
(стр. 471), антисоединение (стр. 475), полное внешнее соединение (стр. 479);
- Как писать как можно меньше кода
(стр. 543);
- Эффект, достигаемый при массовой обработке 558
- Критерии для программы, выполняющейся с правами вызывающего
(стр. 581);
- Использование автономных транзакций
(стр. 591);
- …
Каждый раздел достоин упоминания!
Вернемся же к посвящению М.Р.Когаловского. Тогда Михаил Рувимович поздравил читателей “Oracle Magazine/Русское издание” с публикацией великолепной первой главы из великолепной книги Тома Кайта “Эксперт: один-на-один с Oracle”. Сейчас мы поздравляем наших читателей и всех профессионалов русскоязычного Oracle с выходом “Эффективное проектирование приложений Oracle”, уже как бы третьего тома библии от Тома Кайта, и очень хотим надеяться, что дождемся продолжения!
Виктор Абрамов,
профессиональный разработчик приложений на Oracle,
научный редактор "Oracle Magazine/Русское Издание"
Анатолий Бачин,
профессиональный администратор баз данных Oracle
главный редактор “Oracle Magazine/Русское Издание”
Томас Кайт (Thomas Kyte) – Вице-президент группы по образованию, автор колонки “Спросите Тома” (http://asktom.oracle.com) в журнале “Oracle Magazine” (http://www.oracle.com/oramag)
Ричард Дж.Нимик (Richard J.Niemiec) – Главный администратор TUSC (www.tusc.com) и сертифицированный магистр Oracle.
d |