Автор работы: Пользователь скрыл имя, 10 Ноября 2009 в 17:01, Не определен
Курсовая работа
Министерство образования и науки РФ
ФЕДЕРАЛЬНОЕ АГЕНСТВО ПО ОБРАЗОВАНИЮ
ГОУ ВПО
«АДЫГЕЙСКИЙ ГОСУДАРСТВЕННЫЙ
ФИЗИЧЕСКИЙ
ФАКУЛЬТЕТ
КУРСОВАЯ
РАБОТА
По
дисциплине: «Сетевые технологии»
«Объектно-ориентированные
базы данных, работающие
в распределенных
сетях»
Майкоп 2006 год
СОДЕРЖАНИЕ
ВВЕДЕНИЕ 5
1. ОБЩИЕ СВЕДЕНЬЯ ОБ ОБЪЕКТНО-ОРИЕНТИРОВАННЫХ
БАЗАХ ДАННЫХ 6
2. ОСОБЕННОСТИ БАЗ ДАННЫХ ПОСТРОЕННЫХ НА СУБД
РАЗНЫХ ФИРМ 9
2.1 Cache' 9
2.2 GemStone 13
2.3 ITASCA 17
2.4 Objectivity /DB 20
2.5 ObjectStore 22
2.6 Versant 24
ЗАКЛЮЧЕНИЕ 28
СПИСОК ИСПОЛЬЗОВАННОЙ ЛИТЕРАТУРЫ 29
ВВЕДЕНИЕ
Возникновение
направления объектно-
Конечно,
ООБД возникли не на пустом месте. Соответствующий
базис обеспечивался как
Что касается связи с предыдущими работами в области баз данных, то наиболее сильное влияние на работы в области ООБД оказали проработки реляционных СУБД и следующего хронологически за ними семейства БД, в которых поддерживалось управление сложными объектами. Эти работы обеспечили структурную основу организации OOБД.
Актуальность.
Несмотря на то, что направление объектно-ориентированных баз данных возникло сравнительно давно и публикации появлялись уже в середине 1980-х. Однако наиболее активно это направление стало развиваться в последние годы. Это подтверждается тем, что с каждым годом увеличивается число публикаций и реализованных коммерческих и экспериментальных систем.
Цель работы.
1. ОБЩИЕ СВЕДЕНЬЯ ОБ
ОБЪЕКТНО-ОРИЕНТИРОВАННЫХ БАЗАХ ДАННЫХ
Объектно-ориентированные базы данных применяются с конца 1980-х годов для обеспечения управления базами данных, приложениями, построенными в соответствии с концепцией объектно-ориентированного программирования. Объектная технология расширяет традиционную методику разработки приложений новым моделированием данных и методами программирования. Для повторного использования кода и улучшения сохранности целостности данных в объектном программировании данные и код для их обработки организованы в объекты. Таким образом, практически полностью снимаются ограничения на типы данных.
Если данные состоят из коротких, простых полей фиксированной длины (имя, адрес, баланс банковского счета), то лучшим решением будет применение реляционной базы данных[4]. Если, однако, данные содержат вложенную структуру, динамически изменяемый размер, определяемые пользователем произвольные структуры (мультимедиа, например), представление их в табличной форме будет, как минимум, непростым. В то же время в ООСУБД каждая определенная пользователем структура – это объект, непосредственно управляемый базой данных.
В реляционных СУБД связи управляются пользователем, создающим внешние ключи. Затем для обнаружения связей динамически во время выполнения система просматривает две (или больше) таблицы, сравнивая внешние ключи до достижения соответствия. Этот процесс, называемый объединением (join), является слабой стороной реляционной технологии. Если более двух или трех уровней объединений – сигнал, чтобы искать лучшее решение. В ООСУБД пользователь просто объявляет связь, и СУБД автоматически генерирует методы управления, динамически создавая, удаляя и пересекая связи. Ссылки при этом прямые, нет необходимости в просмотре и сравнении или даже поиске индекса, который может сильно сказаться на производительности. Таким образом, применение объектной модели предпочтительнее для баз данных с большим количеством сложных связей: перекрестных ссылок, ссылок, связывающих несколько объектов с несколькими (many-to-many relationships) двунаправленными ссылками[1].
В отличие от реляционных, ООСУБД полностью поддерживают объектно-ориентированные языки программирования. Разработчики, применяющие С++ или Smalltalk, имеют дело с одним набором правил (позволяющих использовать такие преимущества объектной технологии, как наследование, инкапсуляция и полиморфизм)[7]. Разработчик не должен прибегать к трансляции объектной модели в реляционную и обратно. Прикладные программы обращаются и функционируют с объектами, сохраненными в базе данных, которая использует стандартную объектно-ориентированную семантику языка и операции. Напротив, реляционная база данных требует, чтобы разработчик транслировал объектную модель к поддерживаемой модели данных и включил подпрограммы, чтобы обеспечить это отображение во время выполнения. Следствием являются дополнительные усилия при разработке и уменьшение эффективности[2].
И, наконец, ООСУБД подходят (опять же без трансляций между объектной и реляционной моделями) для организации распределенных вычислений. Традиционные базы данных (в том числе и реляционные и некоторые объектные) построены вокруг центрального сервера, выполняющего все операции над базой. По существу, эта модель мало отличается от мэйнфреймовой организации 60-х годов с центральной ЭВМ – мэйнфреймом (mainframe), выполняющей все вычисления, и пассивных терминалов. Такая архитектура имеет ряд недостатков, главным из которых является вопрос масштабируемости. В настоящее время рабочие станции (клиенты) имеют вычислительную мощность порядка 30 - 50 % мощности сервера базы данных, то есть большая часть вычислительных ресурсов распределена среди клиентов. Поэтому все больше приложений, и в первую очередь базы данных и средства принятия решений, работают в распределенных средах, в которых объекты (объектные программные компоненты) распределены по многим рабочим станциям и серверам и где любой пользователь может получить доступ к любому объекту. Благодаря стандартам межкомпонентного взаимодействия все эти фрагменты кода комбинируются друг с другом независимо от аппаратного, программного обеспечения, операционных систем, сетей, компиляторов, языков программирования, различных средств организации запросов и формирования отчетов и динамически изменяются при манипулировании объектами без потери работоспособности[3].
2. ОСОБЕННОСТИ БАЗ
ДАННЫХ ПОСТРОЕННЫХ НА СУБД РАЗНЫХ
ФИРМ
2.1 Cache'
При всех достоинствах современной объектной технологии разработки баз данных имеется несколько препятствий, которые удерживают разработчиков от принятия решения о переходе с реляционной технологии на объектную. Основным препятствием является значительный объем разработок, опирающихся на реляционные СУБД. Ведь при переходе на объектную технологию необходимо многое начинать «с нуля», и поэтому возникает вопрос целесообразности такого перехода. Кроме того, объектная технология, поддерживаемая в ряде постреляционных СУБД, не имеет развитого и стандартизированного языка генерации отчетов и анализа данных, каким является структурированный язык запросов SQL. Данные проблемы были решены при создании постреляционной СУБД Cache' от InterSystems. СУБД Cache' обеспечивает не только реализацию основных возможностей объектно-ориентированной технологии, но и позволяет во многом облегчить переход с реляционной технологии на объектную, а также может выступать в роле шлюза к реляционным базам данных[5].
Отличительной особенностью СУБД Cache' является независимость хранения данных от способа их представления, что реализуется с помощью, так называемой, единой архитектуры данных Cache'. В рамках данной архитектуры существует единое описание объектов и таблиц, отображаемых непосредственно в многомерные структуры ядра базы данных, ориентированных на обработку транзакций. Как только определяется класс объектов, Cache' автоматически генерирует реляционное описание данных этого класса в формате SQL. Подобным же образом, как только в Словарь данных поступает DDL-описание в формате реляционной базы данных, Cache' автоматически генерирует реляционное и объектное описание данных, устанавливая тем самым доступ в формате объектов. При этом все описания ведутся согласованно, все операции по редактированию проводятся только с одним описанием данных. Это позволяет сократить время разработки, сэкономить вычислительные ресурсы и приложения будут работать значительно быстрее.
БД Cache' была первой базой данной, предназначенной для работы в сети Internet/Intranet. В версии Cache' 4.0 реализована технология создания динамических web-приложений Cache' Server Pages (CSP), которая пришла на смену технологии Weblink предыдущих версий Cache'. Кроме этого, системная библиотека «%Net» предоставляет классы, реализующие протоколы SMTP, POP3, HTTP, FTP и др.
Основные
компоненты СУБД Cache'. На рис. 1. представлена
архитектура Cache'.
Рисунок 1. Архитектура системы Cache'.
Основными компонентами СУБД Cache' являются следующие:
TMDM.
Многомерное ядро системы,
Сервер Cache' Objects. Представление многомерных структур данных ядра системы в виде объектов, инкапсулирующих как данные, так и методы их обработки.
Сервер Cache' SQL. Представление многомерных структур данных в виде реляционных таблиц.
Сервер
прямого доступа. Предоставление прямого
доступа к многомерным
Рассмотрим подробнее назначение и функциональные возможности основных компонентов системы.
TMDM - многомерное ядро Cache', ориентированное на работу с транзакциями.
Данные в Cache' хранятся в виде разреженных массивов, носящих название глобалей. Количество индексов массива может быть произвольным, что позволяет описывать и хранить структуры данных произвольного уровня сложности. Индексы глобалей не типизированы, т.е. они могут быть любого литерального типа данных.
Применение разреженных массивов позволяет оптимизировать использование объема жесткого диска и сократить время, требуемое на выполнение операций ввода/вывода и извлечение данных.
В СУБД Cache' реализована развитая технология обработки транзакций и разрешения конфликтов. Блокировка данных производится на логическом уровне. Это позволяет учитывать особенность многих транзакций, производящих изменения небольшого объема информации. Кроме этого, в Cache' реализованы атомарные операции добавления и удаления без проведения блокировки, в частности, это применяется для счетчика ID объектов в базе данных[6].
Сервер
Cache' Objects. В соответствии с ODMG каждый объект
Cache' имеет определенный, единственный
тип. Поведение объекта определяется операциями
(методами), а состояние объекта - значениями
его свойств. Свойства и операции составляют
характеристики типа. Тип определяется
одним интерфейсом, которому может соответствовать
одна или большее число реализаций. Объектная
модель Cache' представлена на рис. 2.
Информация о работе Объектно-ориентированные базы данных, работающие в распределенных сетях