С.Д. Кузнецов - Основы баз данных (1121716), страница 94
Текст из файла (страница 94)
Кроме того, в проекте 1пягез очень большое внимание уделялось управлению правилами. В 1980-е гг. Майкл Стоунбрейкер возглавлял проект Розгягез (вариант этой системы под названием РозгягеБО). в настоящее время является весьма популярным свободно доступным продуктом). В Розгкгез были реализованы многие интересные средства: поддерживалась темпоральная модель хранения и доступа к данным, и в связи с этим был полностью пересмотрен механизм журнализации изменений, откатов транзакций и восстановления БД после сбоев; обеспечивался мощный механизм ограничений целостности; поддерживались ненормализованные отношения (работа в этом направлении началась еще в среде 1пкгез), хотя и довольно странным способом: в поле отношения мог храниться динамически выполняемый запрос к БД.
Одно свойство системы Роз!атее сближало ее со свойствами объектно-ориентированных СУБД (ООСУБД). В Роз(ягез допускалось хранение в полях отношений данных абстрактных, определяемых пользователями Основы бвз данных Курс типов. Это обеспечивало возможность внедрения поведенческого аспекта в БД, т.
е. решало ту же задачу, что и ООСУБД, хотя, конечно, семантические возможности модели данных Розгйгез были существенно слабее, чем у объектно-ориентированных моделей данных. Основная разница состояла в том, что в Рогд8гез не предполагалось наличие языка программирования, одинаково понимаемого как внешней системой программирования, так и системой управления базами данных. Как и в! пцгез, в исходном варианте Розгйгез не поддерживался язык Я)Б (имелся собственный язык запросов Роз!г!це!). Кстати, во времена Роыйгез Майкл Стоунбрейкер не использовал термин обьектно-реляционная система, предпочитая называтьь свою СУБД системой следующего поколения. В начале ! 990-х гг.
Стоунбрейкер создал компанию П!цгдга, основной целью которой был выпуск коммерческого варианта СУБД Ромйгеза, получившего название 1!!цмга. В этой системе поддерживались основные идеи Ровгдгев, но уже присутствовала и поддержка языка Я)1.. В конце 1995 г. компания 1!1цмга была поглощена компанией 1прогппх, и это привело к выпуску в ! 996 г. СУБД !пропп!х Ьп!уегза! Ьегуег (см. ниже). Имя Вона Кима стало широко известно во второй половине !970-х гг., когда он примкнул к участию в экспериментальном проекте компании 1ВМ Бузгеш В. Наиболее известная ранняя работа доктора Кима была посвящена преобразованию БО(.-запросов с целью превращения запросов с вложенными подзапросами в запросы с соединениями.
В 1980-е гг. Вон Ким работал в компании МСС, где успешно выполнил реализацию серии прототипов ООСУБД Опоп. В этих прототипах были опробованы многие идеи объектно-ориентированных СУБД. Одной из интересных особенностей проекта было то, что в качестве основного языка программирования использовался объектный вариант известного функционального языка 1зар. В конце 80-х гг. д-р Ким основал компанию ОшЩ1., выпустившую в 199! г. первую версию продукта ЬпБЯ1., который Вон Ким стал называть обьектно-реляиионной системой.
Трудно оценивать коммерческий успех этой СУБД. В настоящее время она принадлежит Корейской национальной телекоммуникационной компании и, по всей видимости, продолжает использоваться. Поскольку 1)п!Я)1. была первой СУБД, официально называемой объектно-реляционной системой, приведем ее краткое описание. Оп!891.
обеспечивала возможность построения так называемых федеративных систем баз данных. При этом обеспечивалось единое представление данных, которые могли храниться либо в базе данных, непосредственно управляемой 1)п!БО1., либо в какой-либо из реляционных баз данных, управляемой СУБД Огас!е, !пропп!х, БУЬазе и т. д., либо в какой-либо дореляционной базе данных. Сервер 13п!БО!. обеспечивал инте- 450 Язык баз данных ВОЫ объектные расширения Лекция 19 грированный доступ к данным, управляемым разными СУБД. Одна из возможных конфигураций использования системы показана на рис. 19.1.
Рис. 19.1. Возможная конфигурация системы 11пгБО1 Как показывает рис. 19.1, сервер 11п1БО1 позволяет представлениям работать через еглобальную» схему базы данных Б, полученную из двух «фрагментарных» схем баз данных, которые управляются непосредственно (ЗЛ1БОЕ. и СУБД Огас!е.* Разработчики 11Л1БО1 полагали, что построение полнофункциональной СУБД, основанной на принципиально новой модели данных, крайне проблематично. Был выбран подход к расширению реляционной модели, выражающийся в следующих четырех принципах: ° значениями атрибутов отношений могут быть не только литеральные значения, но и объекты; * Вопросы интерации данных выходят за пределы тематики этого курса.
Однако слелует сделать два замечания. Во-первых, проблематика обеспечения доступа к разнородным данным через некоторую глобальную, нли концептуальную схему интересует сообшсство баз данных в течение нескольких десятков лес Существовали многочисленные попытки обеспечить интеграцию баз данных, представленных во всех возможных моделях (сетевой, иерархической, реляционной, объектно-ориентированной). С точки зрения теории решение проблемы возможно, но на практике это приводит к очень сложным с технической точки зрения реализациям, обладаюшим крайне низкой производительностью. Во-вторых, в МСС в !980-е годы был созлан весьма успешный прототип системы, интегрируюшей 8 П;ориентированные базы данных. Должно быть понятно, что такая интеграция существенно проше в техническом смысле, поскольку глобальная и фрагментарные схемы представлены в близких понятиях. Похоже, что проект Оп1ВОь в большой степени базировался и на этой работе.
451 Основы баз данных Курс ° значения атрибутов отношений не обязательно являются атомарными; ° при построении таблиц (классов) может использоваться механизм наследования; ° классы включают операции. В созданной компанией системе поддерживалось расширение стандарта КОŠ— БОь/Х, одновременно включающее и объектно-ориентированные, и реляционные возможности.
В одном языке поддерживались возможности и определения данных, и манипулирования ими. В качестве языковых средств программирования приложений поддерживались языки С++ и Бшайьабь Внедрение объектных расширений в основные рСуБд В конце !989 г. группа известных специалистов в области языков программирования баз данных опубликовала документ под названием Манифест систем обьектно-ориентированных баз данных (для краткости будем называть его Первым манифестом).
Основным поводом к написанию и публикации этого материала было то, что к тому времени существовал ряд систем управления базами данных, которые, по большому счету, объединяла только общая привязанность к объектно-ориентированным языкам программирования. В Первом манифесте была предпринята попытка дать определение системам объектно-ориентированных баз данных.
Авторы стремились привести описание основных свойств и характеристик, которгями должна обладать система, претендующая на то, чтобы называться системой обьектно-ориентированных баз данных. Первый манифест был написан академическими исследователями; почти все они являлись и являются профессорами различных университетов. Конечно, это нашло свое отражение в стиле Первого манифеста — очень мягком и умеренно рекомендательном (хотя по своему духу предложения этого манифеста были весьма радикальными). Через год после публикации Первого манифеста вышел в свет Манифест систем баз данных третьего поколения, инициатором которого, очевидно, был Майкл Стоунбрейкер (хотя у документа формально имелось много авторов). Мы говорим об этом с уверенностью, поскольку в этом манифесте повсюду видны идеи Стоунбрейкера, использованные им в проектах )пйгеа и Ров[втек В некотором роде Манифест систем баз данных следующего поколения (для краткости мы будем называть его Вторым манифестом) стал ответом миру объектно-ориентированных баз данных со стороны мира Б0) -ориентированных баз данных.
Если Первый манифест был хотя и немного пуганным, но все-такн носил научный характер, то Второй манифест является в большей степени инженерно-публицистическим документом. 452 Язык баз данных 80Ы объектные расширения Лекция 19 Второй манифест можно расценивать как реакцию индустрии СУБД на неприятные для нее измышления науки. Виго)гой манифест (или, вернее, работы, приведшие к его появлению) имел важные последствия. В !995 г. компания 1и!оппгх (ныне входящая в состав 1ВМ) купила компанию Майкла Стоунбрейкера!Пцмга*, и Стоунбрейкер стал техническим директором 1п!огпцх. В начале 1996 г. компания 1и!опшх объявила о выпуске принципиально нового продукта 1пГогпцх 1)ппегаа! Бегуег, в котором, как утверждалось, лучшие черты 1пГопшх Опйпе Зегуег сочетались с развитыми объектными чертами, присущими !Поз!га.
К выпуску 1пГопшх ()и!Уегза! Бегуег очень ревниво отнеслась компания Огас1е, которая немедленно заявила, что у нее готов собственный объектно-реляционный продукт, по всем параметрам превосходяший систему компании 1ЛГопшх. Эта система, получившая название Огас!е8, была выпушена в конце лета 1996 г. Годом позже к группе производителей объектно-реляционных СУБД (ОРСУБД) примкнула компания 1ВМ, выпустившая продукт ОВ2 ()шуегза! ОагаЬазе.
Как выяснилось позже, все наиболее важные свойства этого продукта были реализованы еше в !995 г. в СУБД Г)В2 1ог Согпгпоп Бергегз. Просто компания !ВМ предпочла до поры не афишировать свои расширения. Первые пару лет вокруг объектно-реляционных СУБД стоял большой шум.