Файл: Базы данных - уч. пособие.pdf

Добавлен: 28.11.2018

Просмотров: 9911

Скачиваний: 41

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
background image

156

Глава 7. Системы управления базами данных

Рис. 7.7 – Архитектура системы Cach´e

Основные компоненты СУБД Cach´e
TMDM
.

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

TMDM — многомерное ядро системы, ориентированное на рабо-
ту с транзакциями.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Данные в Cach´e хранятся в виде разреженных массивов, носящих название

глобалей. Количество индексов массива может быть произвольным, что позволяет
описывать и хранить структуры данных произвольного уровня сложности. Индек-
сы глобалей могут быть любого литерального типа данных.

Применение разреженных массивов позволяет оптимизировать использование

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

В СУБД Cach´e реализована развитая технология обработки транзакций и раз-

решения конфликтов. Блокировка данных производится на логическом уровне. Это
позволяет учитывать особенность многих транзакций, производящих изменения
небольшого объема информации. Кроме этого, в Cach´e реализованы атомарные
операции добавления и удаления без проведения блокировки, в частности это при-
меняется для счетчика идентификаторов объектов.

Сервер Cach´e Objects. Сервер обеспечивает представление многомерных струк-

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

Объектная модель Cach´e соответствует объектной модели стандарта ODMG

(Object Data Management Group). В соответствии со стандартом ODMG каждый
экземпляр объекта в Cach´e должен быть определенного типа. Поведение объек-
та определяется операциями (методами), а состояние объекта — значениями его
свойств. Свойства и операции составляют характеристики типа. Тип определяет-
ся одним интерфейсом, которому может соответствовать одна или большее число
реализаций. Объектная модель Cach´e представлена на рисунке 7.8. В соответствии
со стандартом в Cach´e реализовано два типа классов:

1) классы типов данных (литералы);

2) классы объектов (объекты).

Классы типов данных определяют допустимые значения констант (литералов)

и позволяют их контролировать. Литерал не имеет дополнительной идентифика-


background image

7.3 СУБД третьего поколения и объектно-ориентированные СУБД

157

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

Классы типов данных подразделяются на два подкласса типов:

1) атомарные;

2) структурированные.

Атомарными литеральными типами в Cach´e являются традиционные скаляр-

ные типы данных (String, Integer, Float, Date и др.). В Cach´e реализованы две
структуры классов типов данных — список и массив. Каждый литерал уникально
идентифицируется индексом в массиве или порядковым номером в списке.

Рис. 7.8 – Объектная модель Cach´e

Различают два подтипа классов объектов: зарегистрированные и незарегистри-

рованные. Зарегистрированные классы обладают предопределенным поведением,
т. е. набором методов, наследуемых из системного класса RegisteredObject и отве-
чающих за создание новых объектов и управление размещением объектов в па-
мяти. Незарегистрированные классы не обладают предопределенным поведением,
разработка функций (методов) класса целиком и полностью возлагается на разра-
ботчика.

Зарегистрированные классы могут быть двух типов — сериализуемые и хра-

нимые. Сериализуемые классы наследуют свое поведение от системного класса
SerialObject. Основной особенностью хранения сериализуемого класса является то,
что объекты сериализуемых классов существуют в памяти как независимые экзем-
пляры, однако могут быть сохранены в базе данных, только будучи встроенными
в другой класс.

Хранимые классы наследуют свое поведение от системного класса Persistent,

который предоставляет своим наследникам обширный набор функций, включаю-
щий: создание объекта, подкачку объекта из БД в память, удаление объекта и т. п.

Объектная модель Cach´e в полном объеме поддерживает все основные концеп-

ции объектной технологии:

• наследование. Объектная модель Cach´e позволяет наследовать классы от

произвольного количества родительских классов;

• полиморфизм. Объектная модель Cach´e позволяет создавать приложения

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


background image

158

Глава 7. Системы управления базами данных

• инкапсуляцию. Объектная модель Cach´e обеспечивает сокрытие отдельных

деталей внутреннего устройства классов от внешних по отношению к нему
объектов или пользователей. Разделяют интерфейсную часть класса и кон-
кретную реализацию. Интерфейсная часть необходима для взаимодействия
с любыми другими объектами. Реализация же скрывает особенности реа-
лизации класса, т. е. все, что не относится к интерфейсной части;

• хранимость. Система Cach´e поддерживает несколько видов хранения объ-

ектов: автоматическое хранение в многомерной базе данных Cach´e; хране-
ние в любых структурах, определенных пользователем; хранение в табли-
цах внешних реляционных баз данных, доступных через шлюз Cach´e SQL
Gateway.

Сервер Cach´e SQL. Сервер осуществляет представление многомерных струк-

тур данных в виде реляционных таблиц. Наряду с реализацией в полном объ-
еме основных принципов объектной технологии в СУБД Cach´e поддерживается
структурированный язык запросов SQL. Это, как уже говорилось, обеспечивает
выполнение запросов по стандарту, поддерживаемому многими инструментальны-
ми средствами. Кроме этого, с помощью единой архитектуры данных Cach´e воз-
можно автоматическое преобразование описаний реляционных таблиц в классы
объектов. При поступлении на сервер Cach´e SQL DDL-описания реляционной таб-
лицы Cach´e автоматически преобразует DDL-описание в свою внутреннюю форму
и сохраняет полученную структуру в словаре данных. С помощью поставляемых
в стандартной комплектации Java- или ODBC-драйверов возможен также и им-
порт данных из реляционных таблиц в многомерные структуры ядра Cach´e. Это
позволяет Cach´e работать с данными как в виде реляционных таблиц, так и в ви-
де классов объектов. Таким образом, при переходе с реляционной технологии на
объектную разработка не начинается с «нуля» — многое делается Cach´e автомати-
чески.

Сервер прямого доступа (Cach´e Direct). Сервер обеспечивает предоставление

прямого доступа к многомерным структурам данных ядра системы. С помощью
сервера Cach´e Direct разработчик получает доступ к многомерным структурам яд-
ра системы. В СУБД Cach´e реализован собственный язык программирования COS
(Cach´e Object Script). COS — это расширенная и переработанная версия языка про-
граммирования M (ANSI MUMPS). В первую очередь, COS предназначен для на-
писания исходного кода методов класса.

Кроме этого, в Cach´e вводится понятие Cach´e-программы, которая не является

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

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

доступа к ним. Для прямого доступа и работы с многомерными структурами яд-
ра системы можно воспользоваться утилитой эмуляции ASCII-терминала Cach´e
Terminal, которая обычно используется для целей обучения языку COS и тестиро-
вания работы терминального приложения.

В стандартной поставке системы разработчику предлагается два средства ад-

министрирования Cach´e: Configuration ManagerControl Panel.


background image

7.3 СУБД третьего поколения и объектно-ориентированные СУБД

159

С помощью Configuration Manager можно выполнить следующие функции ад-

министрирования:

• создать новую БД, удалить или изменить настройки существующей БД.

С точки зрения физического хранения баз данных Cach´e — это бинарный
файл CACHE.DAT. Для каждой БД создается свой файл CACHE.DAT в от-
дельной директории;

• определить область (Namespace) для существующей БД, под которой в Cach´e

понимается логическая карта, на которой указаны имена многомерных мас-
сивов — глобалей и программ файла CACHE.DAT, включая имена каталога-
директории и сервера данных для этого файла. При обращении к глобалям
используется имя области;

• определить CSP-приложение. Для использования CSP-приложений необ-

ходимо определить виртуальную директорию на web-сервере, физическую
директорию хранения CSP-приложений, а также несколько специфических
для CSP настроек, таких как, к примеру, класс-предок для CSP-приложений
(по умолчанию принимается системный класс CSP.Page);

• определить сетевое окружение Cach´e. В Cach´e реализован собственный

протокол для работы БД в распределенной среде, носящий название DCP
(Distributed Cach´e Protocol). С помощью интерфейсов Configuration Manager
можно определить источники данных, а также связи между различными
компонентами сети;

• настроить систему Cach´e. Разработчику предоставляется возможность кон-

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

Утилита Control Panel предоставляет схожий набор функций администрирова-

ния, но также позволяет осуществлять:

• управление процессами Cach´e;

• настройку параметров защиты глобалей, таких как разрешение на редакти-

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

• определение пользователей системы с присваиванием им имени пользова-

теля, пароля и определение параметров доступа;

• просмотр файлов журнала. Журналирование в Cach´e выполняется на уровне

глобалей;

• определение теневых серверов системы;

• создание резервных копий баз данных.

Основой концепции серверных страниц Cach´e является автоматическое созда-

ние по запросу пользователя web-страниц, содержащих требуемую информацию из
БД Cach´e. Вся бизнес-логика CSP-приложений выполняется в непосредственной
близости к хранилищу данных Cach´e, таким образом сокращается объем данных,
которыми обмениваются web-сервер и сервер БД Cach´e, что приводит к выигры-
шу в производительности по сравнению с другими технологиями создания web-
приложений. Для еще большего увеличения производительности CSP-приложений


background image

160

Глава 7. Системы управления базами данных

при обмене данными между сервером Cach´e и web-сервером используются высо-
коскоростные API-интерфейсы.

Серверные страницы Cach´e представляют собой HTML-файлы, содержащие

дополнительные теги Cach´e (Cach´e Application Tags или CATs). Для создания CSP-
приложений можно воспользоваться стандартными средствами разработки HTML-
страниц (Cach´e предоставляет add-in модуль для полной интеграции с Macromedia
DreamWeaver) или, на крайний случай, обыкновенным текстовым редактором.

СУБД Cach´e поддерживает множество национальных языков. Кроме поддерж-

ки языков специальная утилита CNLS позволяет создавать собственные таблицы
трансляции из одного набора символов в другой, задавать различные способы вы-
вода непечатных символов и предоставляет ряд других возможностей. При инстал-
ляции под ОС Windows Cach´e автоматически определяет региональные настрой-
ки операционной системы и устанавливает соответствующую схему локализации.
Также предоставляется возможность установки Unicode-версии (16bit) Cach´e.

Минимальные требования к аппаратному обеспечению для работы под ОС

Windows:

• процессор Intel Pentium;

• ОЗУ — 64 Мбайт (минимум);

• 100 Мбайт свободного места на диске;

• сконфигурированный протокол TCP/IP с фиксированным IP-адресом.

Кроме описанных интерфейсов, Cach´e предоставляет ODBC- и JDBC-драйверы

для представления данных из СУБД Cach´e в виде реляционных таблиц и работы
с ними.

СУБД Cach´e предоставляет стандартные ActiveX-компоненты, которыми мож-

но воспользоваться при создании пользовательского приложения в таких средствах
разработки, как Visual Basic. Кроме этого, предоставляется мастер создания форм
Cach´e Form Wizard для облегчения разработки пользовательских форм в среде
Visual Basic.

Кроме всего перечисленного, в следующей версии Cach´e планируется обес-

печить поддержку XML — общепринятого стандарта для обмена данными между
различными платформами и SOAP-протокола для удаленного вызова функций.

7.3.5 Перспективы развития СУБД

Рассмотрев некоторые СУБД различных поколений, отметим перспективы раз-

вития СУБД.

Перспективы гибридных и расширенных СУБД [6]:

1) системы управления реляционными базами данных будут поддерживать та-

кие элементы ООП, как абстрактные типы данных, расширятся возможно-
сти использования хранимых процедур при взаимодействии с объектными
типами, наследование и инкапсуляция будут использоваться на должном
уровне;

2) ОО-приложения на основе стандарта JDBC будут осуществлять доступ

к реляционным БД;

3) SQL будет содержать возможность построения ОО-конструкций.