РЕЦЕНЗИИ

Шаша Д., Бонне Ф. Оптимизация баз данных. Принципы, практика, решение проблем. Учебно-справочное издание. Пер. с англ. М.: Кудиц-образ, 2004. - 432 с.    

В славные времена моего студенчества преподаватель, читавший нам курс "Основы построения баз данных", на первой лекции попросил привести какой-нибудь пример использования такой базы. У большинства слушателей фантазия не пошла дальше компьютерной записной книжки. Да и трудно было тогда представить, что компьютеры появятся где-нибудь за пределами научной лаборатории. С тех пор мир сильно изменился, и сегодня типичное занятие для офисного сотрудника - подготовка подробного годового отчета о деятельности своего отдела. Склеивая и сортируя XLS-файлы по 5000 строк, он почем зря клянет программистов, которые почему-то не могут добавить к корпоративной базе данных несколько строк кода так, чтобы данные выдавались в штатном запросе, а сервер БД в это время не зависал.

Настройка и оптимизация баз данных - это головоломка, которую нужно решить, чтобы заставить информационную систему работать быстрее и эффективнее. Наилучшие практические решения можно найти, только понимая принципы их построения. Пять основных принципов, которые декларируют авторы книги, актуальны и остроумно сформулированы: "Мыслите глобально, исправляйте локально. Разделение устраняет "узкие" места. Начальные издержки велики, текущие незначительны. Разместите на сервере то, что должно на нем располагаться. Будьте готовы к компромиссам". Примечательно, что предлагаемые идеи и стратегии не зависят от систем и версий ПО.

Книга состоит из десяти глав. Читая их, вы прочувствуете системные механизмы низкого уровня, лежащие в основе всех СУБД, увидите аспекты конфигурирования операционной системы, оцените принципы параллельного управления и восстановления. Особое внимание уделено выбору индексов. В частности, рассматриваются виды запросов, наилучшим образом соответствующие тем или иным индексам, структуры данных и всевозможные типы индексов, даются советы по их поддержке. Авторы обсуждают вопросы, важные для построения реляционных систем: проектирование таблиц, в которых будет храниться информация, размещение записей и выбор типов данных, переформулирование запросов, использование триггеров.

Отдельная глава посвящена настройке протоколов связи между сервером БД и окружающей его информационной системой. Жаль только, что теме доступа к гетерогенным базам данных уделено всего лишь две страницы общестратегических советов, а ведь эта проблема с каждым днем становится все более и более актуальной. Очень полезны учебные примеры, многие из которых почерпнуты из практики. Отдельная глава содержит обзор возникающих неполадок и способов их устранения. Рассматриваются особо важные сегодня вопросы настройки и планирования ресурсов для приложений электронной коммерции, таких, как Интернет-магазины. При описании хранилищ данных приводятся примеры классических проблем, возникающих, что любопытно, не только в программировании, но и в маркетинге. Заключительная глава рассказывает о настройке хранилищ данных.

Материал книги подкреплен результатами множества экспериментов, приводимыми на графиках и диаграммах практически во всех разделах. После каждой главы следует обширная англоязычная библиография с краткими комментариями авторов. Жаль только, что издательство допустило некоторые оплошности, в частности упражнение 8 после второй главы обрывается на полуслове.

Деннис Шаша и Филипп Бонне предназначали свой труд профессионалам-практикам, но он безусловно пригодится и преподавателям университетских курсов. Авторы выражают свою готовность поделиться методическими наработками со всеми заинтересованными коллегами.

Версия для печати