280 likes | 486 Views
Институт прикладной математики им . М.В.Келдыша РАН. СИСТЕМА МАССОВОЙ ИНТЕГРАЦИИ БАЗ ДАННЫХ: ФУНКЦИОНАЛЬНЫЕ ВОЗМОЖНОСТИ И СПОСОБ РЕАЛИЗАЦИИ. В.Н. Коваленко, Е.И. Коваленко, А.Ю. Куликов. Постановка задачи массовой интеграции.
E N D
Институт прикладной математики им. М.В.Келдыша РАН СИСТЕМА МАССОВОЙ ИНТЕГРАЦИИ БАЗ ДАННЫХ: ФУНКЦИОНАЛЬНЫЕ ВОЗМОЖНОСТИ И СПОСОБ РЕАЛИЗАЦИИ В.Н. Коваленко, Е.И. Коваленко, А.Ю. Куликов
Постановка задачимассовой интеграции • Количество интегрируемых баз данных велико (100 и более) Аспекты интеграции: • язык массовых запросов; • управление инфраструктурой; • интеграция данных; • контроль доступа.
Язык массовых запросов SELECTavg(MSK.person.salary) FROMMSK.person WHEREMSK.region=”Moscow” • Строится в терминах глобальной схемы таблиц • Формирование групп на основе метаинформации
Язык запросов: состав группы SELECTavg(MSK.person.salary) FROMMSK.person WHEREMSK.region=”Москва” БД1 БД3 БД2 region: СПБ … region: Москва … region: Москва …
Язык запросов: интерпретация SELECTavg(MSK_person.salary) FROM(SELECT1 UNIONSELECT2) ASMSK_person SELECTavg(MSK.person.salary) FROMMSK.person MSK.person = SELECT1 UNION SELECT2 person БД1 БД2 person: SELECT1 … person: SELECT2 …
Выполнение запросов Массовый запрос Центральный сервер БД БД БД БД ВС ВС ВС
Управление инфраструктурой • Объекты администрирования: • База данных • Вычислительный сервер • Удаленное выполнение операций. • На базу данных не устанавливается дополнительное ПО. • Изменения инфраструктуры не прерывают выполняющиеся запросы.
Контроль доступа • Контроль доступа к: • базам данных; • глобальным таблицам и их полям; • строкам таблиц. • Правила: ИД=значение, СФД=значение, СПЕЦ=значение, РОЛЬ=значение Доступные БД Доступные таблицы
Расширение OGSA-DAI/DQP • Массовые запросы и адресация групп БД • Интеграция данных на основе отображений • Динамическое формирование инфраструктуры • Балансировка нагрузки на вычислительные ресурсы • Контроль доступа
Балансировка нагрузки SELECTavg(MSK_person.salary) FROM (SELECT1 UNIONSELECT2)ASMSK_person ВС1 avg ВС1 ВС2 ВС2 UNION ВС3 БД1 БД2 SELECT1 SELECT2
Расширение OGSA-DAI/DQP БД БД БД БД OGSA-DAI OGSA-DAI OGSA-DAI Измененный OGSA-DAI/DQP
Интеграция данных GAV LAV G Q(D1, … DM} Query(G, …) Query(Q(D1,..DM),…) Dnew: G Q(D1, … DM, Dnew) D.L Q(G1, .. GN) Query(G,..) TransformedQuery(D1, ..DM) Dnew: Dnew.L -> Q(G1, .. GN)
Ограничение Global As View GAV G -> Q(D1, …DN) • состав баз данных фиксирован • позволяет выделить подзапросы к интегрируемым БД Ограничение GAV G -> Q1(D1) U … U QN(DN)
Формирование группы БД <Тип = «Завод» AND Регион = «Москва»> Название = A Тип = завод Регион = Москва … Название = B Тип = завод Регион = Москва … Название = C Тип = больница Регион = Москва …
Расширение языка SQL - именование схем отношений <имя_группы>.<имя_глобальной_схемы> - именование метаатрибутов <имя_группы>.<имя_метааттрибута> SELECT GroupA.G1.field, GroupA.metaattributeFROM GroupA.G1
Составление массового запроса GroupA : {Dk | Имя = Институт} SELECT * FROM GroupA.G1; SELECT * FROM GroupA.G1 WHERE GroupA.Имя=‘Институт’;
Пример D2 D3.L G SELECT a, b, c FROM D1.L UNION (SELECT a, b, c FROM D2.L JOIN D3.L ON ext_id = id) G SELECT a, b, c FROM D1.L UNION (SELECT a, b, c FROM D2.L1 JOIN D2.L2 ON ext_id = id) D2.L D1.L G
Подходы к интеграции БД Физическая интеграция Виртуальная интеграция БД БД БД БД БД БД БД БД Медиатор Медиатор Центральная БД Медиатор
Преобразование запроса SELECT * FROM GroupA.G1 {Group A :} → SELECT * FROM () AS GroupA.G1 GroupA.G1 JOIN GroupA.G2{}→ ) GroupA.G1 JOIN GroupB.G2{} → )
Метаатрибуты в запросе Имя = Институт Регион = Москва …
Метаатрибуты в запросе GroupA.G1 JOIN GroupA.G2 JOIN… → Q1(D1) U Q2(D2) U … → (a1, a2, … aN, meta1, meta2, …) - именование метаатрибутов <имя_группы>.<имя_метааттрибута>