4.1. Преимущества СУБД Cache Intersystems
Итак, обобщим сказанное и кое-что дополним. Cache от InterSystems представляет собой полностью интегрированную высокопроизводительную систему управления базами данных и среду быстрой разработки современных приложений, ориентированных на обработку транзакций. Cache – это постреляционная СУБД, основанная на Транзакционной Многомерной Модели Данных (TMDM). TMDM обеспечивает одновременную работу любого числа клиентов без потери производительности.
Cache – это высокопроизводительная постреляционная СУБД, оптимизированная для обработки транзакций. В основе системы лежит объектно-ориентированная архитектура, интегрированная с транзакционной многомерной моделью данных, для обеспечения высочайшей производительности, масштабируемости и надежности в WEB и других сетевых средах.
Cache доступна в пяти конфигурациях. От Cache PC для однопользовательской версии, до Cache' Enterprise для больших конфигураций. Цены варьируются от 125 до 1000 долларов на одного работающего пользователя. Версии Cache' доступны для Microsoft Windows 95/98, Windows NT, Digital OpenVMS, IBM AIX, Hewlett Packard HP/UX, Digital Unix, Sun Solaris и других популярных платформ.
Производитель постреляционной СУБД InterSystems Corporation объявил о том, что его флагманская СУБД – Cache выиграла первый приз как “Лучший новый продукт в области баз данных” (Best New Database Product), на проходившем в этом году конкурсе “Награды в области информационного менеджмента”.
(Information Management Awards IM98). Пользователь InterSystems – Oxford Radcliffe Hospitals NHS Trust также получил приз как “Проект года” (Project of the Year) за свое, основанное на технологиях InterSystems приложение – Oxford Clinical Intranet.Спонсируемый компанией Deloitte & Touche Consulting Group, приз IM98 является самой престижной в Европе наградой в области информационного менеджмента. Он был учрежден, чтобы отмечать и популяризировать лучшие решения в области информационного менеджмента, использующие как традиционные, так и новаторские технологии.
Постреляционная СУБД Cache компании была одной из четырех финалистов конкурса “Лучший новый продукт в области баз данных”. Жюри остановило свой выбор на Cache’ за ее уникальную Radcliffe Hospitals NHS Trust также получил престижную награду Deloitte & Touche Consulting Group “Лучший проект года”. Создатели проекта связали ранее несовместимые системы отделений госпиталя, используя технологию InterSystems Cache WebLink, тем самым, открыв доступ всем отделениям госпиталя к единой базе, состоящей из более чем 390,000 записей о результатах ежегодных обследований.
Cache обеспечивает на сегодняшний день самый быстрый в индустрии SQL.Для обеспечения более высокой производительности в реляционных приложениях Cache SQL обеспечивает способность к взаимодействию с обычными реляционными приложениями, включая большинство популярных средств анализа данных и подготовки отчетов. Поскольку данные Cache фактически хранятся в оптимизированных многомерных структурах, приложения, использующие Cache SQL, работают быстрее с постреляционной базой данных.
Cache предоставляет гибкий и немедленный доступ к данным и к объектам, и к реляционным таблицам при помощи унифицированной таблицы данных. В то время как большинство баз данных, имеющих и доступ к объектам, и к реляционным таблицам предоставляют одну форму доступа на вершине другой формы доступа, Cache позволяет обоим двигаться прямо к данным (рис. 4.1).
Рис. 4.1 Доступ к данным в
Cache и в других БДКак показывают тесты, производительность Cache SQL как минимум в три раза выше, чем у традиционных реляционных СУБД, использующих реляционное ядро.
Рассмотрим многомерную модель данных, ориентированною на обработку транзакций. В Cache данные хранятся в виде многомерных массивов, вместо множества двумерных таблиц в реляционных базах. Данные в многомерных массивах, по определению, являются кросс-индексированными по такому количеству параметров, которое необходимо программисту. Возможен доступ к данным или их изменение прямо в многомерной базе без выполнения сложных и отнимающих время объединений, необходимых в реляционных базах.
В качестве внутренних "физических" структур Cache использует структуру B*- деревеьев, которые являются частным случаем В-деревьев. Деревья, которые имеют равное число уровней в каждом своем поддереве, называются сбалансированными (от английского balanced trees, отсюда и В-деревья). B-дерево (balanced), у которого каждый ключ указывает на блок данных, содержащий требуемую запись, называется B*-деревом. B*-дерево наследует все основные свойства B-дерева, в частности сбалансированность. B*-дерево является символьно-упорядоченной
структурой. B*-дерево оптимизировано таким образом, что при поиске требуемого узла происходит минимальное обращение к дисковым блокам. Оно делает возможной интеграцию области указателей и области данных. B*-деревья состоят из различных блоков: блока каталога на вершине, одного или нескольких блоков указателей, а также блоков данных, находящихся на нижнем уровне и содержащих хранимую информацию. Прежде чем СУБД Cache’ записывает узел B*-дерева, отдельные индексы объединяются в одну символьную строку, поэтому скорость доступа к узлам не зависит от их вложенности. Сортировка B*-дерева происходит только в момент записи ранее несуществующего узла. B*-деревья в Cache’ имеют высокую степень свободы реорганизации и не имеют областей переполнения. Также Cache’ поддерживает сжатие ключей: имена соседних узлов, имеющих общее начало, сохраняются не целиком а лишь частично. Каждое имя узла сравнивается с предыдущем, длина совпадающей части сохраняется в виде числового значения, и, наконец в виде числовых символов – уникальная часть. Блоки данных на нижнем уровне связаны друг с другом дополнительными указателями, так что последовательные операции с базой данных проводятся в оптимальном режиме, не покидая текущий уровень данных. Для ускорения работы все блоки структуры B*-деревьев сохраняются в многоуровневом кэше в оперативной памяти, как только они прочитаны процессом с диска. Следовательно, при дальнейших попытках доступа к данному B*-дереву исключается повторное обращение к диску, что ведет к дальнейшему росту производительности.Ведущие аналитики говорят, что именно объектная ориентация – ключевой элемент постреляционной технологии. В отличие от реляционных и объектно-реляционных баз данных, предлагающих, в лучшем случае, ограниченные объектные возможности, Cache включает полнофункциональную реализацию объектной технологии. Cache Objects полностью поддерживают множественное наследование, инкапсуляцию и полиморфизм. Таким образом, Cache обеспечивает разработчика всей мощью объектной технологии.
В дополнение, многомерные данные упрощают поиск, блокировку и изменение только тех данных, которые относятся к транзакции. Ни приложению, ни ядру базы данных не нужно тратить время на доступ к множеству таблиц или блокировать целые страницы данных, во время поиска. Таким образом, отдельная транзакция проходит быстрее и больше транзакций может обрабатываться одновременно.
Концепция разреженных массивов, реализованная InterSystems, делает многомерную модель данных еще более эффективной. Нулевые ячейки в Cache не занимают дискового пространства. Отсутствие пустых ячеек позволяет уменьшить время поиска или загрузки данных в локальную память.
Поговорим о протоколе распределенного кэша
. Уникальный протокол распределенного кэша резко увеличивает производительность и масштабируемость благодаря значительному снижению сетевого трафика. Если по сети поступает запрос, пакет ответных данных включает в себя не только запрашиваемые данные, но и связанные с ними дополнительные. Состав дополнительных данных определяется по специальному алгоритму переработки внутреннего представления данных в многомерной модели данных Cache.Эта “дополнительная” информация кэшируется локально на машине клиента или на промежуточном сервере. Обычно последующие запросы данных удовлетворяются уже из локального кэша, предотвращая, таким образом, повторную пересылку данных. Если клиентом были произведены изменения данных, то к серверу базы данных вернутся только изменения. Протокол распределенного кэша хранит информацию о том, где объекты и данные кэшируются, решает текущие проблемы и поддерживает целостность базы.
Снижение потока данных через сеть означает ускорение выполнения транзакции и увеличение максимального количества клиентов в каждой конкретной сети.
Постреляционная СУБД Cache включает в себя основные компоненты, необходимые для разработки приложений, ориентированных на интенсивную обработку транзакций. В систему включены следующие компоненты:
В Cache Object обеспечивается:
В отличие от перечисленных ранее объектных СУБД, работающих хорошо только на небольших проектах, мощные объектно-ориентированные возможности Cache имеют в своей основе мощную, хорошо зарекомендовавшую себя технологию, на базе которой эксплуатируются прикладные системы с тысячами одновременно работающих пользователей. Транзакционное ядро сервера базы данных поддерживает сохранение копии базы данных в режиме online, автоматическую поддержку логической и физической целостности базы данных, репликацию и “теневые” сервера – технологии, необходимые при построении систем масштаба предприятия. Cache также обеспечивает SQL-доступ к объектам базы данных, возможна и одновременная модификация базы данных из объектных и реляционных приложений.
Важнейшими свойствами Cache является совместимость разрабатываемого программного обеспечения. Созданные однажды, объекты Cache могут свободно использоваться другими объектными технологиями. Например, определения классов объектов Cache могут использоваться, без изменений и дополнительного программирования, как классы Java, ActiveX и C++. Это позволяет избежать “крестовых походов” между приверженцами других объектных технологий и языков программирования, и использовать наиболее подходящий инструмент для решения конкретной прикладной задачи.
В соответствии с темой магистерской работы немалый интерес представляют возможности объектного языка Cache ObjectScript, определяющего логику работы приложений и работу с базой данных и являющегося естественным развитием языка М. Поэтому далее рассмотрим основные возможности и преимущества этого языка применительно к информационным базам в составе ИСУ.
Site of Information
Technologies Designed by inftech@webservis.ru. |
|