Существуют варианты U2 для Linux, AIX и Windows.

Объектные БД

Естественным развитием MVDB стало появление объектных баз данных.

Cach?

InterSystems, www.intersystems.ru

Оценка: очень хорошо

Когда-то БД этого класса разных разработчиков (например M, MSM) конкурировали между собой, и в результате ряда слияний и поглощений сегодня на рынке самым сильным среди объектных СУБД стал продукт Cach? компании InterSystems.

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

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

Например, широкое распространение системы на Cach? получили в медицине.

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

OLAP: информационный кубик

Одно из наиболее распространенных применений постреляционной модели данных – технология OLAP (OnLine Analitical Processing, аналитическая обработка в реальном времени). Своим появлением она обязана бизнес-аналитикам. Основным требованием при разработке модели была скорость выборки множества значений из большого количества таблиц.

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

OLAP делает мгновенный снимок реляционной БД и преобразует ее в пространственную модель для запросов. Такая многомерная схема реализуется представлением данных по схеме звезды. При этом создаются таблицы двух типов:

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

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

Как правило, данные в таблицах измерений не нормализованы. Это приводит к тому, что, благодаря увеличению объема хранящихся данных, число таблиц, используемых в запросе, сокращается, а время выполнения запроса обычно уменьшается. Основное преимущество OLAP – возможность быстро получать отчеты по таблице фактов в разрезе данных, хранящихся в таблице измерений. Так, в примере, приведенном на рисунке, есть возможность быстро получить отчет о суммах продаж в разрезе покупателей, торговых точек, типов товара и времени продажи.

Сейчас существует несколько разновидностей данной технологии:

• MOLAP – многомерный OLAP (Multidimensional OLAP), традиционная многомерная модель, часто называемая просто OLAP;

• ROLAP – реляционный OLAP (Relational OLAP), использует для хранения данных реляционную модель, храня в двумерных таблицах и исходные данные, и данные OLAP-куба в виде срезов по одному из измерений. У ROLAP существует разновидность – ROLAP реального времени (Real-time ROLAP, R-ROLAP). В отличие от традиционной модели ROLAP, многомерные данные не хранятся в реляционных таблицах, а рассчитываются прямо во время выполнения запроса, который в свою очередь преобразуется в простые SQL-обращения к таблицам исходных данных;

• HOLAP – гибридный OLAP (Hybrid OLAP), использует реляционные таблицы для хранения базовых данных и многомерные таблицы для хранения агрегатов – данных, преобразованных в OLAP-куб.

Сравнивая данные типы, можно сказать, что у каждого есть свои преимущества и недостатки. MOLAP подходит для обработки небольшого объема данных. Несмотря на то что этот тип самый быстрый, при работе он генерирует массу данных. ROLAP считается более масштабируемым и использующим наименьшее пространство, однако скорость обработки данных в этом случае резко снижается. HOLAP находится на границе: он и достаточно хорошо масштабируется, и обладает высокой скоростью обработки данных.

У OLAP есть и недостатки: сложно создавать запросы к структурам OLAP, поэтому большинство OLAP- систем поставляется с огромным количеством готовых запросов. Кроме того, жесткие ограничения по выбору базовых данных, которые должны быть полными и непротиворечивыми.

Наиболее известные продукты, использующие OLAP, – Express от компании IRI, Microsoft Analysis Services (входящий в состав MS SQL Server), Oracle OLAP Option, DB2 OLAP Server от IBM, SAP BW.

Подробнее узнать об OLAP, а также пообщаться со специалистами по данной технологии можно на сайте www.olap.ru.

Пример структуры типа «звезда»

Для доступа к данным Cach? позволяет использовать сразу три подхода: реляционный, MultiValue и объектный. В первом случае используется SQL, а для остальных создано специальное расширение – Object Extended SQL, дающее возможность эффективно работать с объектными и MultiValue данными. По сведениям, полученным на сайте InterSystems (www.intersystems.com/cache/whitepapers/tmdmdcp.html), Cach? обеспечивает SQL-доступ до 20 раз быстрее, чем реляционные базы данных.

Для связи с реляционными базами данных Cach? использует механизм под названием Relational Gateway. Он позволяет приложениям получать и изменять данные, которые хранятся в реляционной СУБД.

В качестве встроенных средств разработки Cach? предлагает сразу три языка программирования Cach? ObjectScript, Cach? Basic и MultiValue Basic. При этом методы объекта могут быть написаны на любом из них или сразу на трех языках. Средства интеграции с другими объектными технологиями позволяют разработчикам писать приложения на базе Cach? с использованием COM, XML, Cи++, C#, Java и др. Объектная модель данных Cach? разработана на основе стандарта ODMG (Object Database Management Group – Группа по объектному управлению базами данных). Cach? совместима со всем, что связано с понятием «объектное программирование», в том числе инкапсуляцией, встраиваемыми объектами, множественным наследованием, полиморфизмом и коллекциями.

Модели данных для хранения лекарств

Для работы с Web создана технология CSP (Cach? Server Pages). Эта технология – часть сервера приложений Cach?, из чего следует, что приложения, созданные в Cach?, готовы для работы в среде Web. CSP работает с HTML, XML, WML и другими Web-ориентированными языками разметки (mark-up languages).

Добавить отзыв
ВСЕ ОТЗЫВЫ О КНИГЕ В ИЗБРАННОЕ

0

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

Отметить Добавить цитату