Возможности сервера многомерных данных сɑсĥé и сервера приложений

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

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

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

Благодаря таким элементам Сервера приложений Сасĥé (Сасĥé Application Server), как совместимость с различными технологиями, многомерная информационная модель для хранения семантически сложных данных, новейшие инструменты объектного программирования, появляется возможность быстрой и эффективной разработки сложнейших приложений для баз данных.

Кроме традиционных способов построения Web-приложений, Сасĥé поддерживает технологию Сасĥé Server Pages (CSP). CSP, оптимизированная для быстрой разработки сложных приложений, ориентированных на работу с базами данных, объединяет в себе мощную объектную архитектуру, динамическое формирование страниц на сервере и возможности интеграции с инструментальными средствами разработки Web-приложений.

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

Сасĥé поддерживает как SQL, так и объектный доступ. Хотя своим появлением SQL и обязан реляционным базам данных, использование SQL не должно ограничиваться только реляционными СУБД. В постреляционной СУБД Сасĥé использование языка запросов SQL основано на гораздо более совершенной технологии многомерных баз данных. Объектная технология и объектные базы данных являются практическим результатом работы по моделированию деятельности мозга. Было замечено, что мозг может, с одной стороны, хранить очень сложную и разнородную информацию, а с другой стороны - манипулировать ею, используя единый подход. Точно так же, очень сложное поведение объектов реального мира должно быть реализовано в программных продуктах таким образом, чтобы скрыть эту сложность. Несомненно, что обе указанные особенности все больше и больше находят отражение в современных приложениях.

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

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

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

Объектная модель данных Сасĥé разработана на основе стандарта ODMG (Object Database Management Group - Группа по объектному управлению базами данных). В нее включены многие дополнительные возможности, в том числе множественное наследование.

Объектная технология - это опыт отражения того, как в действительности человек думает об информации и использует ее. Примером мог бы служить объект "счет-фактура", который имеет такие данные, как "номер счета", "итоговая сумма" и программный код "печатать" - команда Print().

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

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

Основными концепциями объектной технологии можно назвать:

наследование - это способность порождать один класс объектов из другого, новый класс (подкласс) сохраняет все свойства и методы своего "родителя", кроме того, он может иметь дополнительные свойства и методы, характерные только для него;

множественное наследование подразумевает, что подкласс может иметь более одного "родителя", например, Собака является млекопитающим и, кроме того, домашним животным, следовательно, объект класса "Собака" наследует свойства обоих классов: "Млекопитающие" и "Домашние животные";

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

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

Объектная технология обладает рядом преимуществ:

  • o Структура данных объекта более емкая, за счет чего можно естественным образом описывать данные реального мира.
  • o Программирование упрощается, т.к. легче следить за самим процессом разработки и за спецификациями программ.
  • o Версии классов, настроенные под определенного клиента, могут легко заменить стандартные версии. Это облегчает индивидуальную настройку приложения и гарантирует ее сохранение в следующих версиях. Последнее особенно важно для партнеров-разработчиков, т.к. им приходится работать с целым набором индивидуальных версий.
  • o Принцип "черного ящика" (или инкапсуляция) позволяет программистам совершенствовать внутреннее устройство объекта, не нарушая работу других частей приложения.
  • o Объекты упрощают взаимодействие с различными технологиями и приложениями.
  • o Объектная технология прекрасно сочетается с Java, что облегчает Web-разработку, а также с пользовательскими интерфейсами на основе GUI.
  • o На объектнаой технологи основано множество современных инструментальных средств проектирования и разработки приложений.
  • o Объекты позволяют хорошо изолировать пользовательский интерфейс от остального приложения. Поэтому переход на новую технологию пользовательского интерфейса (например, на Web или на иной, пока что неизвестный тип интерфейса) не влечет за собой полную замену кода; большая часть команд может оставаться без изменений.

Сасĥé использует многомерные структуры данных, в которых разнородные объектные данные сохраняются естественным образом.Поэтому и доступ к данным становится быстрее, и разработка идет динамичнее. Многие инструменты (например, генераторы отчетов) используют для доступа к данным не объектные технологии, а SQL, что не исключает их из разряда часто применяемых инструментов. Уникальность технологии Caché заключается в том, что система автоматически обеспечивает полный доступ к данным через SQL, как только определяется класс объекта базы данных. Таким образом, без каких-либо дополнительных затрат можно немедленно подключить для работы с данными Caché инструменты на основе SQL, при этом производительность их работы даже увеличится за счет Многомерного сервера данных Caché. Возможен также и обратный вариант. При импорте описания DDL реляционной базы данных Caché автоматически генерирует интегрированное реляционное/объектное описание данных и немедленно предоставляет доступ к ним как к объектам или через SQL. Единая архитектура данных Сɪ∣ìé (Сɪ∣ìé Unified Data Architecture) синхронизирует оба типа доступа. Изменения вносятся только в одно описание данных.

Высокопроизводительная база данных Caché использует многомерную модель, которая обеспечивает эффективное и компактное хранение данных в сложных информационных структурах. Доступ и изменение данных в Caché не требует трудоемких и длительных операций соединения (Join), неизбежных в реляционных базах данных.

Модель хранения в Caché иногда определяют как "гиперкуб" или "n- мерное пространство". Более точное описание модели хранения данных Caché - это совокупность разреженных многомерных массивов, называемых "глобалами" ("globals"). Данные, хранящиеся в глобале, могут иметь любое количество индексов. Более того, для значений индексов не предусмотрено определение их типов данных, и поэтому они могут быть любыми: строками символов, числами с плавающей запятой, целыми числами и т.д. Это означает, что разнородные индексы, например, целое число 34 и какое-нибудь многозначительное имя типа "ПартияИзделий", могут находиться на одном индексном уровне.

Многомерная модель естественным образом приспособлена для обработки транзакций благодаря эффективной системе доступа к данным. Поскольку в Caché можно не тратить время на соединение различных таблиц, все процессы протекают гораздо быстрее.

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

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

Преимущества Сасĥé:

производительность - благодаря тому, что в Сасĥé используются многомерная модель данных и методы разреженного хранения данных вместо громоздкого лабиринта двумерных таблиц, доступ и редактирование требуют гораздо меньше дисковых операций ввода/вывод, т.е. приложение будет работать быстрее;

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

быстрая разработка - разработка в Сасĥé происходит гораздо быстрее, так как используемые структуры обеспечивают естественный и понятный формат хранения сложных данных, не требуя при этом развернутых или сложных описаний и определений;

сокращение затрат - в отличие от реляционных, приложения на основе Сасĥé прекрасно обходятся гораздо менее мощным оборудованием и не требуют администраторов баз данных. Управление и эксплуатация систем отличаются простотой;

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

единая архитектура данных - уникальная особенность Сасĥé - это единая архитектура данных (Unified ⑉аţа Аг^^^ге).

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

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

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

перспективы развития - единая архитектура данных Сасĥé автоматически представляет данные в виде объектов и таблиц. Это приводит к плавной интеграции реляционной и объектной технологий;

совместимость с существующими инструментами - благодаря Единой архитектуре все данные Сасĥé автоматически доступны через SQL, этот доступ гарантирует взаимодействие с традиционными реляционными приложениями, включая многие популярные инструменты анализа данных и генерации отчетов;

эксплуатационная гибкость и независимость от базы данных - Сасĥé SQL Gateway обеспечивает работу приложений Сасĥé совместно с обычными реляционными базами данных, сохраняя возможность эксплуатации больших in situ реляционных систем для таких пользователей, которым не важна производительность;

простое управление системой / круглосуточная работа базы данных - Сасĥé спроектирована для круглосуточной и круглогодичной работы на компьютерных системах, рассчитанных как на четырех, так и на десятки тысяч пользователей. Многие системы внедряются партнерами, и у них нередко возникает противоречие между желанием установить большую систему и необходимостью последующего бесперебойного ее сопровождения. Эти обстоятельства предъявляют дополнительные требования к простоте и легкости сопровождения больших систем.

В состав Сасĥé входит полный набор служебных программ (утилит) для управления системой. Ко всем утилитам возможен удаленный доступ, а большинство функций управления системой может быть описано специальным образом и затем выполнено автоматически, без вмешательства человека.

В Сасĥé имеется набор современных средств для обеспечения надежности приложений, включая теневой сервер и кластеры баз данных.

Сервер приложений Сасĥé (Сасĥé Application Server) - это программная система, обеспечивающая расширенные возможности объектного программирования. Кроме того, в нем имеются развитые механизмы кэширования данных и взаимодействия с другими технологиями. Сервер приложений Сасĥé обеспечивает большую скорость разработки сложных приложений баз данных, их высокопроизводительную работу и простую эксплуатацию.

 

Литература

  1. Технология Cache Saver или сохраняем данные в Cache. Стив Фламмини http: //j avascript.ru/blog/Berserker/T ehnologiya-Cache-Saver-ili- sohranyaem- dannye-keshe.
  2. Преимущества Cache. Джон Гантц, «ComputerWorld», 10 мая 1999 г.
  3. Постреляционные технологии Cache в системе управления университетом. Ю.В. Калашник, Научный руководитель , http://e- dbms .info/cache/index. php
  4. Cache' - постреляционная СУБД. В.А. Федоров, консультант по продуктам, InterSystems Corp http://citforum.ru/database/articles/cache.shtml
Год: 2011
Город: Костанай