1 СУБД UMS-FAD тм Компания «Х-Технология» Москва 2011
2 Системотехническое решение СУБД UMS-FAD тм Административный клиент GAI Фреймворк UMS: веб-сервер UNET виртуальная машина UVM компилятор байт-кода UBC сетевой шлюз UGW Двигатель FAD тм Драйвер LCD Репозиторий execute.erm
3 Особенности СУБД UMS-FAD тм Расширенная реляционная модель данных ERM Денормализованные отношения Ассоциативные массивы данных Служебные домены первичных ключей данных Мультиверсионная архитектура Отсутствие блокировок объектов базы данных Отсутствие журналов транзакций и сегментов отката Сериализуемый уровень изоляции транзакций Механизм поиска в виде матричных деревьев
4 Ассоциативный массив 111ХХХХ212ХХХХХХХ313ХХХХХХХХХХХХХХХ 414ХХХХ515ХХХХХ516ХХХХХХХ617ХХХХХХХХХ 111ХХХХ212ХХХХХХХ313ХХХХХХХХХХХХХХХ Реляционное отношение ДоменВерсияУровень иерархии Начало первого кортежа Начало второго кортежа Значение атрибута Атрибут кортежа
5 Расширенная реляционная модель данных ERM Денормализованные отношения – максимально полные информационные образы типов объектов предметной области В типах объектов поддерживаются логические связи между составляющими доменами (в виде иерархий) Первичные ключи – функционально независимые атрибуты служебного домена уникальных идентификационных номеров Вторичные ключи – соответствуют вторичным ключам базовой реляционной модели данных RM Манипуляционный и целостный аспекты модели ERM соответствуют подобным аспектам модели RM Доменный состав отношений модели ERM соответствует атрибутному составу классов объектно-ориентированной модели данных прикладных решений
6 Кортеж данного - мультимножество Фамилия - Кузнецов Имя - Иван Телефон - Рабочий Номер Телефон - Мобильный Номер Телефон - Неизвестно Номер УИН
7 Структура кортежей данных Атрибуты каждого кортежа связаны в иерархическую структуру Арность кортежей в общем случае не равна арности отношений Кортежи могут содержать повторяющиеся атрибуты или группы атрибутов Каждое отношение содержит головной кортеж, содержащий стандартный набор атрибутов, имеющих неопределенные значения, и соответствующий одному из типов объектов предметной области Максимальный размер одного кортежа ограничен возможностями файловой системы Кортеж может содержать ссылки на фрагменты неструктурированной информации, хранимые в файле базы данных или в отдельных файлах
8 Мультиверсионная архитектура СУБД UMS-FAD тм Значение УИН данного Новое значение атрибута ID атрибута ID Значение УИН данного Старое значение атрибута ID атрибута Адрес УИН данного Узлы М-дерева Старая версия данного Новая версия данного Адрес атрибута
9 Структура версий данных Каждое данное состоит из первичной версии и набора дельта- версий, логически связанных совпадающим уникальным идентификационным номером (УИН) Версии содержат номера транзакций записи Модифицированные атрибуты в составе версий данных логически связаны служебным идентификатором экземпляра атрибута (ID) Запись новых версий данных осуществляется без чтения и блокировки старых версий, на основании УИН данных и ID атрибутов Все версии данных хранятся в одном отношении Очистка базы данных от устаревших версий данных производится в фоновом режиме путем консолидации версий
10 Двоичное сбалансированное матричное дерево поиска Корневой указатель Значение ключа четного поддерева = 2 L x Y, где L – уровень дерева, Y - сомножитель Позиция узла дерева на уровне = (Y + 1) / 2 Значение ключа нечетного поддерева = (2 L x Y) - 1 Значение ключа общей вершины = (K 1 + K 2 ) / 2, где K1,2 – значение ключей нижних узлов
11 Особенности матричных деревьев поиска Матричные деревья поиска относятся к самобалансирующимся двоичным деревьям Включению элемента в матричное дерево предшествует присвоение номера элементу в порядке записи в базу данных Отдельное матричное дерево состоит из четного и нечетного поддеревьев (поиск во вдвое меньшем числе элементов) В процессе балансировки участвуют не более 4 элементов (в отличие от половины элементов любой другой разновидности самобалансирующихся деревьев) В случае монотонно возрастающего порядка записи элементов матричные деревья не требуют балансировки Механизм поиска состоит из нескольких ярусов матричных деревьев – типы данных, домены, дескрипторы атрибутов
12 Сравнение эффективности реализации RM и ERM моделей данных Узлы B+деревьев Узлы M- деревьев Список данных, узлов M- деревьев, кодов и значений атрибутов Список листьев B+деревьев Словарь кодов и значений атрибутов Таблицы данных ER модель A – индексируемые атрибуты, N – нормальная форма, F – сканирование файлов ERM модель A = max, N = 1, F = 0 Обращения к диску Запись ~ L/2 Чтение ~ 0 Запись ~ 0 Чтение ~ 0 Запись ~ 2 Чтение ~ 1 Запись ~ N Чтение ~ 1 (+ F) Запись ~ 1 Чтение ~ 1 Запись = A x (L/2 + 2) + 2N Чтение = A x 3 + 2F x N Запись = 1 Чтение = 1 Обращения к диску Итого: Сегменты отката Запись ~ N Чтение ~ 1 (+ F) Оперативная память Энергонезависимая память
13 Основные инновации СУБД UMS-FAD тм Данные, метаданные и фрагменты неструктурированной информации входят в единую структуру данных с общей точкой входа Использование инкрементных версий данных Замена упреждающего резервного копирования метаданных на циклический процесс перезаписи их парных значений Модификация данных и метаданных на логическом уровне Консолидация версий данных («уборка мусора») в фоновом режиме
14 Компоновочные решения UMS-FAD тм Клиентское приложение Фреймворк UMS LCD FAD База данных Веб-браузер Триггеры, хранимые процедуры, пользовательские функции, представления, серверные приложения Клиентское приложение FAD База данных Библиотека функций Способы реализации: 1 - клиент-серверная архитектура 2 - распределенные базы данных 3 - библиотеки расширения 4 - серверные приложения 5 и 6 - встраивание двигателя FAD 6 UNET UVM UGW СУБД 5 4 База данных
15 работает на платформе 64-разрядных операционных систем UNIX/Linux обеспечивает обмен информацией в распределенной вычислительной среде в форматах UDTP и SOAP поддерживает взаимодействие с браузерами в формате HTTP работает на платформе 32/64-разрядных операционных систем Unix/Linux и Microsoft Windows обеспечивает обмен данными с клиентскими приложениями, аналитическими системами и табличными процессорами в формате XML Клиентская часть Серверная часть СУБД UMS-FAD тм реализована в клиент-серверной архитектуре
16 Масштабирование СУБД UMS-FAD тм Слейв-сервер Реплика БД Запись Репликация Чтение Мастер-серверСлейв-сервер Мастер БДРеплика БД Запись Репликация Запись Чтение Клиент
17 Характеристики масштабирования и кластеризации СУБД UMS-FAD тм Максимальное количество слейв-серверов, обслуживаемых одним мастер-сервером – до десяти тысячи единиц Максимальное количество серверов баз данных в кластере, обслуживаемых одним сервером приложения – до десяти тысяч единиц Скорость передачи данных: - между мастер-сервером и слейв-сервером 10 Гбит/сек; - между сервером приложения и сервером базы данных 16 Гбит/сек.
18 Кластеризация СУБД UMS-FAD тм Сервер приложения: Данное # 1 Данное # 2 Данное # 3 Данное # 4 …… Данное # 10 Данное # 11 Данное # 12 Данное # 13 Данное # 14 …… Данное # 20 Данное # 21 Данное # 22 Данное # 23 Данное # 24 …… Данное # 30 Данное # 31 Данное # 32 Данное # 33 Данное # 34 …… Данное # 40 Сервер базы данных # 1 Сервер базы данных # 2 Сервер базы данных # 3 Сервер базы данных # 4 Сервер базы данных # ….. Сервер базы данных # 10
19 Технология выполнения параллельных вычислений в среде UMS-FAD тм Процесс верхнего уровня – генерация пользовательских сессий и консолидация промежуточных результатов параллельных вычислений Процесс нижнего уровня – выполнение параллельных вычислений и сохранение промежуточных результатов параллельных вычислений Использование на верхнем уровне одной многопоточной модификации двигателя баз данных FAD тм Использование на нижнем уровне множества однопоточных модификаций двигателя баз данных FAD тм Аппаратная платформа верхнего уровня – компьютер Аппаратная платформа нижнего уровня - суперкомпьютер
20 Параллельные вычисления на платформе СУБД UMS-FAD тм База данных Фреймворк UMS Сервер приложения Одно- поточныйF AD тм База данных Одно- поточныйF AD тм Объединенная база данных Фреймворк UMS Сервер базы данных Многопоточный FAD тм База данных
21 Индустриальный тест ТРС-С по оперативной обработке транзакций OLTP Пиковая производительность СУБД UMS-FAD тм составила 1 миллион транзакций в минуту в расчете на одно ядро процессора Цена одной транзакции в минуту СУБД UMS- FAD тм составила единицы центов США
22 Прогрессивная и регрессивная зависимости времени чтения от объема баз данных, включающих 5, и 20 млн. данных ,01 0,02 0,03 0,04 Время, секунды Данные, млн. единиц СУБД UMS-FAD тм Реляционная СУБД
23 Контакты ООО «Х-Технология» , Москва, Малый Сухаревский пер., дом 9, строение 1, офис 36 тел http: //