Руководителю -- о технологиях баз данных

Владимир Викторович Пржиялковский

независимый консультант, координатор ЕАГПО,

www.ccas.ru/~prz.

С ним можно связаться по prz@deneg.net


Своеобразный "справочник для руководителя" по наиболее существенным промышленным технологиям в базах данных выпустило издательство Morgan Kaufmann. Теперь руководители могут прочитать его и на русском языке.


Strategic Database Technology: Management for the Year 2000. Alan R. Simon. Morgan Kaufmann Publishers, 1995 ISBN 1-55860-264-X

Стратегические технологии баз данных: менеджмент на 2000 год. Алан Р. Саймон. М., Финансы и статистика, 1998


Книга "Стратегические технологии ..." представляет собой обзор важнейших технологий баз данных, ориентированный на сотрудников, отвечающих за планирование и принятие решений по использованию информационных технологий на предприятиях. Такое сочетание ориентации на предмет и на аудиторию придает книге особенности, выделяющие ее из прочей литературы по базам данных.

Чем важно такое сочетание? Известно, что на некоторых предприятиях существует, и часто срабатывает, соблазн связать свою дальнейшую "информатизированную" жизнь с какой-нибудь одной СУБД. Если вы имеете дело с "системным интегратором", то вам легко доказывают, что СУБД хороша (что часто правда), а иметь дело с одним поставщиком -- так вам и самим кажется, что это лучше, чем с несколькими. Выглядит разумно, но все-таки с выводами в такой ситуации лучше не спешить, причем тем менее спешить, чем более крупное предприятие вы представляете или чем за более долгосрочные решения несете ответственность. Как руководитель, вы конечно же заинтересованы в том, чтобы информационная система, разворачиваемая на вашем предприятии, была бы решением на период, более протяженный, нежели год-два, и чтобы через 10 лет (а ничто не вечно!) переход предприятия на новую систему не оказался бы для производства нокаутом. А ведь влияние СУБД на адекватность и перспективы разворачиваемой на предприятии ИС прямо сказать, "судьбоносное"!

Выбор какой-то одной СУБД в качестве "стандартной" для организации, конечно же, не воспрещен и в конкретных условиях может быть оправдан, однако всегда нужно отдавать себе отчет по меньшей мере в следующем. Какой бы замечательной ни была СУБД, она есть продукт одной фирмы, и представляет собой только одно решение проблем, именно предлагаемое этой фирмой. Выбрав для себя "стандартную" СУБД, вы попадаете в "зону риска" и приобретаете шанс стать заложником решений, предлагаемых фирмой-производителем СУБД, в силу того, что ей так удобно. Здесь уже возможен конфликт (не всегда сознаваемый) интересов ваших и продавца. Правильный способ минимизировать риски таких конфликтов заключен в том соотношении, что именно "покупатель", а не "продавец" должен быть хозяином принимаемых информационно-технологических решений. Но чтобы так было возможно, ответственный руководитель на предприятии должен представлять себе многообразие существующих технологий и возможностей СУБД вообще, их ограничения и перспективы.

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

В базах данных история вопроса распределенности неразрывно связана с 1987 годом, когда Крис Дейт опубликовал свои известные "12 правил" распределенной системы БД. Существо этих правил лежит в обеспечении прозрачного доступа к базам данных, распределенных по компьютерной сети. Саймон отмечает, что несмотря на привлекательность "12 правил" и на давность их возникновения, степень удовлетворения им в современных коммерческих СУБД очень низка. Более простым для реализации оказался предложенный в начале 90-х годов альтернативный подход, получивший позже название "схемы клиент/сервер". В книге приводится целый ряд технологических решений для воплощения идеи распределенной базы данных -- с прозрачным доступом или без.

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

Частым атрибутом систем, спроектированных по принципу "сверху вниз", является глобальная схема данных, однако, как указывается в книге, использование глобальной схемы может быть сопряжено с неприятностями и неприемлемо для конкретных случаев. Глобальная схема может отсутствовать, но могут иметься частичные схемы для разных узлов, что соответствует технологии федеративной системы баз данных. Наконец, общность схемы может отсутствовать в любых проявлениях, и тогда можно говорить о взаимодействующих системах баз данных.

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

Теперь нужно отметить, что названные в последних нескольких абзацах вопросы, аспекты и технологии составляют только часть обсуждаемых в книге с достаточной подробностью в связи с темой распределенных систем. Кому после этого не очевидно, какой основательной проработки требует проблема при ответственном подходе к конкретному проекту!

А вот пример другой темы, обсуждаемой автором: временных (ударение на последнем слоге) баз данных. Так же как и тема распределенных систем, эта не сводится к универсальным простым решением. С первых же страниц обсуждения автор показывает неудовлетворительность простого "навешивания" на записи БД дополнительного поля типа "дата", то есть желания, рефлекторно возникающего у иных скорых на руку проектировщиков. Автор знакомит читателя с проблемой в ее полноте и с несколькими наиболее продвинутыми подходами к ее решению (TempSQL, TSQL, HSQL). В отличие от распределенных систем, технологии временных БД реализованы в преимущественно только на бумаге, но так как сам вопрос чрезвычайно актуален, следует ожидать большой активности по его решению, и хотелось бы надеяться на его перемещение в практическую область уже в ближайшем будущем. В то же время более полного и систематичного, чем у автора, изложения на русском языке проблематики и положения дел во временных БД мне не встречалось.

Из других тем в книге затрагиваются еще объектные БД, языки баз данных и управления информацией, иные (кроме временных) перспективные модели баз данных и управления информацией, функции поддержки.

Нельзя не упомянуть еще об одном общем наблюдении. Книга Саймона написана в духе практицизма: в ней не делается особого упора на оценку правильности предлагаемых рынком технологических решений (хотя разговоры на эту тему и не избегаются), а скорее предпринимается попытка объективного описания существа сложившейся ситуации во всей ее, порой противоречивой, полноте. Этим, например, книга отличается от классического труда Дейта "Введение в системы баз данных", русский перевод шестого издания которой увидел свет также в этом году. Представляется, что такой подход оценит любой руководитель, занимающийся конкретной производственной деятельностью; в то же время книга Дейта рассчитана на несколько иную аудиторию.

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