Виртуальные базы данных — это системы, работающие с данными, расположенными в различных хранилищах, которые выполняют эмуляцию работы как с единой базой данных.
Среди всех возможных вариантов в сфере интеграции данных можно выделить три основных:
- Формирование федеративного формата данных из массива разных источников.
- Создание сервисов данных в плане архитектуры, ориентированной на программные сервисы обращения к данным.
- Выполнение унификации данных имеющих организованную структуру и данных, не имеющих таковой.
Как правило, большинство программных приложений для решения проблемы интеграции данных используют один из этих вариантов. Отдельно рассматривается вариант формирования корпоративной программы и вариант автоматизированной межкорпоративной программы интеграции данных. В отчётах фирмы Gartner подмечено, почти все производители нацелены на реализацию корпоративных программных приложений, поскольку в данной сфере есть опробованные на практике технологические и технические апробации.
Виртуальные базы данных
Существует задача интеграции корпоративных данных, которая заключается в следующем. Есть комплект баз данных, который относится к единой или различным сферам деятельности. Такие базы данных определяются как локальные. Необходимо сформировать программными средствами систему взаимодействия с комплексом локальных баз данных как с единообразной базой данных. Такую систему называют виртуальной базой данных. Но существует одно, всегда подлежащее исполнению, правило: запрещено формировать реальные копии локальных баз данных. Чтобы сделать запрос к виртуальной базе данных, сначала надо сформировать очерёдность элементов этой операции, которая включает в себя формирование подзапросов к локальным базам данных, обработку промежуточных и выдаче итоговых результатов. Такой план осуществляется возможностями виртуальных баз данных.
Проблема интеграции данных в изложенной выше трактовке, актуальна уже многие десятки лет. Существуют отдельные реализации этой задачи, которые имеют свои достоинства и недостатки.
Архитектура виртуальных баз данных
Существует стандартный метод проектирования архитектурного построения виртуальных баз данных. Можно выделить два вида архитектурных компонентов:
- Элементы типа обёртки.
- Элементы типа посредников.
Первый тип элементов следит непосредственным взаимодействием с локальными базами данных, а второй тип элементов следит за реализацией очерёдности запросов к виртуальным базам данных. При построении архитектуры, ориентированной на сервисы, наборы обёрток и посредников формируются как программные сервисы. Для обёрток, каждая локальная база данных сопоставляется с индивидуальным программным сервисом, который отвечает за обмен именно с этой базой данных. Другим вариантом является применение единого программного сервиса (или небольшого их комплекта), который отвечает за обмен данными со всем набором локальных баз данных, входящих в состав виртуальной базы данных. При таком варианте, обёртки служат своеобразными логическими сущностями (параметрами управления доступом) в пределах запрограммированного сервисного обслуживания.
Доступ к локальным базам данных
В самом простом варианте обёртки являются адаптерами для обмена с локальными базами данных. Если случай оказывается сложнее, то обёртка помогает унифицировать интерфейс обмена данными с локальными базами данных (организация доступов, моделирование методов работы с данными).
Сопоставление моделей данных
Применение метода обёрток даёт возможность унифицировать средства и модели управления локальными базами данных. Это позволяет упростить задачу интегрирования данных. Возможно предположить, что локальные и виртуальные базы данных основываются на едином моделировании данных и применяют один язык управления данными. Все базы данных являются абстрактными моделями некой сферы деятельности. Чтобы описать эти сферы деятельности, применяются схемы данных. Схема виртуальной базы данных называется глобальной, а схема локальной базы данных называется локальной схемой. Для правильного применения возможностей виртуальных баз данных, требуется формализовать операцию определения состояний виртуальных баз данных. С этой целью решается задача наложения (сопоставления) локальной схемы на глобальную схему. Это может делаться как вручную, так и автоматически.
План обработки распределённых запросов
Чтобы настроить систему планирования обработки запросов к виртуальным базам данных, надо проанализировать итоги наложения локальных схем данных на глобальную. Планы обработки запросов являются деревом, где на его вершинах обозначены необходимые операционные процедуры над данными. Эти процедуры выполняются в случайном порядке, но соблюдается следующий принцип. В первую очередь следует выполнить действия, которые соответствуют дочерним побегам дерева, а уже потом те, которые соответствуют родительским. Исходными данными для родительских операций являются итоги, сформированные при реализации дочерних операционных действий. Итоги обработки запроса должны совпадать с итогами реализации операции, которая приписана корню его плана.
Приведённая методика построения виртуальных баз данных может служить одним из примеров разрешения проблемы интеграции данных при проектировании корпоративных программ.
Межкорпоративный обмен данными
Существует такое ограничение в архитектуре виртуальной базы данных, как невозможность изначально предопределить тип запроса к локальной базе данных, поскольку этот запрос имеет две ступени. Первая ступень — это формирование плана запроса посредником к виртуальной базе данных. На второй ступени обёртки выполняют трансляцию запросов в серии запросов, которые сформированы на языке управления данными локальной базы данных. Это условие выступает как препятствие при применении возможностей виртуальной базы данных для формирования межкорпоративных связей.