на тему рефераты
 
Главная | Карта сайта
на тему рефераты
РАЗДЕЛЫ

на тему рефераты
ПАРТНЕРЫ

на тему рефераты
АЛФАВИТ
... А Б В Г Д Е Ж З И К Л М Н О П Р С Т У Ф Х Ц Ч Ш Щ Э Ю Я

на тему рефераты
ПОИСК
Введите фамилию автора:


Реферат: Объектно-ориентированные СУБД


распределенных систем обеспечивается принципиально более высокийуровень

обеспечения отказоустойчивости. Назовем обязательные для современных

распределенных СУБД свойства:

  прозрачный доступ ко всем объектам независимо от ихместоположения, благодаря

  чему пользователю доступны все сервисы СУБД и может производиться

  перераспределение компонентов без нежелательных последствий.

  так называемый “трехфазный монитор транзакций” (third-party transaction

  monitor), благодаря которомутранзакция выполняется не в два, а в три этапа –

  сначала посылается запрос о готовности к транзакции.

Что произойдет, если один из компонентов выйдет из строя? Система, созданная в

соответствии только с вышеизложенными доводами,приостановит работу всех

пользователей и прервет все транзакции. Поэтому важно такое свойство СУБД, как

независимость компонентов.

При сетевом сбое сеть разделяется на части, компоненты каждой из которых не

могут сообщаться с компонентами другой части. Для того,чтобы сохранить

возможность работы внутри каждой такой части, необходимо дублирование критически

важной информации внутри каждого сегмента. Современныесистемы позволяют

администратору базы данных динамически определять сегменты сети, варьируя таким

образом уровень надежности всей системы в целом.

И, наконец, о копировании (replication) данных. Простейшим способом является

добавление к каждому (основному) серверу резервного. После каждойоперации

основной сервер передает измененные данные резервному, который автоматически

включается в случае выхода из строя основного. Естественно, такаясхема не лишена

недостатков. Во-первых, это приводит к значительным накладным расходам при

дублировании данных, что не только сказывается напроизводительности, но и само

по себе является потенциальным источником сбоев. Во-вторых, в случае сбоя,

повлекшего за собой разрыв соединения между двумясерверами, каждый из них должен

будет работать в своем сегменте сети в качестве основного сервера, причем

изменения, сделанные на серверах за время работы втаком режиме, будет невозможно

синхронизовать даже после восстановления работоспособности сети.

Более совершенным является подход, когда создается необходимое (подбираемое в

соответствии с требуемым уровнем надежности) числокопий в сегменте. Таким

образом увеличивается доступность копий и даже (при распределении нагрузки между

серверами) повышается скорость чтения. Проблеманевозможности обновления данных

несколькими серверами одновременно в случае их взаимной недоступности решается

за счет разрешения проведения модификацийтолько в одном из сегментов, например

имеющем наибольшее число пользователей. При хорошо настроенной схеме кэширования

затраты на накладные расходы придублировании модифицированных данных близки к

нулю.

5.3 Стандартыобъектных баз данных.

Для обеспечения переносимости приложений (приложение может работать на разных

СУБД) и совместимости с СУБД (может взаимодействовать сразными СУБД),

естественно, необходима выработка стандартов. Сразу заметим, что установление

стандартов лишает производителя в некоторой степени свободы впринятии решений и

увеличивает стоимость продукта за счет лицензионных отчислений и больше не будем

обсуждать целесообразность (прямо скажем,очевидную) стандартизации.

В области объектных СУБД в настоящее время выработаны стандарты для:

  объектной модели;

  языка описания объектов;

  языка организации запросов (Object Query Language – OQL);

  “связующего” языка (C++ и, конечно же, Smalltalk);

  администрирования;

  обмена (импорт/экспорт);

  интерфейсов инструментария и др.

Хотя у Microsoft и свое мнение на этот счет, организацией, выработавшей наиболее

используемые насегодня и устоявшиеся стандарты, является консорциум поставщиков

ООСУБД ODMG (ООСУБД), которого поддерживаютпрактически все действующие лица

отрасли. В сотрудничестве с OMG, ANSI, ISO и другимиорганизациями был создан

стандарт ODMG-93. Этот стандарт включает в себя средства для

построениязаконченного приложения, которое будет работать (после перекомпиляции)

в любой совместимой с этой спецификацией ООСУБД. В книгу ODMG-93 входят

следующие разделы:

  Язык определения объектов (Object Definition Language – ODL);

  Язык объектных запросов (Object Query Language – OQL);

       Рисунок 4 Схема использования ODL для построения приложения.

  Связывание с C++;

  Связывание со Smalltalk.

ODL. В качестве языка определения объектов (ODL) ODMG был выбран существующий

язык IDL(Interface Definition Language – язык описания интерфейсов), который был

дополнен такими необходимыми дляобъектных БД свойствами, как определение

коллекций, двунаправленных связей типа “многие-ко-многим”, ключей и др. В

сочетании со средствами языка IDL определения атрибутов и операций, это

позволяет определять практически любые объекты. Все дополнения реализованы в

видедоопределения методов, что обеспечивает совместимость со стандартами OMG,

например стандартом CORBA.

Рисунок 4 показывает работоспособную схему для построения приложения на

стандартных языках программирования, в процессе которой

автоматическигенерируются метаданные, заголовочные файлы и методы. Приведем

также пример на языке ODL из “белой книги” компании Objectivity,

которыйиллюстрирует связи типа “один-ко-многим”, объявленные между

преподавателем и студентами:

interface professor : employee {

     attribute string <32> name;

     unique attribute lang unsigned ssn;

     relationship dept works_in inverse faculty;   relationship set<section>

teaches inverse taught_by;    . . . operations . . .

     {

interface section : class {

     . . . taught_by: professor . . . ;

     . . .

     }

OQL. За основу языка OQL была взята команда SELECT языка SQL2 (или SQL-92) и

добавлены возможностьнаправлять запрос к объекту или коллекции объектов и

возможность вызывать методы в рамках одного запроса. Данные, полученные в

результате запроса, могутбыть скалярными (включая кортежи), объектами или

коллекциями объектов. Некоторые примеры наязыке OQL (тот же источник):

• Select x from x in faculty where x.salary >

          x.dept.chair.salary

•sort s in (select struct (name: x.name, s:x.ssn) from

          x in faculty where for      all y in

          x.advisees:y.age<25) by s.name

• Chair.salary

• Students except TAs

•list (1,2) + list (count (jse.advisees), 1+2)

• exists x in faculty [1:n]: x.spouse.age<25

C++. Спецификация ODMG-93 позволяет программистам легко использовать объекты в

то время как ООСУБД прозрачнымобразом управляет ими. При определении стандарта

члены ODMG руководствовались следующими принципами:

  Использование стандартных компиляторов обеспечивается тем, что все расширения

  реализуютсясредствами языка – библиотеками классов и перегрузкой операторов.

  Определение временных экземпляров (Transient Instance) и экземпляров,

  создаваемых на длительный срок (Transient Instance) припомощи оператора new().

  При перегрузке оператора new() оба типа экземпляров могут создаваться от

  одного класса, который может существовать продолжительноевремя.

  Обеспечение устойчивости через стандартный механизм наследования; пользователь

  можетопределять экземпляры временные и рассчитанные на продолжительное

  использование средствами оригинальной версии языка.

  Использование специального механизма указателей (Smart Pointers). Связи между

  объектами объявляются при помощи шаблона Ref<> и перегрузки оператора ->; это

  позволяет использовать специальные указатели(контролируемые системой; см.,

  например, идентичность в словарике (стр. 21) и упоминание косвеннойадресации

  (стр. 10) как обычные.

class Professor: Employee {

          long ssn;

          char* name;

          int age;

          Ref<Department>dept inverse faculty;

          Set<Section> teachesinverse taught_by;

          . . .

          void grant_tenure()

          void assign_course(section)

          }

. . .

Ref<Professor>prof;

. . .

prof = new(db, Professor);

prof->name="Smith";

prof->age+prof->age+1;

На этом, пожалуй, чувство благодарности компании Objectivity в значительной мере

ослабеет, так как примеров на языке Smalltalk найти не удалось.

Smalltalk. ODMG-93 поддерживает ту же объектную модель для Smalltalk, что и для

С++, IDL и запросы на языке OQL; это позволяет разделятьодин и тот же объект

пользователям С++ и Smalltalk. Спецификация поддерживает типы (возможны

бестиповые поля) и синтаксис оригинальной версии Smalltalk.

       Рисунок 5 ООСУБД, построенная на основе стандартов ODMG во взаимодействии

      с CORBA.

Взаимодействие с другими стандартами. Многие стандарты совместимы с объектными

базами данных, например STEP, CFI,TINA-C, ISO ODP, ANSI X3H7, OpenGIS и др.

Сейчас они могут напрямую взаимодействовать с любой стандартной ООСУБД, хотя в

некоторые из них и быливнесены изменения для обеспечения совместимости. Два

других стандарта заслуживают более детального описания – OMGи SQL.

Стандарты OMG. Первым результатом деятельности OMG стало утверждение (OMG не

создает стандартов, апринимает одну из существующих реализаций) Архитектуры

Брокера Объектных Запросов (Common Object Request Broker Architecture – CORBA)

–средства диспетчеризации запросов между объектами и пользователями; в

дальнейшем были добавлены некоторые сервисы. Интерфейс ODMG сейчас

полностьюадаптирован к спецификации Persistence Object Service консорциума OMG,

что позволяет пользователям систем, основанных на архитектуреCORBA, пользоваться

преимуществами от ООСУБД, которые могут содержать объекты, отвечающие стандарту

OMG и используемые так же, как и любые другие (“мелкие”)объекты спецификации OMG

(Рисунок 5). Объекты OMG в свою очередь доступны через интерфейс ODMG.

Язык SQL. Из-за распространенности SQL был заложен в основу OQL,который был

дополнен средствами поддержки объектной модели. В настоящее время

разрабатывается версия языка SQL,известная под названием SQL3, в которой будут

реализована поддержка объектов и SQL будет приведен в соответствие современным

понятиям о полноценном языкепрограммирования. В отличие от ODMG, в SQL не

планируется привязка к ODL, а также C++ и Smalltalk, которыеважны для

пользователей ООСУБД. Несмотря на это, возможности SQL3 в организации запросов

совпадают с возможностями OQL. Когда SQL3 будет готов (разработки ведутся сейчас

на раннейстадии обсуждения основных вопросов относительно объектной модели),

ODMG, вероятно, дополнит его, как это уже сделано для С++ и Smalltalk.

5.4Поставщики ООСУБД.

       Рисунок 6 Современный рынок СУБД.

Список современных коммерческих объектно-ориентированных систем включает в себя

следующие продукты:

  Objectivity/DB компании Objectivity, Inc. (последняя версия – 2.1) идеально,

  позаявлениям фирмы, подходит для приложений, которые работают в распределенных

  средах, требуют гибкой модификации данных, организации сложных связей, а

  такженуждаются в высокой производительности и работы с большими объемами

  данных. Вероятно, все компании, производящие ООСУБД, ставят своей целью

  сложить такоевпечатление относительно собственных разработок у читателей

  распространяемых ими документов (хотя некоторые и делают это в более

  деликатной форме). Болеесодержательно, Objectivity обеспечила интеграцию

  инструментария СУБД и разработки приложений с такимисредствами

  программирования, как SoftBench и C++ SoftBench. Благодаря интегрированному

  графическому интерфейсу разработки схемы БД и инструментамотладки и анализа

  упрощается задание модели базы данных и, соответственно, разработки приложений

  для Objectivity/DB.

  СУБД GemStone корпорации GemStone Systems, Inc. известнав последней редакции

  под номером 5.0. GemStone традиционно сосредоточена на рынке Smalltalk (хотя

  не так давно и была выпущена версия для С++) и имеетзаказчиков, способных

  продемонстрировать на производстве крупномасштабные, целевые применения ее

  продуктов. К сожалению, списком этих заказчиков объеминформации, которую

  компания хочет донести до интересующихся (WWW), ограничивается.

  ONTOS Corp., разработчик СУБД ONTOS (кто быподумал), по традиции занимается

  развитием сервера объектно-ориентированной СУБД, но в последнее время придает

  особое значение своим Службам ИнтеграцииОбъектов (Object Integration

Services).

  Построенная на основе реляционной СУБД AllBase, система OpenODB фирмы

  Hewlett-Packard также, как и Objectivity/DB,интегрирована с системой SoftBench

  и существует в версии для С++. Благодаря глубокой интеграции, SoftBench

  распознает файлы приложений OpenODB для установки оптимальнойконфигурации,

  может создавать базы данных формата OpenODB из своей интегрированной среды,

  обеспечивает оперативную помощь из среды разработки и т. д.

  Object Design Inc. со своей СУБД ObjectStore занимаетлидирующее положение в

  отрасли, осуществляя около 33% поставок на рынке объектно-ориентированных СУБД

  и последняя модернизация системы (клиент языкаSQL и шлюз к реляционной СУБД)

  должны только укрепить положение фирмы. Object Design поддерживает версиисвоей

  СУБД как для С++, так и для Smalltalk.

  Versant Object Technology, Inc. (СУБД Versant) проводит двойнуюстратегию,

  предлагая средство обеспечения объектно-ориентированной СУБД высокого класса

  для телекоммуникаций и инструментальные средства Smalltalk дляболее общих

  случаев разработки приложений. Используя разработанный фирмой интерфейс

  VERSANT Smalltalk Language Interface, СУБД совместима как с

  версиейязыкаSmalltalk компании  ParcPlace-Digitalk, так и с Visual Age for

  Smalltalk корпорации IBM.

  СУБД UniSQL компании UniSQL Inc. – хорошоустоявшаяся система, позволяющая

  пользователям осуществлять запросы и модификацию базы при помощи

  разработанного компанией языка SQL/X (подобные языки, носящие условное

  название Object SQL, разработаны и некоторымидругими поставщиками). Вся БД

  UniSQL может состоять одновременно из связей в локальных РСУБД иклассов в

  локальных объектных базах UniSQL. Благодаря механизму каталогов, СУБД передает

  запросы имодификации данных в локальные базы данных и, обработав (перевод в

  другой формат, группирование, сортировка и т. д.) полученный от них

  результат,возвращает его пользователю.

Кроме того ООСУБД предлагают: Object Database, Inc. (Object Database),

ItascaSystems  Inc. (Itasca) O2 Technology (O2) и некоторые другие компании.

6. Заключение.

В 1996 г. наметился заметный сдвиг в области освоения объектных СУБД. Уже

существуют примеры практического их использования крупнымибиржами, банками,

страховыми компаниями, а также в сфере производства и телекоммуникаций, где

базам данных, содержащим гигабайты информации, приходитсяобслуживать сотни

пользователей. Они оказались хорошей альтернативой в тех случаях, когда

применение реляционных БД вынуждало строить сложную схему счрезмерно большим

числом межтабличных связей.

Благодаря значительному прогрессу в развитии объектной технологии, за последние

пять лет производителям удалось довести свои ООСУБД дотакого уровня, что они

стали вполне отвечать реальным требованиям рынка.

Несмотря на то, что технология объектных СУБД созрела для крупных проектов, для

действительно массового ее распространения необходимспециальный инструментарий.

В настоящий момент ощущается настоятельная потребность в интеграции ООСУБД с

существующими инструментальными средствами. Разработчикиуже сегодня могли бы

продуктивно использовать версии Visual Basic, Power Builder, Forte или Delphi,

поддерживающие ООСУБД.Большинство продуктов для создания приложений в той или

иной мере являются объектно-ориентированными, но работают по-прежнему с

реляционными БД.Специалисты считают, что партнерство производителей ООСУБД и

средств программирования способно привести к появлению столь

необходимогоинструментария.

Эксперты уже неоднократно объявляли наступающий год “годом объектных баз

данных”, однако сейчас все говорит о том, что 1997 г.действительно имеет шансы

наконец им стать. Основными стимулами растущего интереса к ООСУБД аналитики

считают расширение применениямультителиа-приложений и новых средств, улучшающих

их стыкуемость с существующими базами данных.

7. Глоссарий

 4GL (4th Generation Language) – Язык программирования четвертого поколения

&#168;Языкпрограммирования, при создании которого используются языки программирования

третьего уровня (3GL) –процедурные языки типа C и Pascal. 4GL проще в

использовании, чем 3GL, им обычно отдают предпочтение при составлении программ

обслуживания баз данных и применяют всочетании с соответствующими средствами

разработки.

 Blob (Binary Large Object) – Двоичный большой объект, блоб. &#168;Длинныйлинейный

блок данных (например, цифровое изображение или видеоклип), который наиболее

подходит для хранения в ООСУБД.

 CORBA (Common Object Request Broker Architecture) Архитектура брокера объектных

запросов &#168;Стандартвзаимодействия распределенных компонентов, разработанный OMG.

 DBMS (Database Management System) – Система управления базами данных, СУБД

 N - звенная архитектура (N-Tier Model) &#168;Архитектура клиент-серврер, в которой

применяются средства разбиения программили распределенные объекты для разделения

вычислительной нагрузки среди такого количества серверов приложений, которое

необходимо при имеющемся уровненагрузки. При многозвенной модели системы

количество возможных клиентских мест значительно больше, чем при использовании

двухзвенной модели. См также middleware.

 ODBMS (Object Database Management System) – Объектно-ориентированная СУБД –

ООСУБД. &#168;СУБД, хранящая данные и взаимосвязи между ее элементами непосредственно

в самой базеданных в виде объектов, содержащих, как правило, алгоритмы обработки

этих данных.

 ODMG (Object Database Management Group) &#168;Консорциум производителейобъектных баз

данных для выработки стандартов (ODMG-93, ODMG-95).

 OMG (Open Management Group) &#168;Консорциум поставщиков всфере объектной технологии

для выработки стандартов межкомпонентного взаимодействия. Объединяет практически

всех ведущих производителей (более чем500); членство Microsoft, видимо, лишь

условно.

 OQL (Object Query Language) Язык объектных запросов &#168;Разработанныйконсорциумом

ODMG язык описания запросов, за основу которого был принят SQL-92.

 RDBMS (Relational Database Management System) – Реляционная СУБД – СУБД,

хранящая взаимосвязи междуэлементами в виде двумерных таблиц и использующая для

запросов язык SQL.

 SQL (Structured Query Language) – Язык структурированных запросов

&#168;Интерпретируемыйязык, описывающий операции (создание, обработка и извлечение)

над реляционнымибазами данных.

 Архитектура клиент-сервер (Client-server architecture) &#168;Архитектура,

обеспечивающаяраспределение нагрузки между клиентом и сервером. Обычно эти

функции выполняют два разных компьютера, объединенных при помощи сети.

 Атрибуты (Attributes) &#168;Видимая за пределами объекта информация о состоянии

этого объекта.

 “Белая книга” (White Paper) &#168;Официальноеиздание.

 Гибриды (Hybrids) &#168;1. Средства связи между мирами объектных и реляционных баз

данных, включая базыданных, которые хранят информацию в реляционной форме, но

используют объектные буферные средства. См. также объектно-реляционныеметоды 2.

СУБД, которые могут хранить и табличные данные, и объекты. Этого определения я

старалсяпридерживаться.

 Идентичность (Identity) &#168;Возможность получения уникального адреса объекта

независимо от его местоположения и атрибутов.

 Инкапсуляция (Encapsulation) &#168;Объединениеданных и кода в один модуль – объект,

доступ к которому может осуществляться только через строго определенный

интерфейс.

 Метаданные (Metadata) &#168;Данные, являющиеся описанием других данных (например,

схема базы данных по отношению кее содержимому).

 Наследование (Inheritance) &#168;Механизм, благодаря которому определения класса

распространяется на классы, лежащие нижеего в иерархии обобщения классов. Это

позволяет многократно изменять определения, внося по мере необходимости

изменения, связанные соспециализацией.

 Объектно-реляционные методы (Object-relational  Approaches) &#168;Подходы,

позволяющиевоспользоваться преимуществами объектных баз данных, не отказываясь

полностью от реляционных БД.

 Отображение (Mapping) &#168;Процесс установления связей между приложениями,

построенными вокругобъектно-ориентированных и реляционных баз данных.

 Полиморфизм (Polymorphism) &#168;Способностьобъектов различных классов и самих

классов удовлетворять одним и тем же протоколам или отдельным

сообщениям,выполняя при этом различные действия, предписываемые их собственными

методами.

 Промежуточное обеспечение (Middleware) &#168;ПО,служащее посредником между клиентом

и сервером, например, для предоставления общих интерфейсов. Следуя традиции, и я

тоже напишу, что промежуточное ПО – этослэш в термине “клиент/сервер”.

 Протокол (Protocol) &#168;Набор сообщений, на которые может ответить класс (протокол

класса) или его объекты(протокол объекта). Протокол определяется заданными

методами. Все объекты одного класса отвечают одному протоколу.

 СУБД – Система Управления Базами Данных.&#168;Лежащая в основе базы данныхприкладная

программа, выполняющая операции над хранимой информацией.

 Транзакция (Transaction) – обработка запроса &#168;Выполнение элементарнойцелостной

операции над данными, в течение которой база данных находится в неустойчивом

состоянии.

 ООСУБД (ODBMS)– Объектно-Ориентированная Система Управления Базами Данных.


Страницы: 1, 2


на тему рефераты
НОВОСТИ на тему рефераты
на тему рефераты
ВХОД на тему рефераты
Логин:
Пароль:
регистрация
забыли пароль?

на тему рефераты    
на тему рефераты
ТЕГИ на тему рефераты

Рефераты бесплатно, реферат бесплатно, курсовые работы, реферат, доклады, рефераты, рефераты скачать, рефераты на тему, сочинения, курсовые, дипломы, научные работы и многое другое.


Copyright © 2012 г.
При использовании материалов - ссылка на сайт обязательна.