Сайт Информационных Технологий

2.2.СУБД Cache

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

Этот список можно продолжить и далее.

В основе концепции Cache лежит принцип многомерного представления данных.

Сегодня на рынке доступен ряд коммерческих серверов многомерных БД. Некоторые продукты (такие, как Cache) хранят данные в истинно многомерных БД, другие выгружают данные из реляционных БД в статические многомерные модели, третьи обращаются к реляционным данным, используя виртуальное многомерное представление, с которым и работает пользователь. К статической или виртуальной многомерной модели можно отнести продукты фирм Oracle, Informix, Sybase, Computer Associates, Microsoft и др., которые предлагают покупателям системы, позволяющие хранить многомерные структуры данных, однако их ядра подобны имеющимся у реляционных БД.

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

С целью дальнейшего повышения производительности обработки транзакций, в БД Cache реализована концепция “разреженных массивов”. Пространство базы данных занято лишь реальными данными - пустые данные не занимают места вообще. Эта действительно “лаконичная” технология базы данных повышает производительность и масштабируемость, сокращая число операций чтения/записи.

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

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

Нет необходимости говорить, насколько широкое распространение получила в последнее время идеология объектов. Термин “объект” означает комбинацию данных и программ, представляющих некоторую сущность реального мира. Данные состоят из компонентом произвольного типа, называемых атрибутами. Каждая программа называется методом. Пользователи не могут увидеть, что у объекта внутри, но могут им пользоваться, обращаясь к его программной части. Это немногим отличается от обычного вызова процедуры, когда пользователи обращаются к ней, подставляя значения входных параметров и получая результаты в виде выходных параметров.

Практика показывает, что наиболее распространенная сегодня реляционная технология мало пригодна для работы со сложными объектами. Бартельс, пионер в области объектно-ориентированного программирования в Германии, в нескольких обзорных статьях приводит чрезвычайно удачное сравнение: “едва ли кому-нибудь придет в голову идея разобрать свой автомобиль (как пример сложного объекта), прежде чем поместить его в гараж (база данных), на отдельные детали (записи, поля), разложить их там, а на следующее утро в обратном порядке снова собрать свою машину”.

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

Объектная надстройка Cache по существу является макроуровнем языка Cache Script. Такие свойства объектов, как наследование (в том числе множественное), полиморфизм и инкапсуляция реализуются Cache на собственных средствах, а словарь классов объектов позволяет создавать информационные системы различной степени сложности. Глобалы БД хранят информацию о значениях свойств и параметрах, характеризующих их поведение, а сами методы работы с данными реализуются на языках Cache Script, Cache SQL и Cache ScriptObject, причем последний включает команды манипулирования объектами. Кроме того, Cache взаимодействует с широким набором различных инструментов разработки и разнообразными языками. Для объектов это включает доступ при помощи ActiveX (COM), Java, C++, и Web.

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

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

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

Высокопроизводительный драйвер для использования со стандартом ODBC (Open Database Connectivity), дает возможность Cache иметь два принципиальных преимущества:

Особое внимание в системе Cache нужно уделить продукту WebLink, который позволяет присоединить мощную Cache базу к World Wide Web. В основе WWW лежит принцип распределенной гипермедийной информации. Технология WWW может сочетать в одном документе разнообразные формы представления информации – тексты, звук, графику и т.п. Документы, построенные на основе этих форм, будут доступны по всей глобальной сети Internet. А так как большая часть информации представлена в виде тех или иных БД, то такие формы позволяют строить интерфейсы между WWW и БД.

WebLink позволяет, в среде Internet, подключиться к Cache базе тысячам пользователям. Многие БД не рассчитаны на такое мощное информационное давление и могут быть разрушены. БД, построенные в Cache и использующие Cache WebLink, способны работать с любыми потоками информации. Даже, если техническое обеспечение сравнительно слабо, эта система будет работать полноценно, обслуживая параллельно большое количество пользователей.

 

 


Site of Information Technologies
Designed by  inftech@webservis.ru.