quit

Версии системы и поддерживаемые платформы

На рынке высокопроизводительных СУБД Cache' позиционируется как eDBMS, т. е. как СУБД, ориентированная на работу в сетях Internet/Intranet. Разработчику предоставляется обширный набор функций, реализующих большинство стандартных протоколов Internet, таких как SMTP, HTTP, POP3 и др. Кроме этого, разработчику предоставляется развитая технология разработки динамических web-приложений CSP. Поэтому при установке проверяется наличие web-сервера и производится автоматическое конфигурирование подсистемы.

Описание поддерживаемых СУБД Cache' платформ, языков, web-серверов и браузеров для Cache' версии 4.1.1. приводится в последующих таблицах.

Таблица 2. Поддерживаемые платформы.

Платформа

Операционная система

Unicode

ODBC

SQL Шлюз

Notes

Alpha

OpenVMS 7.2, 7.3

+

Alpha

Tru64 UNIX 5.1

+

HP

HP/UX 11i

IBM P Series

AIX 4.3.3, 5.1

+

Red Hat Linux (Intel)

7.1

+

+

Sun Solaris (SPARC)

2.8

+

64-bit only

SuSE Linux (Intel)

7.1

+

+

Windows 95, 98, ME, NT 4 (SP4, SP5, SP6), 2000

+

+

+

СУБД Cache' поддерживает множество национальных языков (Таблица 3). Кроме поддержки языков, специальная утилита CNLS позволяет создавать собственные таблицы трансляции из одного набора символов в другой, задавать различные способы вывода непечатных символов и предоставляет ряд других возможностей. При инсталляции под ОС Windows Cache' автоматически определяет региональные настройки операционной системы и устанавливает соответствующую схему локализации. Также предоставляется возможность установки Unicode (16bit) версии Cache'.

НЕ нашли? Не то? Что вы ищете?

Таблица 3. Поддерживаемые национальные языки.

Язык

8-Bit набор символов

Локализация утилит

Чешский

Latin 2

-

Голландский

Latin 1

+

Английский

Latin 1

+

Французский

Latin 1

+

Немецкий

Latin 1

+

Греческий

Latin G

-

Иврит

Latin H

-

Итальянский

Latin 1

+

Японский

N/A

+

Корейский

N/A

+

Польский

Latin 2

-

Португальский

Latin 1

+

Русский

Latin C

+

Испанский

Latin 1

+

Для русского языка поддерживаются обе таблицы кодировок: Windows-1251 и ISO 8859-5.

СУБД Cache' поддерживает архитектуру, в которой web-сервер и сервер БД могут находиться на разных компьютерах.

Таблица 4. Поддерживаемые Web-серверы

Web-сервер

Платформа

Microsoft IIS / PWS

Windows 95, 98, NT, 2000

Apache 1.3.12

Alpha Tru64 UNIX
FreeBSD (Intel)
HP HP/UX
IBM PowerPC AIX
Red Hat Linux (Intel)
Sun Solaris (SPARC)
SuSE Linux (Intel)
TurboLinux (Intel)
Windows

Netscape / Sun iPlanet 4.0

Alpha Tru64 UNIX
HP HP/UX
IBM PowerPC AIX
Red Hat Linux (Intel)
Sun Solaris (SPARC)

Compaq Secure Web Server 1.0

Alpha OpenVMS 7.3

CSP поддерживает следующие браузеры:

Таблица 5. Поддерживаемые браузеры

Web браузер

Версия

Netscape

Internet Explorer

Как было сказано ранее, Cache' может выступать в роли шлюза к реляционным базам данных (РБД). Официально поддерживаются следующие РБД:

Таблица 6. Поддерживаемые РБД

РБД

Версия

Microsoft SQL Server

7.0
2000

Oracle

8
9i

При инсталляции Cache' происходит автоматическая проверка настроек операционной системы и производится необходимое конфигурирование ресурсов. Так, к примеру, производится автоматическое определение web-сервера, конфигурирование CSP-компонентов и создание необходимых виртуальных директорий.

Наличие Web-сервера не обязательно. Для тестирования CSP-приложений можно воспользоваться встроенным в СУБД Cache' web-сервером (по умолчанию порт 1972). Однако использование встроенного web-сервера для реальной работы не рекомендуется.


После успешной установки Cache' на панели задач MS Windows появится иконка Cache'-куба. С помощью меню, раскрываемого нажатием правой кнопки мыши на Cache'-кубе, можно получить доступ ко всем утилитам СУБД Cache':

Рис.8. Меню Cache'-куба

Описана лишь малая часть того, что реализовано в Cache'. Кроме описанных интерфейсов, Cache' предоставляет ODBC - и JDBC-драйверы для представления данных из СУБД Cache' в виде реляционных таблиц и работы с ними.

СУБД Cache' предоставляет стандартные ActiveX-компоненты, которыми можно воспользоваться при создании пользовательского приложения в среде Visual Basic. Кроме этого, предоставляется мастер создания форм Cache' Form Wizard для облегчения разработки пользовательских форм в среде Visual Basic.

В Cache' реализованы интерфейсы CALLIN/CALLOUT, предназначенные для прямого вызова функций СУБД Cache' из С-программ и вызова функций операционной системы из Cache', Также предоставляется интерфейс для работы с функциями DLL-библиотек.

Cache' предоставляет модуль интеграции со средой проектирования информационных систем Rational Rose. При этом UML-диаграмму классов можно экспортировать напрямую в БД Cache', причем классы, а также типы данных свойств на диаграмме будут полностью соответствовать созданным классам и свойствам классов Cache'.

Разработчику предоставляется также возможность создания описаний классов Cache' на языках Java или С++ и дальнейшей работы с методами и свойствами классов Cache' так, как если бы эти классы были реализованы на Java или С++.

Сейчас уже нет необходимости доказывать преимущества применения XML. Такие задачи как обмен информацией между различными информационными системами, новые протоколы роуминга (например, TAP3), разработка приложений мобильной коммерции решаются с помощью XML. Следовательно, современная СУБД должна предоставлять необходимые механизмы работы с XML.

В Cache' реализована полноценная поддержка XML. Cache' не хранит XML-документы в текстовых файлах, Memo-полях или реляционных таблицах. Полная поддержка Cache' объектной модели позволяет автоматически трансформировать сложные XML-документы в классы объектов Cache'. Из описания классов объектов Cache' можно получить DTD, а сами объекты Cache проецируются в XML-документы. Для создания собственного импорта XML можно воспользоваться SAX-парсером. С помощью Cache' Server Pages можно генерировать не только HTML страницы, но и страницы с XML-содержанием.

Таким образом, появляется возможность использовать XML с Cache' как для обмена информацией между различными информационными системами, так и для реализаций приложений электронной и мобильной коммерции (WAP).

Разработчики крупных приложений (банковские системы, автоматизированные системы расчетов, системы управления предприятием) предпочитают использовать промышленные СУБД. Cache' обладает всеми характеристиками промышленной системы: высокой производительностью, надежностью, масштабируемостью, открытостью и переносимостью. Ядро Cache' - высокопроизводительный Многомерный сервер данных, ориентированный на обработку транзакций. Для обеспечения надежности в Cache' предусмотрены такие механизмы как журнал до и после записи, теневой сервер, репликация, "горячее" резервное копирование и т. д. Протокол Распределенного Кэша - позволяет строить действительно масштабируемые решения на базе Cache'. Протокол Распределенного Кэша (Cache' Distibuted Cache' Protocol) - уникальная сетевая технологи фирмы InterSystems, которая распределяет базу данных по сети в зависимости от работы приложений, оптимизируя производительность и пропускную способность сети. Cache' - "открытая" система, поддерживается множество интерфейсов к средствам проектирования и разработки приложений. Cache' работает практически на всех популярных платформах с наиболее распространенными Web-серверами. При этом обеспечивается полная переносимость приложений с платформы на платформу.

Еще один важный показатель как для производителя, так и для потребителя системы на базе СУБД - стоимость решения. Этот показатель складывается из стоимости разработанной системы, стоимости аппаратного обеспечения, на котором будет работать система, СУБД, стоимости внедрения и сопровождения. Решения на базе постреляционной СУБД Cache' выигрывают по стоимости у конкурентов по всем показателям. Разработчик может быстро и качественно создать систему на базе Cache' за счет поддержки объектно-ориентированного подхода и интеграции со средствами проектирования и разработки, СУБД менее требовательна к аппаратному обеспечению: нужной производительности можно добиться на более дешевом сервере, гибкая лицензионная политика позволит снизить стоимость самой СУБД. Решения на базе СУБД легче сопровождать - система очень надежна и не требует сложного администрирования, кроме этого прекрасно работают и мировой, и российский центр технической поддержки.

Один из партнеров InterSystems - разработчик АСР для операторов сотовой связи выиграл тендер у конкурентов, которые предлагали решение на Oracle, после того как был выполнен пилотный проект. В этом проекте в Cache' и Oracle были загружены данные о звонках, и измерялась скорость закрытия периода для загруженных тестовых данных. Хранимая процедура на Cache' работала 40 минут, на Oracle - 2 часа. При этом Cache' работала на сервере стоимостью 5 тысяч $, а Oracle на сервере Sun за 50 тысяч $.

Таким образом, решения на базе Cache' позволяют разработчикам ПО получить дополнительную прибыль от разработки, а потребителям – получить высокопроизводительные решения, сэкономив на приобретении и эксплуатации приложения.

Заключение

Объектно-ориентированные базы данных вообще и, в частности, СУБД Cache' становится все более популярной в России. На продуктах InterSystems Corp. реализованы банковские системы, автоматизированные системы расчетов для предприятий электросвязи и операторов сотовой связи, системы управления предприятиями, тарификационные системы, Web-порталы и другие интересные приложения. Сегодня есть все предпосылки для роста популярности постреляционной СУБД Cache' в России: промышленная СУБД, поддерживающая объектную модель, предоставляющая разработчику свободу в выборе средств проектирования и разработки, интегрированная с технологией разработки Web-приложений, позволяет быстро создавать надежные высокопроизводительные решения.

Приложение

В прикладных системах, разработанных с применением объектно-ориентированной технологии, требуется использование широко распространенного. Имеющегося в реляционных базах данных инструментария генерации отчетов и анализа данных. А значит, возрастают требования к объектно-ориентированной базе данных по поддержанию структурированного языка запросов – SQL. Следовательно, объектно-ориентированная база данных должна поддерживать SQL для обеспечения выполнения запросов по стандарту, поддерживаемому многими инструментальными средствами.

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

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

Моделирование может осуществляться в обеих парадигмах, что имеет свои преимущества. Новые разработки будут объектно-ориентированными, однако в них также будет:

-  автоматически поддерживаться SQL для доступа к данным с помощью основанных на SQL инструментов;

-  импорт описаний ранее существовавших реляционных таблиц с помощью языка Data Deinition Language (DDL) для поддержки старых SQL-приложений.

При использовании реляционных прикладных программ в Cache’ во многих случаях наблюдается значительный рост производительности системы, причину которой следует искать в улучшенной способности многомерного ядра базы данных обрабатывать транзакции. Но прежде всего миграция делает возможным использование объектной технологии для новых модулей или прикладных систем, включая объектно-ориентированный доступ к уже имеющимся базам данных.

В рамках единой архитектуры данных иерархия класcов Cache’ моделируется неодинаково: используя Cache’Objects, мы оперируем объектами и, напротив, при использовании Cache’SQL – с реляционными таблицами. Несмотря на это, речь идет о едином определении данных и об идентичных, однократно сохраняемых данных.

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

Объектное понятие

Реляционное понятие

Класс

Таблица

Экземпляр

Строка

Идентификатор объекта (OID)

ID-столбец в виде первичного ключа

Свойство-константа

Столбец

Ссылка на хранимый объект

Внешний ключ

Встраиваемый объект

Индивидуальные столбцы

Коллекция-список

Столбец с полем-списком

Коллекция-массив

Подтаблица

Поток данных

BLOB

Индекс

Индекс

Запрос

Хранимая процедура или представление

Метод класса

Хранимая процедура

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

В реляционной модели есть 5 таблиц – Офисы, Продавцы, Клиенты, Товары, Заказы.

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

Выбрав новый пакет Votincev создаем класс Client.

При этом выбираем тип класса – Persistent. После того, как определили класс, определяем каждое свойство класса. Например, Наименование (Naimenovanie), выбираем Тип - %Library. String:

Таким же образом создаем все остальные классы с их соответствующими свойствами. Для того, чтобы показать связи реляционных таблиц необходимо просто при определении свойства класса в качестве Типа указать на связь с другим свойством. Например, для того, чтобы указать на связь свойства Prod_Id класса Offices с соответствующим свойством класса Prodavcy в качестве типа указываем на таблицу Votincev.Prodavcy:

И так далее, пока полностью не опишем все классы, свойства. При определении свойств также можно указывать, является ли данное свойство обязательным, однозначным и т. п. Все указанные действие осуществляются в Cache’ObjectArchitect, причем после определения класса его нужно компилировать. Вот как будет выглядеть класс Продавцы:

Для того чтобы увидеть соответствующее реляционное представление данной базы данных – открываем Cache’SQL-менеджер. Разработчики и администраторы могут использовать его для проверки определений таблиц, администрирования пользователей SQL, создания индексов, представлений, импорта и экспорта данных. В древовидной структуре в левой части можно выбрать Таблицы для просмотра всех таблиц, определенных в текущей области. SQL-менеждер предлагает следующие возможности, связанные с SQL-доступом:

Вы можете видеть данные в типичном табличном представлении.

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

Панель Кэшированные запросы показывает все ODBC-запросы, кэшированные к этому времени, и позволяет вам просматривать их и редактировать.

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

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

Панель Виды открывает список представлений таблиц.

С помощью двух мастеров вы можете легко экспортировать и импортировать данные через ASCII-файлы.

Особый интерес представляет пункт меню Связать таблицу в меню Файл: он позволяет связывать таблицы Cache’ с таблицами, хранимыми в других реляционных азах данных, и получать к ним доступ из Cache’ObjectScript.

Далее можно работать с базой данных как с реляционной базой данных, используя язык SQL. Cache’ поддерживает все элементы ANSI-стандартов. Они подразделяются на три основные области: DQL для запросов к данным, DML для обработки данных и DDL для определения структуры данных. Кроме того, имеются TCL для управления транзакциями, DCL, регулирующий доступ к данным и пользовательские права доступа к ним.

Рассмотрим, например, запрос select * from Votincev. Tovary, при этом видно, что при указании таблицы (класса), сначала необходимо указать пакет (Votincev), в который и был прописан соответствующий класс:

И еще пример команды INSERT:

Реализация SQL в Cache’ предлагает целый ряд расширений по отношению к ANSI-стандарту. Данные расширения поддерживают интеграцию Cache’Objects и Cache’SQL, а также привязку к Cache’ObjectScript.

В эти расширения подпадают следующие категории:

Дополнительные операторы Cache(=*, ->, ?, [, &, ! и т. п.);

Поля-списки;

Соединения (внешнее соединение (One-Way Outer Join) и неявное соединение (Implicit Join));

Ссылки (отношение между таблицами, при котором поле ссылающейся таблицы содержит первичный ключ (ID) записи данных таблицы, на которую она ссылается);

Отношения зависимости (связь между таблицами, в которой строки одной таблицы (подтаблицы) своим существованием зависят от строк другой таблицы (родительской), т. е. строки родительской таблицы имеют отношение 1:n к строкам подтаблицы).

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

Таким образом, на конкретном примере, было рассмотрено создание объектно-ориентированной базы данных на основе ее реляционного аналога, и продемонстрирована работа с этой базой в привычном для всех реляционном представлении, с помощью языка SQL, однако при этом наблюдался значительный рост производительности системы, причина которого – улучшенная способность многомерного ядра базы данных обрабатывать транзакции.

Список литературы

1.  В. Кирстен, М. Ирингер и др. "СУБД Cache'. Объектно-ориентированная разработка приложений", Питер, 2001.

2.  "Стандарт систем управления объектными базами данных ODMG-93", СУБД №01/1996.

3.  Материалы сайта http://www. intersystems. ru/

4.  Постреляционная технология Cache' для реализации объектных приложений. - М, МИФИ, 2001

5.  Материалы Конференция разработчиков "Cache' - Промышленные информационные технологии" http://www. itfond. ru/.

6.  Данные в языках программирования. Абстракция и типология: Сб. статей; Пер. с англ. / Под ред. . — М.: Мир, 1982.

7.  "Системы программирования баз данных и знаний. — Новосибирск: Наука; Сиб. отд-ние, 1990.

8.  Язык описания данных КОДАСИЛ: Пер. с англ. /Под ред. и с предисл. и . — М.: Статистика, 1981.

9.  ANSI NCITS 331.1-1999, SQLJ - Part 1: SQL Routines using the Java Programming Language, 1999.

10.  Atkinson M., Bancilhon F., DeWitt D., Dittrich K., Maier D., and Zdonik S. The Object-Oriented Database System Manifesto. Proc. of Deductive and Object-Oriented Databases, Kyoto, Japan, December 1989. (Есть русск. пер.: . Мани­фест объектно-ориентированных баз данных // СУБД№4. - С. 142-155.)

11.  Bierman G. M. Using XML as an Object Interchange Format. Department of Computer Science. University of Warwick. May 17, 2000. http://www. odmg. org/library/readingroom/oifml. pdf.

12.  Extensible Markup Language (XML) 1.0. W3C Recommendation lO-February-1998. http://www. w3.org/TR/1998/REC-xml/.

13.  Object Management Group. The Common Object Request Broker: Architecture and Specification. OMG Document Number 91.12.1, December 1991.

14.  Stonebraker M. et al. Third-Generation Data Base System Manifesto. Proc. IFIP WG 2.6 Conference on Object Oriented Databases, Windermere, England, July 1990. (Есть русск. пер.: и др. Системы баз данных третьего поко­ления: Манифест // СУБД№2. - С. 143-158.)

15.  The Object Database Standard: ODMG-93. Edited by R. G.G. Cattell. Morgan Kaufmann Publishers, 1994.

16.  The Object Database Standard: ODMG-93 (Release 1.2). Edited by R. G.G. Cattell. Morgan Kaufmann Publishers, 1996.

17.  The Object Database Standard: ODMG 2.0, R. G.G. Cattell and D. K. Barry. Morgan Kaufmann Publishers, Inc., 1997.

Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 4