1 / 28

Поиск в базах данных с заранее неизвестной структурой. Теория.Практика.Приложения.

Поиск в базах данных с заранее неизвестной структурой. Теория.Практика.Приложения. Горелов С.С. МГУ им. М.В. Ломоносова механико-математический факультет. Структура доклада. Теория Базовые понятия подхода Идеи алгоритмов Оценки сложности Практика Тестирование на OEM-документах

Download Presentation

Поиск в базах данных с заранее неизвестной структурой. Теория.Практика.Приложения.

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Поиск в базах данных с заранее неизвестной структурой.Теория.Практика.Приложения. • Горелов С.С. • МГУ им. М.В. Ломоносова • механико-математический факультет.

  2. Структура доклада • Теория • Базовые понятия подхода • Идеи алгоритмов • Оценки сложности • Практика • Тестирование на OEM-документах • Тестирование на XML-документах • Приложения • Поиск в XML-данных • Прочие приложения

  3. Введение • Что понимается под поиском в базе данных? • Что понимается под индексом базы данных? • За счет чего осуществляется сокращение времени поиска при использовании индекса? • Как сравнивать индексы баз данных? • Каким образом можно строить индексы близкие по свойствам к оптимальным?

  4. Модель поиска Будем полагать, что на рассматриваемом уровне абстракции, ни документы, ни запросы ни схемы не обладают какой-либо определенной структурой. Схема Документ Запрос Поисковая система

  5. Основные понятия Определение Документ — элемент наперед заданного множества D. База данных DB—конечное множество документов. Запрос — элемент наперед заданного множества Q. Определение Функция поиска документа —отображение Qd : Dх Q → {0,1}. Если Qs(D, Q) = 1, то это значит, что документ D соответствует запросу Q, и Qs(D, Q) = 0 в противном случае. Определение СхемаS — объект, задающий множество документов (обозначим его [S]). Схема S1 называется более общей чем S2, если [S2][S1]. Также будем обозначать это отношение S1≥S2 .

  6. Индекс • Определение • Индексом (иерархией схем) I для базы данных D назовем такое • дерево схем, что каждая схема является более общей, чем любая • из ее дочерних схем. • Определение • Функция поиска по схеме — отображение Qs : S x Q →{0,1}. При • этом Qs(S, Q) = 1, если существует такой D, соответствующий S, • что Qd(D,S)=1 и Qs(S, Q) = 0, если такого D не существует. • Алгоритм, позволяющий сокращать время поиска в общем случае. • На каждом шаге алгоритма для рассматриваемой вершины S индекса I проверяем соответствие схемы и запроса. • Если условие не выполняется, то «отсекаем» рассматриваемую ветвь индекса со всеми соответствующими документами; если нет, то переходим к проверке дочерних схем.

  7. Пример индекса

  8. Оптимальность индекса Определение Стоимость вычислений на схеме |S| - средняя сложность вычислений запросов по схеме S. Определение Вероятность схемы {S} -вероятность события, что Qs(Q,S)=1. Математическое ожидание стоимости усечения пространства поиска по данному индексу / коротко назовем стоимостью индекса /. Математическое ожидание стоимости равно: M(I) =∑SÎIP{Ŝ}*|S|. Определение Оптимальный индекс /0 - такой, чтодля любого другого индекса I М(I) > М(I0).

  9. Построение оптимальных индексов УтверждениеДля произвольной вершины оптимальной иерархии ветвь, состоящая из всех её потомков, также является оптимальной иерархией. • Рассмотрим корневую вершину иерархии схем и исходящие из нее ребра. • Перебираем некоторые разбиения группы схем на две части, оценивая уменьшение стоимости индекса. • Выбираем наилучшее разбиение.

  10. Модельпоиска. • Компоненты: • D,Q,S, вероятностное пространство • Функции: • построение схемы по документу - S(D): D->S; • вычисление размера схемы - |S|: S->R; • отношение на схемах - S1>S2: SxS->{0,1}; • объединение схем - S1+S2:SxS->S; • вычисление вероятности схемы - P{S}: S->R; • вычисление запроса на документе - Qd(D,Q): DxQ->{0,1}; • вычисление запроса на схеме - Qs(S,Q): SxQ->{0,1}; • проверка соответствия документа схеме– S>D: SxD->{0,1}. • Свойства: • отношения S1>S2, S>D и операция S1+S2 соответствуют некоторому изоморфизму S и подмножества 2D; • если верно Qs(S,Q)=1, то существует D  S: Qd(D,S)=1; • если верно Qs(S,Q)=0, то для любого D  S: Qd(D,S)=0. • функции P{S} и |S| соответствуют своим определениям для вероятностного пространства.

  11. Оценки сложности алгоритмов. • Пусть база данных состоит из N документов. • Пусть сложность вычисления |S| оценивается, как C|S|, сложность вычисления P{S} как CP{S}, а сложность вычисления S1+S1 как CS1+S2. • Разработано два алгоритмасо следующими оценками сложности: • Стандартный - O(NC|S|+N2(CS1+S2+CP{S})+N3ln(N)). • По потоку документов - O(N(C|S|+CS1+S2+CP{S})+N2ln(N)). • Упрощенный - O((CS1+S2+CP{S})Nln(N)).

  12. Тестирование системы поиска в OEM-документах. • D=множество OEM документов. • Q=множество CRP запросов. • S=множество графовых схем.

  13. Тест1. Зависимость времени индексации от размера базы.

  14. Тест2. Зависимость стоимости индекса от размера базы.

  15. Тест3. Тестирование поиска.

  16. Тестирование системы поиска в XML-документах. • D=XML документ. • Q=XQuery запрос. • S=схема DTD.

  17. Тест1. Зависимость времени индексации от размера базы.

  18. Тест2. Зависимость стоимости индекса от размера базы.

  19. Тест2. Зависимость стоимости индекса от размера базы.

  20. Тестирование. Результаты. • Что является результатом работы. • Прототип ядра для создания поисковых систем различного назначения. • Прототип поисковой системы в OEM-документах. • Прототип поисковой системы в XML-документах. • Выводы. • Протестированные алгоритмы оправдали полученные ранее оценки сложности. • Использовать протестированные алгоритмы для индексации больших объемов данных представляется неэффективным. • Подход подтвердил гибкость в использовании и приреализации.

  21. Вероятные направления использования. • Поиск в XML. • Поиск в OEM. • Создание поисковых систем документов нестандартных типов по нестандартным запросам.

  22. XML. Что это такое? • XML - человеко-ориентированный формат; • XML - универсальный формат; • XML имеет строго определённый синтаксис, что позволяет ему быть простым, эффективным и непротиворечивым;

  23. Зачем создавался XML? • как универсальный формат для обмена структурированными данными между приложениями в сети Интернет • 1996й год - утверждение спецификации XML, сочетающего простоту HTML и логику SGML • для обработки XML данных были созданы XPath, XSL, XQuery

  24. Как применяют XML. Применение. • Для обмена данными между приложениями. XHTML,SOAP, etc. • В качестве исходных данных для шаблонизаторов при выдаче XHTML пользователю. • Для хранения исходных данных и их последующей обработке. Плюсы и минусы, отмечаемые разработчиками при выборе технологий связанных с XML. + Гибкость перехода от проекта к проекту и низкая стоимость перехода. + Отчуждаемость - Малое количество квалифицированных специалистов и как следствие высокая стоимость единичной разработки. - Низкая производительность

  25. Native XML-СУБД. Небольшое тестирование. Отобраны: • Свободно распространяемые СУБД. • Поддерживаемыев настоящее время. • С реализацией XQuery. Тестовая база: • База библиотеки – 1млн записей, 400МБ XML файл. • Запрос 1: Запрос книги по ключу. • Запрос 2: Запрос книг, на которые ссылается Заданная.

  26. Использование Native XML-СУБД.

  27. Применение разработанного подхода вне поиска плуструктурированных данных. • Поиск по ключевым словам. • Поиск мультимедиа: • изображения; • звук; • видео. • Поиск произвольных объектов.

  28. Выводы • В настоящее время использование XML-технологий для хранения и обработки больших объемов данных представляется непрактичным, в силу отсутствия соответствующих средств. • Теоретически пространство для развития как в целом XML-технологий, так и конкретно решаемой задачи – огромное. Начиная от конкретных реализаций поиска в XML-данных и заканчивая разработкой новых поисковых систем для нестандартных типов данных. • Но на сегодняшний день подобные задачи стоят слишком далеко от тех массовых задач, которые непосредственно решаются на практике.

More Related