Назад в раздел
Архитектура и функциональные возможности объектно-реляционной СУБД Illustra
Архитектура и функциональные возможности
объектно-реляционной СУБД Illustra
Александр Гвоздев, Redlab
1. Что такое объектно-реляционная СУБД?
Illustra - это первая коммерческая СУБД, эффективно управляющая числовыми данными,
символами, текстами, видео, графикой и документами, находящимися в одном репозитории.
Illustra встраивает объектно-ориентированные возможности в реляционную модель, осуществляя
качественный перелом в 25-летней истории реляционных СУБД.
В настоящее время существуют две преобладающие архитектуры: РСУБД и ОСУБД, лишь
частично решающие проблемы управления сложными данными:
РСУБД: нет сложных типов данных.
РСУБД могут хранить сложные данные только в виде неинтерпретируемых бинарных строк
BLOBs. Попытки "привить" объектно-ориентированные возможности на старую реляционную
модель приводят к созданию неэффективных продуктов, так как основной механизм доступа не
может "понять", как оптимизировать хранение и доступ к объектным данным.
ОСУБД: нет стандартного языка запросов.
Объектно-ориентированные СУБД могут хранить объекты, созданные объектно-
ориентированными приложениями (такими как С++). Однако, без общего языка запросов ОСУБД
не предоставляли гибкости использования, присущей реляционной архитектуре, а также многих
средств высокого уровня, необходимых корпоративным заказчикам, таких как масштабирование
приложений, безопасность данных, серверные функции, возможность одновременного доступа к
данным и т.д.
Объектно-реляционная система: лучшее из обоих
систем.
Illustra Server - первая в мире объектно-реляционная СУБД. Сервер поддерживает объектно-
ориентированное управление сложными типами данных, но в то же время предоставляет
эффективный язык запросов, основанный на расширении индустриального стандарта SQL. Он
поддерживает быструю разработку приложений, значительно повышая их качество. Значительно
снижается стоимость поддержки приложений, так как Illustra работает как единый репозиторий
объектов.
Объектные возможности Illustra.
Определяемые пользователем типы данных.
Множества и массивы как конструкторы типов.
Функции, определяемые пользователем (методы).
Уникальные идентификаторы объектов.
Методы доступа, специфичные для доменов.
Наследование.
Полиморфизм.
Реляционные возможности Illustra.
Оптимизированный язык запросов (SQL).
Представления.
Обеспечение безопасности с помощью предложений grant/revoke.
Возможности одновременной работы пользователей.
Транзакции.
Восстановление после системных сбоев и сбоев носителей.
2. Архитектура Illustra
Сравнение архитектур реляционных и объектно-ориентированных СУБД.
Недостатки объектно-ориентированной архитектуры:
Функции СУБД запускаются в пространстве памяти клиента. Отсюда -
высокие требования к клиентской станции.
Нет стандартного языка запросов. Все обращения к базе данных с
помощью библиотек С/С++ или SmallTalk.
Жесткая привязка к языку 3GL.
Негибкость. Для того, чтобы изменить запрос к базе данных, необходимо
переписать и перекомпилировать программу.
Недостатки реляционной архитектуры.
Ограниченная поддержка типов данных.
Компоненты архитектуры предопределены и жестко связаны друг с другом.
Object wrappers чрезвычайно неэффективны.
Архитектура Illustra - основная особенность - расширяемость сервера:
Компоненты сервера управляются системными таблицами.
Сервер можно расширять определяемыми пользователем типами данных,
функциями, новыми методами доступами.
Возможность создавать функциональные индексы для быстрого доступа к
данным.
Модули DataBlade добавляют новые домены данных.
Illustra DataBlades расширяют объектно-ориентированную программную методологию до
объектно-ориентированной стратегии управления данными. DataBlades включают новые типы
данных и функции, а также могут включать методы визуализации и доступа для поддержки
интеллектуальных запросов к новым типам данных.
3. Функции СУБД
Описание объектных средств Illustra:
Типы данных.
Типы, определяемые пользователем. Множества, массивы и конструкторы
типов. Наследование типов. Преобразования типов.
Функции.
Определяемые пользователем функции. SQL и С- функции. Клиентские и
серверные функции. Переопределение функций при наследовании.
Поддержка сервером механизмов правил и алертеров.
Система правил для поддержки целостности данных. Концепция активного
ядра базы данных в механизме алертеров.
Управление хранением данных.
Хранение элементов данных внутри записей (in row) и в виде больших
объектов (large object). Прозрачность механизма для пользователя.
Возможности time travel.
Хранение всех версий записей. Поддержка запросов "time travel".
4. Факторы, влияющие на производительность объектно-
реляционной СУБД Illustra:
Выполнение функций на сервере. Предотвращает передачу больших
интерпретированных массивов данных клиенту.
Поддержка функциональных индексов. Позволяет ускорить доступ к
данным, основанным на результатах вычисления функций.
Функции сравнения для определяемых пользователем типов. Возможность
ввести такие функции позволяет интеллектуализировать методы поиска по
полям такого типа.
Расширяемость наборов методов доступа. Метод B-tree не всегда является
лучшим решением. Существует возможность определить оптимальный метод
доступа для конкретного типа данных.
5. Illustra DataBlades
Описание, основные рынки приложений и преимущества использования модулей DataBlades:
Text
Вводит новый тип doc и функции для работы с содержимым
документов, включая сравнение документов и проверку на содержание слов.
Определяет новый метод доступа для документов - D-tree.
TimeSeries
Вводит новые типы: calendar и timeseries, возможности определения
календарей и функции для работы с данными временных рядов.
Производительность работы с данными временных рядов
повышается в сотни раз по сравнению с РСУБД.
Типичные приложения: управление финансовыми портфелями,
анализ экспериментальных результатов, анализ видеопоследовательностей.
2D & 3D Spatial:
Добавляет десятки новых типов данных, представляющие собой
двумерные и трехмерные графические объекты, а также более 100 функций
для работы с такими объектами.
Новый метод доступа, наиболее эффективный для таких данных, -
R-tree.
Типичные приложения: геоинформационные системы.
Web
Добавляет новый тип данных anchor. Позволяет легко использовать
новые типы данных и функции преобразования и поиска информации.
Позволяет получать прямые ссылки (URLs) на объекты внутри базы
данных.
SQL обеспечивает дополнительный уровень безопасности
информации в сети.
Типичные приложения: сетевые публикации, каталоги.
Image
Вводит новый тип image, поддерживая 49 форматов изображений, и
продвинутые функции для работы с изображениями.
Позволяет простое расширение для поддержки новых графических
форматов.
Типичные приложения: графические библиотеки.
6. Средства разработки.
Средства разработки для UNIX платформ:
С/С++ интерфейс
LibMI. Библиотека, являющаяся клиентским интерфейсом для разработки
приложений клиент-сервер. Этот интерфейс доступен для Sun OS, Solaris, SGI
Irix, Dec Alpha OSF1, HP-UX, Windows NT и Windows 3.1.
Средства разработки для Windows платформ:
- Visual Basic. У Illustra есть абстрактный VBLIBMI интерфейс к Visual Basic и
она предоставляет компоненты VBX controls для отзыва на серверные
алертеры
- Visual C++. Интерфейс к Visual C++ предоставляется вместе с LIBMI DLL. -
Средства для работы с базами, поддерживающими ODBC. У Illustra есть
собственный ODBC-драйвер для сервера Illustra, поэтому приложения,
поддерживающие ODBC, например, как Microsoft Visual Basic или Access, могут
осуществлять доступ к базам данных Illustra.
LibMI.
Illustra Query Tool (IQT).
IQT - это графический Windows (3.1, 95, NT) интерфейс запросов к серверу Illustra. Он позволяет
вам подключиться к серверу Illustra, выполнять команды Illustra SQL и просматривать
результаты.
7. История компании. Postgres - Montage - Illustra - Informix Universal
Server. Перспективы развития
Компания образована в 1992. Базой для флагманского продукта компании выступил
исследовательский проект Postgres в университете Беркли ( 1985-1992 гг. ). На данный момент
порядка 250 инсталляций в 17 странах. Ключевые партнеры - Sun, Intel, Silicon Graphics, America
On Line, Fujitsu, AVID. Ключевые рынки - финансовые и банковские услуги, Internet, мультимедиа,
структуры государственного управления, геоинформационные системы. Объединение технологий
Illustra и Informix - 1996 год.
|