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

Представление знаний и объектно-ориентированная СУБД Cache’

А.О. Поляков, И.А. Семёнов

Санкт-Петербургский институт информатики и автоматизации РАН

Abstract – In article the principles of performance of knowledge about objects and relations between them are considered. The methods both software of extract and structuring of knowledge for the automized development of the knowledge bases of intellectual systems are researched. One of modern postrelational of technologies Cache’, permitting is considered to realize the modern concepts of storage and analysis of the corporate data.

Цель статьи заключается в ознакомлении читателей с одной из современных постреляционных технологий Cache’, позволяющей реализовать современные концепции хранения и анализа корпоративных данных.

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

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

С появлением необходимости использования новых аналитических технологий обнаружения знаний (Data Mining), возникли и новые требования к хранилищам данных, с которыми общепризнанные реляционные системы неспособны справиться. Многократная реструктуризация модели данных может быть отнесена к одному из таких требований.

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

Столь сложную задачу по созданию вычислительной системы, обеспечивающей интеллектуальную поддержку решений проблем отражения в компьютере ПО с использованием моделей, под силу только универсальным Case-средствам. Универсальность Case-средства заключается в том, что она должна обладать возможностью определять сами различные модели в широкой прикладной области.

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

Нужно отметить, что наличие только одного статического представления моделей, для решения проблем, недостаточно. Система должна поддерживать динамические процессы последовательного приближения к поставленной пользователем цели. Это довольно сложное требование, поскольку суть его не только в проблеме языка представления знаний (ЯПЗ), но и в проблеме глубокого понимания сущности проектирования систем.

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

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

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

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

Постреляционная СУБД 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’ иметь два принципиальных преимущества:

Литература

  1. С. Осуга, “Обработка знаний”, М. “Мир”, 1989.
  2. С. Осуга, “Приобретение знаний”, М. “Мир”, 1990.
  3. Дж. Хаббард, Автоматизированное проектирование баз данных. М. “Мир”, 1984.
  4. В. Кирстен, От ANS MUMPS к ISO M. СПб: АОЗТ “СП.АРМ”, 1995.

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