Чем больше, тем лучше. Проблема одна. Надо, чтобы кто-нибудь на сервере умел это делать. То есть там нужна СУБД, и не простая, а универсальная. Которая может хранить и обрабатывать данные всех типов, какие только придут в голову разработчику.

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

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

Сейчас ситуация другая. Налицо борьба идей. В 1989 г. группа известных специалистов, приверженцев объектного подхода к построению баз данных, опубликовала "Манифест Объектно-Ориентированных Систем Баз Данных". В этом документе представители производителей ООСУБД попытались определить, что они понимают под данным термином. Ответный ход не заставил себя ждать. Через год появилась еще одна работа - "Манифест Баз Данных Третьего Поколения", написанная другой группой исследователей. Вместо полного отрицания реляционной модели этот манифест предлагал эволюционный подход к развитию систем баз данных за счет надстраивания над реляционной моделью элементов объектной модели.

Чем же различаются эти два похода? Оба документа предполагают поддержку сложных объектов, инкапсуляции, структуры классов, наследования и расширяемости. Правда, использоваться эти механизмы будут немного по-разному. Наиболее крупные из отличий между положениями, сформулированными в двух манифестах, - это такие механизмы, как уникальные идентификаторы объектов, поддержка полиформизма и языковые средства. Здесь позиции авторов полностью расходятся. Сторонниками объектно-ориентированного подхода предлагается введение уникальных идентификаторов объектов, поддержка полиформизма и использование вычислительно полных языков для работы с базами данных. Их же идейные противники считают необходимым использование уникальных идентификаторов только в случае, если объект не содержит уникального ключа, полностью не приемлют полиформизм и в качестве основного языка для работы с базами данных предлагают некоторое развитие языка SQL.

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

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

Предлагаются различные архитектуры Универсальных Серверов. Но все они не являются чисто объектно-ориентированными, а основываются либо на объектно-реляционном подходе, либо на некотором (без излишнего теоретизирования) расширении реляционного.

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

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

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

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


Андрей Волков - главный редактор журнала "Системы Управления Базами Данных". С ним можно связаться по электронной почте: volkov@osp.ru.