1 СУБД UMS Компания «Х-Технология» Москва 2012
2 Системотехническое решение СУБД UMS Административный клиент GAI Сервер UMS: веб-сервер UNET шлюз UGW фронтальный компилятор UFC тыловой компилятор UBC диспетчер UD двигатель базы данных UEN Драйвер LCD Репозиторий metaDB
3 Особенности СУБД UMS Расширенная реляционная модель данных ERM Денормализованные отношения Сложные домены Отношения в виде ассоциативных массивов кортежей Кортежи из мультимножеств атрибутов Инкрементные версии кортежей Отсутствие блокировок объектов базы данных Отсутствие журнала транзакций и сегментов отката Сериализуемый уровень изоляции транзакций
4 Объекты СУБД UMS Таблица отношений В+дерево Ассоциативный массив кортежей Файл неструктурированной информации В+дерево Отношение Таблица доменов Файл неструктурированной информации Метаданные Карта индексов
5 Расширенная реляционная модель данных ERM Денормализованные отношения – максимально полные информационные образы типов объектов предметной области В схеме отношения поддерживаются логические связи между определяющими доменами (в виде иерархий) Первичные ключи – функционально независимые атрибуты служебного домена уникальных идентификационных номеров Вторичные ключи – соответствуют вторичным ключам базовой реляционной модели данных RM Манипуляционный и целостный аспекты модели ERM соответствуют подобным аспектам модели RM Доменный состав отношений модели ERM соответствует атрибутному составу классов объектно-ориентированной модели данных прикладных решений
6 Структура кортежа Уровень иерархии атрибута Иденти- фикатор атрибута Алиас домена Значение атрибута Иванов uin surname Сергейfirst_name Николаевичlast_name Мобильныйphone_type phone_number Длина записи значения атрибута
7 Ассоциативный массив кортежей – реляционное отношение uin surnameИванов first_nameСергей last_nameНиколаевич phone_typeМобильный phone_number uin surnameПетров first_nameАлександр last_nameИгоревич phone_typeСтационарный phone_number Значения элементов В+дерева Начало и конец кортежа
8 Структура кортежей Атрибуты каждого кортежа связаны в иерархическую структуру Арность кортежей в общем случае не равна арности отношений Кортежи могут содержать повторяющиеся атрибуты или группы атрибутов Каждое отношение содержит головной кортеж, содержащий стандартный набор атрибутов, имеющих неопределенные значения, и соответствующий одному из типов объектов предметной области Кортеж может содержать ссылки на фрагменты неструктурированной информации, хранимые в файле базы данных или в отдельных файлах
9 Кортеж из мультимножества атрибутов 386 Фамилия - Кузнецов 402 Имя - Иван 437 Телефон - Рабочий 451 Номер Телефон - Мобильный 492 Номер Телефон - Домашний 534 Номер УИН
10 Версионная архитектура СУБД UMS Кортеж состоит из родительской версии и набора дочерних версий, логически связанных совпадающими уникальными идентификационными номерами (УИН) Версии содержат номера транзакций записи Модифицированные атрибуты в составе версий логически связаны служебным идентификатором экземпляра атрибута (ID) Запись новых версий осуществляется без чтения и блокировки старых версий, на основании УИН данных и ID атрибутов Все версии хранятся в одном ассоциативном массиве Очистка базы данных от устаревших версий производится в фоновом режиме путем консолидации версий
11 Инкрементные версии кортежей СУБД UMS 386 Фамилия - Кузнецов 402 Имя - Иван 437 Телефон - Рабочий 451 Номер Телефон - Мобильный 492 Номер Телефон - Домашний 534 Номер УИН Родительская версияДочерняя версия 437 Телефон - Рабочий 451 Номер
12 Протокол передачи данных UDTP ( 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= ) /* идентификатор алиасы доменов номер MIME- вложения размер фрагмента неструктурированной информации*/
13 Язык программирования 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 – абстрактный алиас
14 Сравнение эффективности реализации RM и ERM моделей данных RM модельERM модель Обращения к диску Чтение ~ 3А Запись ~ 6А Чтение ~ 0 Запись ~ 0 Чтение ~ 3 Запись ~ 6А Чтение ~ N Запись ~ N Чтение ~ 1 Запись ~ 1 Чтение ~ 3А+N Запись ~ (6А+N+1)х2 Чтение ~ 4 Запись ~ 6А+1 Обращения к диску Итого: Журнал транзакций, сегменты отката Чтение ~ 0 Запись ~ х2 Оперативная память Энергонезависимая память Метаданные Чтение ~ 0 Запись ~ 0 Метаданные Ассоциативный массив кортежей N – степень нормализации, А – индексируемые атрибуты Индексы Таблицы кортежей Индексы
15 работает на платформе 64-разрядных операционных систем UNIX/Linux обеспечивает обмен информацией в распределенной вычислительной среде в форматах UDTP и SOAP поддерживает взаимодействие с браузерами в формате HTTP работает на платформе 32/64-разрядных операционных систем Unix/Linux и Microsoft Windows обеспечивает обмен данными с клиентскими приложениями, аналитическими системами и табличными процессорами в формате XML Клиентская часть Серверная часть СУБД UMS реализована в клиент-серверной архитектуре
16 Компоновочные решения СУБД UMS Клиентское приложение. СУБД UMS LCD База данных Веб-браузер Триггеры, хранимые процедуры, пользовательские функции, представления, серверные приложения 13 4 Способы реализации: 1 - клиент-серверная архитектура 2 - HTTP-клиент 3 - распределенные базы данных 4 - серверные приложения 5 - встроенные базы данных UNET UD UGW СУБД 5 2 База данных UFC UBC UEN
17 Сегментирование ассоциативных массивов в СУБД 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
18 Масштабирование СУБД UMS Мастер сервер UMS Кластерная файловая система Слейв сервер UMS Кластерная файловая система Клиент БД Реплика БД Запись Чтение Запись ЧтениеЗапись
19 Прогрессивная и регрессивная зависимости времени чтения от объема баз данных, включающих 5, и 20 млн. кортежей ,01 0,02 0,03 0,04 Время, секунды Кортежи, млн. единиц Расширенная реляционная модель данных ERM Базовая реляционная модель данных RM
20 Контакты ООО «Х-Технология» , Москва, Малый Сухаревский пер., дом 9, строение 1, офис 36 тел http: //