Семантический корпоративный оптимизатор и сосуществование разных моделей данныхП. А. Сундарараджан (P. A. Sundararajan), Анупама Нитьянанд (Anupama Nithyanand), С. В. Субраманья (S.V. Subrahmanya), Декабрь 2009 г. Краткое содержание.Авторы предлагают семантическую архитектуру корпоративной модели данных, основанную на онтологическом подходе, которая обеспечивает взаимодействие, интеграцию и приспособляемость к эволюции, благодаря автономному рациональному проектированию на основе агентов логических и физических моделей данных в неоднородных распределенных предприятиях в течение жизненного цикла. Принятая в качестве стандарта на корпоративном уровне онтология данных (на языке веб‑онтологий [Web Ontology Language, OWL] и на языке правил семантической паутины [Semantic Web Rule Language, SWRL]) необходима для реализации автоматизированной платформы данных, которая повышает возможности работы нынешней системы Microsoft Enterprise Search в течение жизненного цикла и расширяет возможности Microsoft SQL Server благодаря различным механизмам работы с неструктурированными типами данных, а также благодаря множеству типов предметных областей, которые настраиваются пользователями с помощью семантического оптимизатора запросов при использовании Microsoft Office SharePoint Server (MOSS) в качестве хранилища контента и метаданных для связывания всех этих компонентов воедино. ВведениеМодели данных различаются по структурной организации в зависимости от назначения. Например, иерархии продуктов и организаций хорошо вписываются в иерархическую модель, которую нельзя напрямую представить и использовать в рамках реляционной модели (см. таблицу 1).
Таблица 1. Модели данных для разных назначенийВыбор модели определяется следующими факторами:
В зависимости от требований – будь то точный структурированный поиск или основанный на подобии неструктурированный неточный поиск – мы можем использовать разнородное сочетание структурированной, полуструктурированной и неструктурированной информации, чтобы предоставить нужный контекст корпоративным пользователям. Если реляционная база данных облегчает совместное использование данных, то совместное использование метаданных само по себе – проблема. И корпоративная онтология является одним из способов обеспечить интеграцию метаданных, она позволяет улучшить стабильную интеграцию корпоративной информации (Enterprise Information Integration, EII) и возможность взаимодействия, несмотря на неопределенный тип предприятия. Онтологии концептуальны, пригодны для совместного использования, могут многоразово использоваться, являются общими и применимы в разных технических предметных областях. Они содержат точные знания, которые представлены в виде правил и помогают делать выводы. Они облегчают взаимодействие разнородных и несовместимых компонентов, инструментов, технологий, а также заинтересованных сторон, которые представляют часть организации с единой предметной областью.
Эволюция интеграции на корпоративном уровнеИнтересно проследить эволюцию интеграции на корпоративном уровне – от простых приложений для каждой конкретной задачи, которыми пользовались в прошлом, до появления приложений в Интернете, которые могут взаимодействовать друг с другом, что расширяет функциональные возможности для бизнеса и стирает границы внутренних сетей, Интернета и предприятий:
В том, что касается информации, границы между фактом и размерностью, данными и языком, структурированной и неструктурированной информацией размыты, когда определенный тип данных меняется с течением времени вместе с объемом и его важностью для взаимосвязи со средой. Нормальная транзакционная модель данных может развиваться от анализа бизнес-данных и прогнозирующего анализа данных до машинного самообучения и модели знаний и может стать применимой в языковой форме, что позволит ей взаимодействовать с другими системами и людьми. Корпоративным данным требуется общий словарь и понимание значения бизнес-единиц и связей между ними. Так как на корпоративных функциях специализируются разные поставщики программного обеспечения, часто в компаниях встречаются разнородные модели данных от различных продуктов, технологий и поставщиков, которые должны взаимодействовать. Для решения проблемы несоответствия в схеме или структуре пытались применить подход к данным как к службе с SOA, сервисную шину предприятия (enterprise service bus, ESB) и канонические модели данных, но не обращались к полной семантической совместимости до появления семантических веб-служб. Семантическая интеграция на корпоративном уровне при помощи корпоративного языка веб-онтологий (OWL) может решить задачу полной семантической совместимости в компании. Повод для этой статьи: тенденции в отраслиМногообразие аккомодации и сосуществованияХранение всех данных в рамках реляционной схемы, ориентированной на строки с третьей нормальной формой (third normal form, 3NF), может быть не оптимальным. Мы видим множество тенденций, например, разные типы механизмов хранения данных, которые можно настраивать и расширять для конкретных типов данных предметной области, создание специальных индексов для предметной области и использование оптимизатора, который может их учитывать, чтобы соответствовать разнородным требованиям относительно типов данных. Эти объектно-ориентированные семантические расширения создаются как приложения поверх ядра базы данных, и существуют API для разработчиков, чтобы настраивать и добавлять собственные неструктурированные или полуструктурированные типы данных. Это используется в поставляемых с продуктом расширениях для пространственных и медиаданных, а также для обработки текста. В некоторых случаях также поддерживаются внутренние типы данных XML. Microsoft Enterprise Search – это пример решения для поиска разнородных данных в диапазоне от электронных писем в Microsoft Exchange Server до профилей пользователя в Active Directory и каталога бизнес-данных в Microsoft SQL Server RDBMS, а также документов Microsoft Office. Ведущие игроки предложили решения для работы с неструктурированными данными в виде систем управления контентом, которые опять-таки надо включать в соответствующий контекст с традиционными структурированными данными предприятия – как на уровне метаданных, так и на уровне контента. Разгрузка во вспомогательные модулиМногие системы управления базами данных поддерживают хранение обновленных строк в строчно-ориентированном виде в соответствии с оперативной обработкой транзакций (Online Transaction Processing, OLTP), хранение данных, сжатых по столбцам и доступных только для чтения, или хранение данных на жестком диске только для записи и хранение в памяти только для чтения. В зависимости от стадии жизненного цикла и характеристик способы хранения часто меняются. Перекладывание части нагрузки на вспомогательные обработчики, которые специализируются на обработке SQL, – это один из приемов, которые мы видим в хранилищах данных. Рациональное автономное проектированиеМногие системы позволяют оптимально выполнять проектирование или давать рекомендации на основе следующих исходных данных:
Некоторые системы позволяют отделять части, связанные с обработкой файлов, которая должна производиться на уровне ОС. По статистике, лучшие планы предлагают Oracle Query Advisor и Access Advisor. Рассогласование интерфейсов и семантическая совместимостьОбъектно-реляционное отображение (Object-Relation mapping, ORM) – это классическая модель, содержащая два разных инструмента, которые можно использовать для организации одних и тех же данных двумя разными способами. Здесь одни и те же корпоративные данные должны быть представлены через иерархию наследований в объектно-ориентированном решении или в виде одной или нескольких таблиц в реляционной базе данных. LINQ to SQL и LINQ to Entities (платформа Entity Framework) – некоторые из инструментов, которые служат для этих целей. Что если база данных является иерархической или построена по простой модели «сущность – атрибут – значение»? Если используемый язык – один из функциональных языков программирования, а используемая база данных – одна из объектно-ориентированных баз данных, может возникнуть рассогласование интерфейсов иного рода. Итак, если между собой должны взаимодействовать разные парадигмы, лучше иметь посредника между ними. В этом случае авторы предлагают модель предметной области (а не объектная модель), представленную в виде онтологической модели всего предприятия с учетом всей бизнес-логики, правил, знаний и ограничений. Пусть эта онтологическая модель станет общим знаменателем в том, что касается всех взаимодействующих систем. Другая область рассогласования интерфейсов – это несогласованность реляционной модели SQL и многомерных выражений (Multidimensional Expressions, MDX) куба OLAP. MDX – это язык, в котором уровни иерархических размерностей семантически содержательны в отличие от SQL, основанного на исчислении кортежей. Здесь снова требуется перевод. Вместо того чтобы искать двухточечное решение, мы можем воспользоваться преимуществами общей онтологии. Приложению требуется поставщик семантических данных, который переводит запрос согласно онтологической модели предприятия и – в зависимости от модели источника данных – собирает в измененном виде запрос, который понимается конкретной моделью данных источника данных. Модель предметной области является концептуальной и может заменить или использовать в переработанном виде концептуальную связь между сущностями или классово-объектные структурные диаграммы UML. Архитектура потоков данных для семантической корпоративной моделиВ следующих разделах будет объяснена работа семантического корпоративного оптимизатора, который поможет ликвидировать разрыв между разными несовместимыми моделями данных, чтобы они могли совместно существовать и рационально обеспечивать службы данных (см. также рисунок 1).
Рисунок 1. Семантический корпоративный оптимизатор и сосуществование моделей данных (щелкните рисунок, чтобы увеличить изображение)Автономное эволюционное логическое и физическое проектированиеМы можем предложить автоматическое логическое и физическое проектирование модели данных в зависимости от интенсивности использования, объема данных и стадии жизненного цикла. На ранней стадии, когда конкретные требования для предметной области еще неизвестны, всегда хорошо начать с модели «сущность – атрибут – значение». Здесь структура задается в окне управления посредством параметров, она основана на определении структуры записи и хранит метаданные и данные по ассоциации. В определенные периоды времени агент проверяет типы данных, а также реальные данные, хранящиеся в записях, чтобы следить за тем, не прекратились ли изменения и не стала ли структура относительно стабильной. Когда структура стабилизировалась, аналитик определяет, какой тип структуры подходит для этой сущности, учитывая запросы, данные и их статистику, изменения структуры, связи с другими сущностями и стадию жизненного цикла. Компонентная модель семантического корпоративного оптимизатораСемантический корпоративный оптимизаторСемантический корпоративный оптимизатор обращается к репозиториям рабочих процессов и правил в случае вставки или изменения состояния, чтобы определить, какая модель данных должна соответствовать новым данным или данным с изменившимся состоянием. При выполнении запроса он обращается к навигатору связей метаданных экземпляра, чтобы определить местоположение данных. Соответственно он генерирует запрос к подключенным или заархивированным хранилищам в любой из разных моделей либо продуктов. Здесь полезны данные, основанные на SOA, и реализация подхода к метаданным как к службе. Службы семантических данныхСлужбы семантических данных расширяют функциональность объекта службы данных, чтобы использовать в работе семантику, основанную на онтологии. Интерфейсные службы обращаются к онтологии предприятия для взаимодействия. Репозиторий корпоративной семантической онтологии рабочих процессов и правилДля каждого систематизированного типа данных мы можем определить связи, которым он должен следовать. Например, мы можем сказать, что основная запись сотрудника будет использоваться в компании в качестве исходных данных. Будет применяться семантическая модель инфраструктуры описания ресурсов (Resource Description Framework, RDF), в которой определяются связи этого сотрудника с другими сотрудниками в организации. Основная запись сотрудника также будет распределенной, чтобы сведения о посещаемости были в инстанции, которая отчитывается, а сведения о зарплате – в центральном офисе, откуда производятся выплаты. Запись сотрудника будет храниться в онлайновых системах транзакций до окончания работы сотрудника в организации. После ухода сотрудника его запись будет сохраняться около года для годовой отчетности, а потом она переносится в репозиторий управления записями, где будет храниться в сжатом виде для особых запросов. Затем через три года она переносится в архивное хранилище, где хранится в сильно сжатой форме. Но ключ, определяющий информацию, хранится в режиме онлайн в репозиториях метаданных, чтобы позволять проводить любые фоновые, асинхронные или автономные проверки, которые могут потребоваться в отношении этого сотрудника позже в период существования предприятия. Все эти изменения определяются на соответствующих стадиях жизненного цикла в репозитории рабочих процессов, как и любые правила, применимые в репозитории правил. Агент генератора событийНа основе предшествующих рабочих процессов и правил, если данные требуют изменения состояния, этот компонент генерирует событие, которое предупреждает оптимизатор о необходимости запустить процедуру выбора соответствующей модели данных для перемещения этих данных после изменения состояния. Навигатор связей метаданных экземпляраКаждый экземпляр данных имеет связанные с ним метаданные. Сюда входят такие атрибуты, как дата создания, создатель, создавшая система, адрес, по которому экземпляр доступен на каждом этапе изменения стадии жизненного цикла, и т. д. Сюда также входят различные переводы, которые потребуются для нахождения этих данных в разных системах. Этот компонент помогает находить эти данные. Область моделей данныхЭто разнородное собрание моделей данных, из которых может выбирать оптимизатор при создании и последующих изменениях состояния элемента данных:
Здесь должен формироваться запрос и должен быть реализован доступ в реальном времени с соответствующим семантическим переводом. Когда меняется жизненный цикл данных, есть датчики или системы машинного обучения, запрограммированные, чтобы определять состояние при смене стадии жизненного цикла. Когда подобные изменения обнаруживаются, запись соответствующим образом переносится из системы управления транзакциями в OLAP, модуль анализа данных или место архивного хранения в зависимости от связей. Поэтому, когда информация запрашивается, оптимизатор может на основе настроенных бизнес-правил определить, какой обработчик должен сформировать этот запрос, опираясь на свойства поискового запроса, и соответствующим образом перевести его в иерархический запрос, запрос OLAP или запрос файловой системы. В обычных разрабатываемых приложениях преимущества, возможно не очень ощутимы, за исключением тех мест, где вносятся изменения в существующие процессы на стадиях жизненного цикла или изменения новых типов данных. ЗаключениеМы видим, что на корпоративном уровне господствует распределенная сеть GRID на основе графов для разнородных моделей, которые семантически интегрируются в организации; кроме того, корпоративные данные постоянно развиваются за счет логического и физического проектирования на основе данных об использовании, происхождении и характеристиках жизненного цикла. Для определения неоднородной модели предприятия могут подойти разные модели данных или любые их сочетания. В реляционной модели подчеркивается, что пользователю необязательно представлять физическую структуру или организацию данных. В модели, которую мы предлагаем, необязательно даже представлять логическую модель данных, и любой корпоративный информационный ресурс должен быть доступен для многократного использования в каждой операционной системе, системе управления базами данных, модели данных и файловой системе. Архитектура описывает адаптируемую систему, которая может рационально выбирать модель данных в зависимости от характеристик входящих данных. Поддерживаемые модели, приложения и стадии жизненного цикла приводятся для иллюстрации. Дело в том, что такая архитектура достаточно гибкая, чтобы приспособиться к любой модели, которая может быть изобретена в будущем. Приспособляемость и расширяемость – это основные особенности этой архитектуры. Кроме того, динамическая интеграция ограничений предприятия позволит быстрее принимать подкрепленные информацией решения во все более динамичном бизнесе. БлагодарностиПервые двое авторов признательны третьему автору, вице-президенту по образованию и науке компании Infosys Technologies Ltd. С. В. Субраманья за выбор и поддержку этой идеи и главному научному сотруднику отдела образования и науки компании Infosys Technologies Ltd. Т. С. Мохану (T. S. Mohan) за всестороннюю и глубокую рецензию. Авторы признают вклад и благодарят авторов и издателей статей, учебников и веб-сайтов, на которые даются ссылки. Все торговые марки и зарегистрированные торговые марки, упомянутые в этой статье, являются собственностью их владельцев и соответствующих компаний. Ссылки
Об авторахП. А. Сундарараджан (sundara_rajan@infosys.com) – ведущий сотрудник лаборатории ECOM Research Lab в отделе образования и науки компании Infosys Technologies Ltd. У него почти четырнадцатилетний опыт разработки приложений и архитектуры данных в областях дискретного производства, ипотеки и гарантийного обслуживания. Анупама Нитьянанд (anupama_nithyanand@infosys.com) – ведущий сотрудник отдела образования и науки Infosys Technologies Ltd. У нее почти двадцатилетний опыт работы в области образования, науки, консультирования и развития персонала. С. В. Субраманья (subrahmanyasv@infosys.com) ныне занимает должность вице-президента компании Infosys Technologies Ltd. и возглавляет лабораторию ECOM Research Lab в отделе образования и науки Infosys. Он автор трех книг и нескольких докладов, опубликованных в рамках международных конференций. У него почти двадцатитрехлетний опыт работы в этой отрасли и в научной области. Специализируется на архитектуре программного обеспечения. |
|