200 likes | 348 Views
СУБД UMS. Компания «Х-Технология» Москва 2012. Системотехническое решение СУБД UMS. Административный клиент GAI. Драйвер LCD. Сервер UMS : веб-сервер UNET шлюз UGW фронтальный компилятор UFC тыловой компилятор UBC диспетчер UD двигатель базы данных UEN. Репозиторий metaDB.
E N D
СУБДUMS Компания «Х-Технология» Москва 2012
Системотехническое решение СУБД UMS Административный клиент GAI Драйвер LCD Сервер UMS: веб-сервер UNET шлюз UGW фронтальный компилятор UFC тыловой компилятор UBC диспетчер UD двигатель базы данных UEN Репозиторий metaDB
Особенности СУБД UMS Расширенная реляционная модель данных ERM Денормализованные отношения Сложные домены Отношения в виде ассоциативных массивов кортежей Кортежи из мультимножеств атрибутов Инкрементные версии кортежей Отсутствие блокировок объектов базы данных Отсутствие журнала транзакций и сегментов отката Сериализуемый уровень изоляции транзакций
Объекты СУБД UMS Метаданные Таблица отношений Отношение В+дерево В+дерево Карта индексов В+дерево Ассоциативный массив кортежей Таблица доменов Файл неструктурированной информации Файл неструктурированной информации Файл неструктурированной информации
Расширенная реляционная модель данных ERM • Денормализованные отношения – максимально полные информационные образы типов объектов предметной области • В схеме отношения поддерживаются логические связи между определяющими доменами (в виде иерархий) • Первичные ключи – функционально независимые атрибуты служебного домена уникальных идентификационных номеров • Вторичные ключи – соответствуют вторичным ключам базовой реляционной модели данных RM • Манипуляционный и целостный аспекты модели ERM соответствуют подобным аспектам модели RM • Доменный состав отношений модели ERM соответствует атрибутному составу классов объектно-ориентированной модели данных прикладных решений
Структура кортежа Уровень иерархии атрибута Иденти-фикатор атрибута Длина записи значения атрибута Алиас домена Значение атрибута 1 45829 uin 32 16482107 2 46297 surname 64 Иванов 3 46920 first_name 64 Сергей 4 47005 last_name 64 Николаевич 2 47431 phone_type 64 Мобильный 3 47852 phone_number 32 89162789031
Ассоциативный массив кортежей – реляционное отношение Значения элементов В+дерева 1 45829 uin 32 16482107 2 46297 surname 64 Иванов Начало и конец кортежа 3 46297 first_name 64 Сергей 4 47005 last_name 64 Николаевич 2 47431 phone_type 64 Мобильный 3 47852 phone_number 32 89162789031 1 48206 uin 32 16482108 2 48431 surname 64 Петров Начало и конец кортежа 3 48937 first_name 64 Александр 4 49142 last_name 64 Игоревич 2 49580 phone_type 64 Стационарный 3 49863 phone_number 32 84953681406
Структура кортежей • Атрибуты каждого кортежа связаны в иерархическую структуру • Арность кортежей в общем случае не равна арности отношений • Кортежи могут содержать повторяющиеся атрибуты или группы атрибутов • Каждое отношение содержит головной кортеж, содержащий стандартный набор атрибутов, имеющих неопределенные значения, и соответствующий одному из типов объектов предметной области • Кортеж может содержать ссылки на фрагменты неструктурированной информации, хранимые в файле базы данных или в отдельных файлах
Кортеж из мультимножества атрибутов 345 УИН - 27498752063 386 Фамилия - Кузнецов 402 Имя - Иван 437 Телефон - Рабочий 451 Номер - 495 365 2987 475 Телефон - Мобильный 492 Номер - 916 120 6582 518 Телефон - Домашний 534 Номер - 499 268 5049
Версионная архитектура СУБД UMS • Кортеж состоит из родительской версии и набора дочерних версий, логически связанных совпадающими уникальными идентификационными номерами (УИН) • Версии содержат номера транзакций записи • Модифицированные атрибуты в составе версий логически связаны служебным идентификатором экземпляра атрибута (ID) • Запись новых версий осуществляется без чтения и блокировки старых версий, на основании УИН данных и ID атрибутов • Все версии хранятся в одном ассоциативном массиве • Очистка базы данных от устаревших версий производится в фоновом режиме путем консолидации версий
Инкрементные версии кортежей СУБД UMS Родительская версия Дочерняя версия 345 УИН - 27498752063 345 УИН - 27498752063 386 Фамилия - Кузнецов 518 Телефон - Домашний 402 Имя - Иван 534 Номер - 499 268 5049 437 Телефон - Рабочий 437 Телефон - Рабочий 451 Номер - 495 365 2987 451 Номер - 499 407 6358 475 Телефон - Мобильный 492 Номер - 916 120 6582
Протокол передачи данных UDTP • <body> • (837952.serverX.traffic.abonent=Абонент.Трафик.СерверХ, /* номер транзакции чтения • алиасы сервера, БД и отношениянаименования отношенияБД и сервера */ • 5812.abonent.uin=5467.УИН,/* идентификатор алиасы доменов • значение атрибутанаименование домена */ • 7348.uin.surname=Иванов.Фамилия, /* идентификатор алиасы доменов • значение атрибутанаименование домена */ • 6391.surname.first_name=Сергей.Имя,/* идентификатор алиасы доменов • значение атрибутанаименование домена */ • 5847.first_name.last_name=Петрович.Отчество,/* идентификатор алиасы доменов • значение атрибутанаименование домена */ • 6382.uin.image=Фото.Изображение /* идентификатор алиасы доменов • значение атрибутанаименование домена */ • 5874.image.format=JPEG.Формат, /* идентификатор алиасы доменов • значение атрибутанаименование домена */ • 6390.format.unstruct=1.28590412) /* идентификатор алиасы доменовномер • MIME- вложенияразмер фрагмента неструктурированной информации*/ • </body>
Язык программирования D+ с процедурным и объектно-ориентированным расширениями • SELECT uin.surname.first_name, last_name • FROM traffic.abonent • WHERE uin.surname = Иванов • END SELECT • traffic.abonent • abonent.uin • uin.surname • surname.first_name • surname.last_name • uin.address • address.postcode • address.city • city.street • street.house • house.room • traffic.abonent.uin.address.city.street.house.room – полный алиас • abonent.address.city.room – квалифицированный алиас • house.room – простой алиас • room –абстрактный алиас
Сравнение эффективности реализации RM и ERM моделей данных RM модель ERM модель N – степень нормализации, А – индексируемые атрибуты Обращения к диску Обращения к диску Чтение ~ 0 Запись ~ 0 Чтение ~ 0 Запись ~ 0 Метаданные Метаданные Оперативная память Энергонезависимая память Чтение ~ 3А Запись ~ 6А Чтение ~ 3 Запись ~ 6А Индексы Индексы Чтение ~ N Запись ~N Таблицы кортежей Ассоциативный массив кортежей Чтение ~ 1 Запись ~ 1 Журнал транзакций, сегменты отката Чтение ~ 0 Запись ~ х2 Итого: Итого: Чтение ~ 3А+N Запись ~ (6А+N+1)х2 Чтение ~ 4 Запись ~ 6А+1
СУБД UMS реализована в клиент-серверной архитектуре Серверная часть • работает на платформе 64-разрядных операционных систем UNIX/Linux • обеспечивает обмен информацией в распределенной вычислительной среде в форматах UDTP и SOAP • поддерживает взаимодействие с браузерами в формате HTTP Клиентская часть • работает на платформе 32/64-разрядных операционных систем Unix/Linux и Microsoft Windows • обеспечивает обмен данными с клиентскими приложениями, аналитическими системами и табличными процессорами в формате XML
Компоновочные решения СУБД UMS Веб-браузер Клиентское приложение . СУБД СУБД СУБД Способы реализации: 1 - клиент-серверная архитектура 2 - HTTP-клиент 3 - распределенные базы данных 4 - серверные приложения 5 - встроенные базы данных LCD 2 1 3 UNET СУБД UMS Триггеры, хранимые процедуры, пользовательские функции, представления, серверные приложения UBC UGW 4 UD UFC UEN 5 Базаданных Базаданных Базаданных
Сегментирование ассоциативных массивов в СУБД UMS Отношение: Кортеж # 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
Масштабирование СУБД UMS Запись Запись Мастер сервер UMS Слейв сервер UMS Запись Клиент Клиент Клиент Чтение Запись Чтение Кластерная файловая система Кластерная файловая система Чтение Запись Реплика БД БД Запись Запись Запись
Прогрессивная и регрессивная зависимости времени чтения от объема баз данных, включающих 5, 10 15 и 20 млн. кортежей Время, секунды 0,04 Базовая реляционная модель данных RM 0,03 Расширенная реляционная модель данных ERM 0,02 0,01 Кортежи, млн. единиц 10 20 30 40
Контакты • ООО «Х-Технология» • 127051, Москва, Малый Сухаревский пер., дом 9, строение 1, офис 36 • тел. +7 495 960 0050 • http: //www.x-tex.ru/ • e-mail: info@x-tex.ru