nsutextbook (1037554), страница 4
Текст из файла (страница 4)
Операции, определяющие поведение типа, единыдля всех объектов одного типа. Свойство едино для всего типа, а все объекты типа такжеимеют одинаковый набор свойств. Значение свойства относится к конкретному объекту.На рис.1 схематично изображены основные элементы ООСУБД.9Рисунок 1.
Основные элементы ООСУБД1.2.2. Идентификатор объектаКак следует из модели данных, каждый объект в базе данных уникален. Существуетнесколько подходов для идентификации объекта.Первый самый простой — объекту присваивается уникальный номер (OID — objectidentificator) в базе, который никогда больше не повторяется, даже если предыдущий объект с таким номером уже удален. Недостаток такого подхода состоит в невозможностиперенести объекты в другую базу без потери связности между ними.Второй подход состоит в использовании составного идентификатора.
Например, вООСУБД Versant идентификатор OID имеет формат xxxxxxxx:yyyyyyyy, где xxxxxxxx —идентификатор базы данных, yyyyyyyy — идентификатор объекта в базе. Составленныйтаким образом OID позволяет переносить объекты из базы в базу без потери связи междуобъектами или без удаления объектов с перекрывающими номерами.Третий подход, который применяется в ООСУБД Jasmine и Caché, состоит в том, чтоOID формируется из имени класса объекта и собственно номера объекта. Идентификаторимеет вид classnamexxxxxxxx, где classname — имя класса, а xxxxxxxx — номер объектаэтого класса. Недостаток такого подхода заключается в том, что проблема переноса объектов не решена полностью. В разных базах могут оказаться объекты одного класса, ауникальность номеров соблюдается только в пределах одной базы.
Преимущество подхода — в простоте извлечения объектов нужного класса: объекты одного класса будут иметьидентификатор, имеющий общую часть.Четвертый вариант, самый лучший, состоит в использовании OID, состоящего изтрех частей: номер базы, номер класса, номер объекта.
Однако и при этом остается вопросо том, как обеспечить уникальность номеров баз и классов на глобальном уровне — прииспользовании ООСУБД на различных платформах, в разных городах и странах.1.2.3. Новые типы данныхОбъектные базы данных имеют возможность создания и использования новых типовданных. В этом заключается одно из принципиальных отличий их от реляционных базданных. Создание нового типа не требует модификации ядра базы и основано на принципах объектно-ориентированного программирования: инкапсуляции, наследовании, перегрузке операций и позднем связывании.В ООСУБД для объектов, которые предполагается хранить в базе (постоянные объекты), требуется, чтобы их предком был конкретный базовый тип, определяющий все основные операции взаимодействия с сервером баз данных.
Концептуально объект характеризуют поведение и состояние. Тип объекта определяется через его поведение, т.е. черезоперации, которые могут быть выполнены объектом.Поэтому для создания нового типа необходимо унаследовать свойства любогоимеющегося типа, наиболее подходящего по своему поведению и состоянию, добавитьновые операции и атрибуты и переопределить, по необходимости, уже существующие.Пример на рис. 2 иллюстрирует возможность наращивания типа «человек» (Person),который может быть «мужчиной» (MalePerson), «женщиной» (FemalePerson), «взрослым»(Adult) или «ребенком» (Child).
Соответственно возможны по парные пересечения этих10типов. Каждый из этих типов может иметь свой набор свойств и операций. Любой объекттипа MalePerson, FemalePerson, Adult или Child является объектом типа Person. Аналогично объект подтипа MaleAdult, полученного наследованием типов MalePerson и Adult, является человеком, мужского пола, взрослым и, соответственно, может пользоваться свойствами и операциями всех своих супертипов.Рисунок 2. Пример наследования типов1.2.4. Оптимизация ядра СУБДВ отличие от объектно-реляционных СУБД, где ядро остается реляционным, а «объектность» реализуется в виде специальной надстройки, ядро ООСУБД оптимизированодля операций с объектами и производит операции кэширования объектов, ведение версийобъектов, разделение прав доступа к конкретным объектам.Поэтому ООСУБД имеет более высокое быстродействие на операциях, требующихдоступа и получения данных, упакованных в объекты, по сравнению с реляционнымиСУБД, для которых необходимость выборки связных данных ведет к выполнению дополнительных внутренних операций.1.2.5.
Язык СУБД и запросыВарианты языков запросов можно разделить на две группы. Первая объединяет языки, унаследованные от SQL и представляющие собой разновидность OQL (Object QueryLanguage), языка, стандартизованного ODMG. Объектно-реляционные СУБД используютразличные варианты ограниченных объектных расширений SQL.Вторая, сравнительно новая (применяется с 1998 года) группа языков запросов базируется на XML. Собирательное название языков этой группы — XML QL (или XQL). Онимогут применяться в качестве языков запросов в объектных и объектно-реляционных базах данных.
Использование в чисто реляционных базах не целесообразно, поскольку языком предусматривается объектная структура запроса.1.2.6. Физические хранилищаКак правило, база данных объединяет несколько хранилищ данных, каждое из которых ассоциируется с одним или несколькими файлами. Хранятся как метаданные (класс,атрибут, определения операций), так и пользовательские данные. Выделяют три типа хранилищ:• системное хранилище, используется для хранения системы классов, создается на этапе формирования базы данных и содержит информацию о классах, о наличии и месторасположении пользовательских хранилищ;• пользовательское хранилище предназначено для хранения пользовательских объектов;• служебное хранилище содержит временную информацию, например сведения о заблокированных объектах, об активных транзакциях, различного вида списки запросов пользователей и т.д.111.3. Постреляционная СУБД CachéВысокопроизводительная постреляционная СУБД Caché появилась в 1997 году,фирмой разработчиком является компания InterSystems.
В настоящее время вышла новаяверсия Caché 5.0.Компания основана в 1978 году. По данным независимого исследования, проведенного компанией IDC, InterSystems входит в десятку ведущих поставщиков СУБД и в сотню ведущих независимых разработчиков программного обеспечения. В числе клиентовкомпании – крупнейшие финансовые компании, такие как Chase Manhattan, Lloyd Bank,большинство крупнейших госпиталей Америки, телекоммуникационные и промышленные компании. В России продукты InterSystems получили наибольшее распространение втелекоммуникационной и банковской сферах.К достоинствам СУБД Caché можно отнести следующие:• Независимость хранения данных от способа представления, одни и те же данныеможно рассматривать либо как объекты, либо как таблицы, либо как глобалы.
Этодостигается с помощью единой архитектуры СУБД Caché.• Высокая производительность обеспечивается благодаря использованию многомерной модели данных и методов разреженного хранения данных, при этом доступ иредактирование требуют гораздо меньше операций ввода-вывода, чем в случае реляционных таблиц, а это означает, что приложение будет работать быстрее.• Масштабируемость. Транзакционная модель ядра Caché позволяет легко наращивать число клиентов (до многих тысяч), сохраняя высокую производительность.Транзакции получают необходимые им данные без выполнения сложных соединений таблиц или «прыжков» из таблицы в таблицу.• Высокая продуктивность процесса программирования обеспечивается предоставлением пользователю объектной технологии построения приложений, мощного инструмента повышения продуктивности программирования.
Даже объекты самойсложной структуры предстают в простом и естественном виде, ускоряя тем самымпроцесс разработки приложений.• Сокращение затрат. В отличие от реляционных, приложения на основе Caché прекрасно обходятся гораздо менее мощным оборудованием и не требуют администраторов баз данных. Управление и эксплуатация систем отличается простотой.• Высокопроизводительный SQL. Существующие реляционные приложения получают значительный выигрыш в производительности даже без изменения кода, используя Caché SQL для доступа к производительной постреляционной базе данныхCaché.• Оригинальная технология CSP для быстрой разработки Web-приложений.1.3.1. Основные компоненты СУБД CachéОсновные компоненты СУБД Caché:• Многомерное ядро системы, ориентированное на работу с транзакциями, позволяетреализовать развитую технологию обработки транзакций и разрешения конфликтов.
Блокировка данных производится на логическом уровне. Это позволяет учитывать особенность многих транзакций, производящих изменения небольшогообъема информации. Кроме этого, в Caché реализованы атомарные операции добавления и удаления без проведения блокировки, в частности, это применяется длясчетчика идентификаторов объектов.• Сервер Caché Objects. Представление многомерных структур данных ядра системыв виде объектов, инкапсулирующих как данные, так и методы их обработки. Позволяет реализовать объектный доступ к данным.12Глава 2. Среда разработки CachéДля разработки приложений и работы с базами данных система Caché предлагаетследующий набор утилит:• Редактор конфигурации• Studio• Terminal• Проводник• Панель управления• SQL-менеджерВсе утилиты запускаются из Caché-куба, который располагается в правой части экрана, щелчком правой кнопки мыши.Утилита «Редактор конфигурации» предназначена для задания и просмотра следующих параметров конфигурации:•системной информации•рабочих областей•баз данных•сетевых соединений•CSP-приложений•лицензии CachéБольшинство параметров конфигурации выполняются динамически и не требуют перезапуска системы Caché.«Редактор конфигурации» может использоваться для создания базы данных.
Базаданных Caché это файл с именем Cache.dat. По умолчанию база данных Caché располагается в директории C:\CacheSys\MGR\User. Для создания своей базы данных в другой директории на вкладке «Базы данных» Редактора конфигурации по кнопке «Мастера…» выбирается соответствующий мастер. По умолчанию начальный размер базы равен 1 МБ. Нарис. 4 изображено окно «Редактора конфигурации».14Рисунок 4. Окно «Редактора конфигурации».На рис. 5 изображено окно выбора мастеров.Рисунок 5. Окно выбора мастераСозданная база данных связывается со своей рабочей областью (namespace), котораятак же может быть создана с помощью Редактора конфигурации, для этого необходимовыбрать мастер «Создание области».