Все станет универсальным и объектно-реляционным. В общем, ситуация напоминает ту, которая сложилась к моменту появления реляционной модели. Только усугубляясь наличием таких понятий, как мультимедиа, intranet, клиент/сервер... по желанию добавлять можно сколько угодно. Но появилось одно существенное отличие. Классическую статью Кодда никто не оспаривал. Ее развивали, дополняли и углубляли - как сам автор, так и многие его последователи. Хотя и казалась она скорее теоретической, нежели имеющей отношение к практике, статья довольно быстро привела к полной смене ассортимента коммерческих продуктов. Что же происходит сейчас?
Сейчас все по-другому. Никто не знает, что такое универсальный сервер или объектно-реляционная система баз данных. Вернее, знают все, но каждый по-своему. Потому что первоисточников нет. Существует несколько работ, претендующих на это звание и гордо именующих себя манифестами. А если трудно прийти к согласию на уровне концепций, что говорить о коммерческих реализациях?
Манифестов, собственно, всего три. Причем последний (1995 год), "Третий Манифест" Х. Дарвена и К. Дэйта, по молодости лет еще не успел оказать заметного влияния на практику, хотя он, являясь по стилю наиболее формальным, пытается примирить оба предыдущих и построить почти что аксиоматически новую модель данных. Может быть, он просто еще недооценивается современниками и будет служить основой для построения баз данных следующего поколения - следующего после вновь появляющихся универсальных серверов, которые как бы сами являются СУБД следующего поколения в современном контексте.
С первым документом (1989 год), "Манифестом объектно-ориентированных баз данных", тоже все более-менее ясно. Чисто объектно-ориентированные СУБД существуют давно и прочно заняли свою нишу. Почти очевиден при этом тот факт, что они никогда не заменят полностью реляционные системы, а будут как-то эволюционировать в своем сегменте, все лучше и лучше решая свои задачи. Предлагаемой авторами документа революционной смены модели данных не произошло и, по-видимому, уже не произойдет.
Так что вся надежда на "Системы баз данных третьего поколения: манифест", появившийся в 1990 году. Только он из написанных манифестов потенциально может служить некоторым базисом при построении новых систем баз данных. Насколько ведущие производители СУБД следуют направлениям, сформулированным в этом документе? Или каждый из них идет своей дорогой? Чтобы получить ответы на эти вопросы, посмотрим подробнее, что же предлагают авторы манифеста.
Основные идеи документа крайне просты. Вначале авторы формулируют три базовых принципа, которым должны соответствовать СУБД третьего поколения.
Первый принцип. "Помимо традиционных услуг по управлению данными, СУБД третьего поколения обеспечат поддержку более богатых структур объектов и правил". Сказано хорошо, только очень расплывчато. Все существующие системы, претендующие на звание систем следующего поколения, естественно, удовлетворяют этому принципу. Причем каждая по-своему. Настолько по-своему, что механизмы реализации этой поддержки часто оказываются диаметрально противоположными и вызывают ожесточенные дискуссии между производителями. Хотя необходимость поддержки новых типов данных и объектных расширений никто не отрицает. Тем более сейчас, когда все заказчики хотят (или не хотят, а им усиленно рекомендуют разработчики?) мультимедиа, intranet и все такое прочее. О том, насколько не просто такое расширение, свидетельствует история стандарта языка SQL. Принятие версии стандарта, включающей поддержку объектно-ориентированных расширений, изначально планировалось на 1995 год. Потом на 1997-й. Сейчас на 1998-99 годы. Но и эти цифры, скорее всего, не последние.
Второй принцип. "СУБД третьего поколения должны включить в себя СУБД второго поколения". Тоже все согласны. Не предлагается никаких революций. Никто не хочет потерять сделанные инвестиции и получить вместо них унаследованные системы. Но также размыто. Существует бесчисленное количество способов таких включений. И выбор отдается на откуп разработчику, который может сделать как ему заблагорассудится.
Третий принцип. "СУБД третьего поколения должны быть открыты для других подсистем". Никто не спорит. Все хотят работать с открытыми решениями, тем более сейчас, когда никто не мыслит себе работы вне сетевого окружения. И, опять-таки, крупные производители предлагают свои архитектуры для реализации такой открытости.
Помимо перечисленных принципов, как видно довольно расплывчатых, авторами было сформулировано еще 13 более конкретных предложений о том, какими должны быть СУБД следующего поколения. Однако предложения направлены, большей частью, на описание объектных и реляционных аспектов будущих систем. В целом, СУБД, в той или иной мере удовлетворяющие этим предложениям, с большой степенью точности можно назвать объектно-реляционными, тем более что в дальнейшем лучшего определения этих систем никто не сформулировал (я имею в виду общеупотребительные и конструктивные определения).
Все вышесказанное относится скорее только к понятию СУБД, которые сейчас принято называть объектно-реляционными. С универсальными серверами еще сложнее. Потому что их можно строить на базе не одной, а нескольких систем баз данных, причем необязательно одинаковых моделей. И не было никаких манифестов относительно универсальных серверов. Были только зарегистрированные торговые марки с соответствующими судебными разбирательствами.
В общем, все грустно, господа. Мы вступаем в эпоху технологической войны. А на войне всем плохо, тем более, что результаты первых боев этой войны, кажется, уже видны. А хуже всего придется заказчикам, которым действительно нужны возможности, предоставляемые новыми системами. Им придется очень хорошо подумать, прежде чем решиться на использование технологии того или иного производителя. И гарантии правильного выбора не может сейчас дать никто.
Андрей Волков - главный редактор журнала "Системы Управления Базами Данных". С ним можно связаться по электронной почте: volkov@osp.ru.