Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Методы и средства интеграции независимых баз данных в распределенных телекоммуникационных сетях. Монография

.pdf
Скачиваний:
0
Добавлен:
07.09.2026
Размер:
2 Мб
Скачать
☆
Как видно из таблицы 4.2, производительность СУБД Oracle примерно на 14% превосходит производительность СИД DISGO в условиях доступности всех ИД. В то же самое время, очевидно, что высокая степень параллелизма при извлечении информации позволяет смягчить наличие задержки при обращении к ИД (то есть в результате получается не суммарная, а максимальная задержка). В связи с этим выгодно отличаются результаты при использовании наивного метода выполнения запросов и оптимизированного метода при высоких степенях параллелизма. В данной ситуации методы, направленные на уменьшение объема извлекаемой из ИД информации неэффективны в связи с небольшими размерами ответов и достаточно большой скоростью каналов передачи данных. В связи с этим оптимизированные методы выигрывают по сравнению с наивными только за счет того, что позволяют выполнять параллельно больше типов операций.
С другой стороны, при таких объемах информации и скоростях обработки запросов на первое место выходят задержки, вносимые реализацией системы (например, отсутствие в СИД DISGO кэшей для данных и словарей, задержки, вносимые за счет работы с дополнительным компонентом — сервером приложений) и сетевые задержки. При этом существенными становятся задержки, вносимые СУБД при непосредственной обработке запроса СИД (а не при передаче результатов выполнения запроса СИД в СУБД). Для полной передачи по сети всех имеющихся в 4 БД данных СИД потребовалось бы меньше секунды, без учета сетевых задержек — меньше 0.5 секунды. Но при обработке запросов СИД данные фильтруются и выбираются далеко не в полном объеме. С учетом того, что пиковая производительность достигает 0,3 запросов в секунду, сетевое взаимодействие отнимает меньше 30% всего времени выполнения запроса, и основное время тратится на
141
получение промежуточных результатов от СУБД, под управлением которых работают подсоединенные ИД, и от СИД.
Преимуществом средств Oracle в данном случае может являться отсутствие необходимости дожидаться полной материализации ответов подсоединенных ИД для дальнейшей их обработки - СУБД может выполнять конвейерную обработку данных (pipelining). Однако, как видно из последнего набора тестовых данных, генерация журналов отката при заполнении временных таблиц с результатами не имеет значительного влияния на скорость обработки запросов. При отключении журналов производительность не изменяется. То есть на первое место по влиянию на скорость выполнения запросов выходит отсутствие кэшей метаданных (что приводит к необходимости обращаться к СУБД на фазе разбора запроса) и дополнительные накладные расходы, вносимые сервером приложений. Скорость передачи данных клиенту не имеет такого влияния из-за небольших размеров результата (для подтверждения этого была выполнена серия экспериментов, где СИД DISGO только формировала ответ, но выборка информации (операция fetchNextBatch()) не выполнялась).
В следующем наборе тестов рассматривалась реакция системы на недоступность некоторых ИД. В рамках тестирования в разных комбинациях отключались ИД. Для тестов использовался тот же самый набор запросов, что и в первом наборе. В ходе тестирования проводились серия опытов по десять минут, в каждой серии фиксировалось количество ошибок, возникающих при обработке запросов и общее количество обработанных запросов. На базе этих
доля критических ошибок (то есть тех ситуаций, когда система не могла выдать даже неполный ответ на запрос). Результаты эксперимента приведены в таблице 4.3. Знак «+» в таблице обозначает доступность ИД, знак «-» - недоступность.
142
Таблица 4.3
ИД1 ИД2 ИД3 ИД4 СИД DISGO,
СИД DISGO,
метод
СУБД Oracle
Запро-
Фата
-
Запро
-
Зап
-
Фата
-
льных
Запро
-
Запро
-
Фа
-
Запро
-
+ + + + 0.25
0%
0.25
0.19
0%
0.19
0.30
0%
0.30
+ + + - 0.26
0%
0.26
0.25
0%
0.25
388.94
100%
0
+ + - + 0.28
0%
0.28
0.23
0%
0.23
397.43
100%
0
+ + - - 0.30
0%
0.30
0.31
0%
0.31
562.14
100%
0
+ - + + 0.32
28%
0.23
0.26
31%
0.18
411.16
100%
0
+ - + - 0.32
25%
0.24
0.24
21%
0.19
388.86
100%
0
+ - - + 0.33
21%
0.26
0.26
19%
0.21
378.06
100%
0
+ - - - 0.37
22%
0.29
0.35
26%
0.26
387.67
100%
0
- + + + 0.32
0%
0.32
0.26
0%
0.26
421.88
100%
0
- + + - 0.38
0%
0.38
0.42
0%
0.42
342.34
100%
0
- + - + 0.38
0%
0.38
0.40
0%
0.40
389.05
100%
0
- + - - 1.87
100%
0
1.41
100%
0
375.58
100%
0
- - + + 0.38
26%
0.28
0.28
32%
0.19
373.22
100%
0
- - + - 0.47
27%
0.34
0.46
26%
0.34
276.35
100%
0
- - - + 0.48
28%
0.34
0.44
27%
0.32
366.88
100%
0
- - - - 2.56
100%
0
1.97
100%
0
589.23
100%
0
Среднее
0.58
24%
0.26
0.48
24%
0.23
378.07
94%
0.02
Результаты тестирования СИД DISGO и СУБД Oracle в
распределенной сети.
оптимизированный
метод
сов в
сек.
ль-
ных
оши-
бок
сов в
сек. (без
оши-
бок)
непосредственного
выполнения
росов в сек.
оши-
бок
сов в
сек. (без
оши-
бок)
сов в
сек.
та-
ль-
ных
оши-
бок
сов в
сек. (без
оши-
бок)
143
В тестовом наборе запросов происходит обращение к
Предикат
ИД1,ИД3,ИД4
publications:publications(?p,?a,?y,?j,?pub,?f,?l)
ИД1,ИД2,ИД3,ИД4
publications:subdepts(?x,?y)
ИД1,ИД3,ИД4
publications:journals(?j,?site)
ИД2
предикатам publications:authors{pub_title,first_name,last_name,department_name, academic_title}(?t,?f,?l,?d,?a), publications:publications(?p,?a,?y,?j,?pub,?f,?l), publications:subdepts(?x,?y), publications:journals(?j,?site).
СИД DISGO возвращает критическую ошибку в том случае, если не существует ни одного пути получения ответа на запрос. Для явно определенных предикатов это означает, что все ИД, на которые отображается данный предикат, недоступны или возвращают ошибку при попытке их опросить; для неявно определенных — что не существует способа вычисления данного предиката без использования недоступных ИД. В таблице 4.4 для используемых в запросе предикатов приведен список ИД, которые должны быть одновременно недоступны для невозможности обработки обращений к этим предикатам.
Таблица 4.4
Зависимость используемых в запросе предикатов от ИД
ИД, используемые при
определении предиката
publications:authors{pub_title,first_name, last_name, department_name,academic_title}(?t,?f,?l,?d,?a)
В тестовом наборе запросов 1 из них зависит от предиката publications:journal, все запросы зависят от предикатов
144
publications:authors, publications:publications и 2 запроса зависят от предиката publications:subdepts. Таким образом, учитывая равную вероятность появления любого из четырех запросов, СИД DISGO не может ответить на 100% запросов при одновременной недоступности ИД1, ИД3 и ИД4 и примерно на 25% запросов при недоступности ИД2. СУБД Oracle не сможет ответить ни на один запрос из тестового набора при недоступности любого ИД. Это подтверждается тестовыми данными, приведенными в табл. 4.3. Из данной таблицы видно, что СИД DISGO не может ответить на 100% запросов, как и ожидалось, только при одновременной недоступности ИД1, ИД3 и ИД4 и не может обработать от 19% до 32% запросов при недоступности ИД2. С другой стороны, СУБД Oracle не может дать неполного ответа на запрос даже при отсутствии всего одного ИД.
Как видно из таблицы 4.3, скорость обработки запросов к СИД DISGO возрастает при большом количестве недоступных ИД. Это происходит за счет следующих факторов: 1) отсутствует выборка информации из недоступных ИД, 2) уменьшается количество передаваемой клиенту информации, 3) часть запросов не обрабатывается полностью — как только система понимает, что запрос выполнить невозможно, клиенту возвращается ошибка. Огромная скорость обработки запросов СУБД Oracle объясняется тем, что как только СУБД фиксирует недоступность ИД, к которым происходит обращение в запросе, клиенту тут же возвращается ошибка. При этом СУБД запоминает состояние ИД на время одной сессии, что позволяет ей после первого обнаружения недоступности ИД мгновенно обнаруживать его недоступность и при обработке последующих запросов, поэтому вместо обработки таких запросов она просто начинает посылать клиенту сообщения об ошибках (со скоростью 300-400 сообщений об ошибках в секунду). При недоступности хотя бы одного ИД СУБД Oracle не может возвратить пользователю даже неполного ответа. С учетом всех отмеченных обстоятельств средняя скорость обработки запросов в СИД DISGO
145
составила 0.26 релевантных ответов на запрос в секунду, a у СУБД Oracle — 0.02 ответа.
4.2.3. Результаты анализа работы средств
интеграции данных DISGO и Oracle
Проведенные в локальной и распределенной сети эксперименты подтвердили, что использование предложенных методов позволяет повысить скорость обработки запросов и при этом получать неполные ответы на запросы при недоступности ИД. При этом эффективность методов, направленных на уменьшение извлекаемой из ИД информации, естественно, падает при условии предоставления каждым ИД довольно небольшого объема данных. Но возрастает значение методов, позволяющих распараллелить обращения к различным ИД и тем самым уменьшить совокупную задержку начала получения информации из подсоединенных ИД.
Отдельно следует отметить, что при скоростях передачи данных, доступных в современных сетях (даже распределенных) из доли затрат времени, требуемых для различных этапов выполнения запроса основную часть составляют затраты, вносимые средствами обработки данных (в том числе, традиционными реляционными СУБД)3, а не затраты, необходимые для непосредственной передачи данных между узлами распределенной системы.
Таким образом, разработанная СИД DISGO продемонстрировала эффективность положенных в ее основу методов обработки и оптимизации запросов и эффективность реализации этих методов.
3
особенно при обработке данных относительно небольшого объема
146
ЗАКЛЮЧЕНИЕ
Таким образом, в настоящей работе рассмотрена система DISGO, реализующая предложенные авторами методы интеграции изначально разрозненных баз данных (БД), в которых хранятся данные о некоторой общей для этих БД предметной области.
Основными областями возможного практического применения настоящей системы являются следующие две. Во­первых, указанные средства могут использоваться для создания разделяемых межкорпоративных БД, создаваемых путем логической интеграции той или иной части БД, принадлежащих отдельным корпорациям (предприятиям). А второй областью применения этих средств может стать интеграция разрозненных (но идентичных по своему функциональному назначению) БД при объединении предприятий (как при «равноправном» их слиянии, так и при поглощении менее успешных предприятий более успешными).
В обоих случаях изначально интегрируемые с использованием рассмотренных средств БД находятся под независимым административным управлением. Более того, в первом случае они остаются таковыми постоянно. В обоих случаях процесс вовлечения новых предприятий, как в межкорпоративные, так и в корпоративные объединения может развиваться во времени с вовлечением в него все новых предприятий (вместе с их БД). Таким образом, актуальным требованием, предъявляемым к средствам интеграции таких совокупностей БД, является «устойчивость» приложений, разработанных с использованием этих средств, к расширению состава указанных совокупностей БД при расширении состава предприятий, участвующих в корпоративных и межкорпоративных объединениях. В идеале тексты таких приложений не должны подвергаться никаким
147
изменениям в случаях, когда расширение количества участников корпоративных и/или межкорпоративных объединений не затрагивает изменения функциональности указанных приложений.
Рассматриваемая система
аналогов полностью обеспечивает выполнение этого требования за счет использования оригинальных расширений используемого ею логического языка описания данных DATALOG. Кроме того, в отличие от большинства аналогов, система DISGO обеспечивает выполнение таких важных свойств, как возможность получения неполного ответа при временной недоступности части БД, что является очень важным при удаленном расположении интегрируемых БД в распределенных сетях TCP/IP, возможность оптимизации времени выполнения запросов и некоторые другие.
В тексте работы проводится детальный обзор аналогов системы DISGO с анализом их достоинств и недостатков, рассматриваются методы построения системы интеграции распределенных в сети TCP/IP баз данных идентичной функциональной ориентации,
DISGO в отличие от известных ее
эффективные методы обработки и оптимизации выполняемых такой системой запросов к распределенной совокупности независимых БД. Рассматривается архитектура и прототипная реализация системы интеграции данных DISGO, построенной на базе разработанных методов. Результаты сравнения производительности (при обработке запросов к БД) разработанной системы с другими средствами интеграции совокупности независимых БД, взаимно удаленных друг от друга в составе распределенных сетей TCP/IP, показали существенное преимущество разработанной системы по сравнению с другими средствами аналогичного назначения, в частности со средствами Oracle Heterogeneous Services [19].
На основании указанных выше возможностей системы интеграции данных
работе, ее авторы надеются, что монография окажется полезной как
DISGO, подробно рассматриваемой в настоящей
148
для исследователей, занимающихся развитием систем интеграции данных, так и для разработчиков разнообразных корпоративных и межкорпоративных информационных систем. В последнем случае, если эти системы должны использовать уже существующие территориально распределенные БД, каждая из которых хранит свою «порцию информации» из определенной предметной области, целесообразно использование методов и алгоритмов, предложенных в рамках настоящей работы. Естественно, что, будучи востребованной специалистами указанного профиля, монография должна представлять несомненный интерес также для аспирантов и студентов соответствующих специальностей.
149
ЛИТЕРАТУРА
1. Загриценко Н.Н., Соколова В.Н., Лазарева С.А. Технологии
преобразования и интеграции данных в сложных разнородных средах // Информатизация образования и науки, № 4(16), 2012, с. 141-154.
2. Пыхалов А.В., Букатов А.А. Концепции построения и основные
алгоритмы системы интеграции данных DISGO // Вестник компьютерных и информационных технологий, 2010, №10, с. 49-55.
3. Букатов А.А., Пыхалов А.В. Обработка и оптимизация запросов
в системе интеграции данных DISGO // Научно-методический журнал «Информатизация образования и науки» Выпуск 1(9), январь 2011, с. 22-34.
4. Букатов А.А., Пыхалов А.В. Методы и средства эффективной
интеграции территориально-распределенных данных в корпоративных и межкорпоративных сетях // Вестник компьютерных и информационных технологий, М.: ООО «Издательский дом «Спектр», № 11, 2012 г., с. 33-39.
5. Halevy A., Rajaraman A., Ordille J. Data Integration: The
Teenage Years // Proceedings of the 32nd international conference on Very large data bases, VLDB Endowment, Seoul, Korea, 2006, p. 9-16.
6. Oracle Data Integrator //http://www.oracle.com/technetwork/
/middleware/data-integrator/overview/ , 2011.
7. Shvaiko P., Euzenat J. A Survey of Schema-based Matching
Approaches // Journal on Data Semantics, Vol.4, Springer, 2005, p. 146-171.
8. Cruz I., Xiao H. The Role of Ontologies in Data Integration //
Journal of Engineering Intelligent Systems, Volume 13, Number 4, 2005, p. 245-252.
150
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]