Что изменилось за прошедший год SET SESSION DEFAULT SECURITY шифрация файлов БД – AES, DES, ГОСТ … обобщённый тип GEOMETRY уменьшено время восстановления резервного сервера, добавлена поддержка групп резервных серверов автоматическое определение параметров старта ЛИНТЕР 64-хразрядные Linux, FreeBSD распределённые запросы фразовый поиск с учётом расстояния между словами
Фразовый поиск с учётом расстояния между словами ::='|' ((['+' | '-'] ) | ( )) '|' ::=целое беззнаковое число в диапазоне ::= целое число в диапазоне ::= целое число в диапазоне..10 Пример: Подсчитать количество документов, в которых рядом встречаются слова "РЕЛЭКС" и одно из слов "ЛИНТЕР", "НЕВОД", "СУБД". SELECT COUNT(ID_DOC) FROM "DOCUMENTS" WHERE TEXT_DOC CONTAINS '"РЕЛЭКС |1| (ЛИНТЕР НЕВОД СУБД)"';
И целого мира мало…
Сложность поиска Интенсивность поиска Интенсивность модификаций Что разъединяет!? OLAP-системы RT- системы Search EngineStream-системы Универсальные системы управления базами данных
Сложность поиска Сложность индексов Сложность организации данных Интенсивность модификаций Cтепень сжатия данных Hash Bitmap B-Tree Bit-Sliced JOIN R-Tree, M-Tree… Иерархические Hash B-Tree … И другие…
Сложность поиска Интенсивность поиска Интенсивность модификаций Что мы предлагаем? OLAP-системы RT- системы Search EngineStream-системы Универсальные системы управления базами данных ЛИНТЕР SliceSys
Репликация данных в SliceSys СУБД ЛИНТЕРПрототип СУБД SliceSys SliceSys БД Инкремент 1 Инкремент 2 Инкремент 3 ЛИНТЕР БД Инкремент 4 Порция новых данных Инкремент 5
Сжатие данных в SliceSys Глобальное сжатиеЛокальное сжатиеМежстолбцевое сжатие Сжатие таблицы Локальные словари Удаление шаблонов Удаление констант Дифференциальное сжатие Дифференциальное сжатие Экономное кодирование Удаление констант Удаление шаблонов Словарные методы Удаление функциональных зависимостей Индексы SliceSys Hash Bitmap B-Tree Bit-Sliced JOIN
Сжатие данных в SliceSys Высокая степень сжатия данных ~6-20 раз! Индексы сжимаются так же, как и данные
Пример обработки данных 8 часов Месячный отчёт Сжатие и перенос новых данных на SliceSys сервер Месячный отчёт на основе SliceSys сервера минут
Использование SliceSys Мобильные пользователи возможность работать там, где требуется, приводит к экономии почти 80 минут рабочего времени в день на каждого сотрудника. В денежном выражении это исчисляется от $95 до $1420 в месяц в зависимости от величины компании… 100 Гб диск ноутбука ~ 1 Тб данных ! 1 Гб ОЗУ ~ 10 Гб кеша !
SliceSys – не совсем Read-Only система: инкрементное добавление и обновление; широкие возможности администрирования индексов; различные варианты структуры хранения данных – покортежное или поатрибутное;
WHEREA.a1 < ? SELECT FROM A,B... SUM(...),... A.a4,GROUP BYB.b4,... OR AND A.a2 = ? A.a3 = B.b3 OR AND OR AND C.a3 = B.b3 B.a2
JOIN Bitmap Примеры синтетических индексов Hash Bitmap Bitmap-отросткиJoin-отростки JOIN B-Tree …… … Bitmap Bitmap-цепочки Join-цепочки JOIN Hash … JOIN
CREATE INDEX IND1 FOR QUICK (SELECT * FROM A WHERE A.I < ?); CREATE INDEX IND2 FOR QUICK (SELECT A.J FROM A WHERE A.I = ?); CREATE INDEX IND3 FOR QUICK (SELECT * FROM A,B WHERE A.I = B.I); CREATE INDEX IND4 FOR QUICK (SELECT A.J, B.J, AGG(*) FROM A, B WHERE A.K = ? AND A.I = B.I GROUP BY A.J, B.J); Декларативная индексация
Ось формализованности данных Формализованность данных Search Engine (Documents & Images) Строгие РСУБД Свобода данных Похожесть объектов Узость приложений Универсальный клиент Дисциплина данных Совпадение объектов Разнообразие приложений Конкретные клиенты Поиск отклонений от макро зависимостей Поиск микро-зависимостей (связей) Поиск макро-зависимостей
Параллельные миры Макро-мир классификация, кластеризация, поиск связанных свойств и проч. Большие группы объектов Микро-мир идентификация, графы, поиск косвенных связей, поиск отклонений и т.п. Конкретные объекты и связи
Ось формализованности данных Формализованность данных Search Engine (Documents & Images) Строгие РСУБД Свобода данных Похожесть объектов Узость приложений Универсальный клиент Дисциплина данных Совпадение объектов Разнообразие приложений Конкретные клиенты ИАС НЕВОД Поиск отклонений от макро зависимостей Поиск микро-зависимостей (связей) Поиск макро-зависимостей
Идентификация Написал Синонимы Модель данных НЕВОД Микро-зависимости Конкретные объекты и связи Улица 1-го мая Ул. 1-го мая «дом» «жилище»
Собранные в хранилище, очищенные, согласованные посредством процедур ETL данные образуют семантическую сеть. Увидеть «смысл» в этих данных позволяют диаграммы семантической сети.
Проблема автоматизации обработки Однако, до сих пор остаётся слабо автоматизированной рутинная операция выделения связей в неструктурированных данных На основе неформализованных документов необходимо ввести фактические данные, а также установить смысловые связи между ними
Несмотря на специфику – механизмы общие Каждая предметная область имеет свою специфику как внутреннего, так внешнего представления в виде неформализованного текста Но независимо от предметной области, процесс извлечения информации всегда включает в себя одни и те же операции: анализ текста (лексический, морфологический, синтаксический и семантический) очистка, корректировка, согласование и т.п. синтез данных в единую семантическую сеть
Неформализованный текстовый документ НЕВОД NDE - Nevod Data Extarctor Вспомогательный модуль Управляющий модуль Схема и набор правил преобразования информации Данные в формализованном виде Прикладная задача База данных Сторонняя информационная система Файл XML CSV … Модули лексического, морфологического, синтаксического и семантического анализа
Пример интерфейса НЕВОД NDE
Сочетание НЕВОД NDE и уже имеющихся в НЕВОД средств анализа представляет собой мощное решение для обработки слабо формализованных данных, представленных в виде текстовых документов Тем не менее, этого недостаточно для автоматизации обработки самих текстовых документов, прежде всего – полнотекстового поиска Две цели: –извлечение, формализация и синтез фактов («осмысление») –поиск документов содержащих эти факты
Разработана система семантического поиска электронных документов Итерационная схема поиска Каждый шаг повторяет схему «запрос-выборка» классической поисковой системы. Но дополнительно могут быть даны рекомендации по дальнейшему поиску, каждая из которых представляет собой модификацию текста исходного запроса.
Что дальше? Дальнейшее развитие подразумевает включение в механизмы поиска «тезауруса» фактов. Т.е. поиск по смыслу содержимого.
Наше время время синтеза «Время разбрасывать камни, и время собирать камни»
Вопросы?
Спасибо за внимание Павел ЗАО НПП «РЕЛЭКС»