СУБД UMS-FAD

advertisement
СУБД UMS
Компания «Х-Технология»
Москва 2012
1
Системотехническое решение СУБД UMS
Административный клиент GAI
Драйвер LCD
Сервер UMS:
веб-сервер UNET
шлюз UGW
фронтальный компилятор UFC
тыловой компилятор UBC
диспетчер UD
двигатель базы данных UEN
Репозиторий metaDB
2
Особенности
СУБД UMS
Расширенная реляционная модель данных ERM
Денормализованные отношения
Сложные домены
Отношения в виде ассоциативных массивов кортежей
Кортежи из мультимножеств атрибутов
Инкрементные версии кортежей
Отсутствие блокировок объектов базы данных
Отсутствие журнала транзакций и сегментов отката
Сериализуемый уровень изоляции транзакций
3
Объекты СУБД UMS
Метаданные
Таблица отношений
Отношение
Карта индексов
В+дерево
В+дерево
В+дерево
Таблица доменов
Ассоциативный
массив кортежей
Файл
Файл
Файл
неструктурированной
неструктурированной
неструктурированной
информации
информации
информации
4
Расширенная реляционная
модель данных ERM






Денормализованные отношения – максимально полные
информационные образы типов объектов предметной области
В схеме отношения поддерживаются логические связи между
определяющими доменами (в виде иерархий)
Первичные ключи – функционально независимые атрибуты
служебного домена уникальных идентификационных номеров
Вторичные ключи – соответствуют вторичным ключам базовой
реляционной модели данных RM
Манипуляционный и целостный аспекты модели ERM
соответствуют подобным аспектам модели RM
Доменный состав отношений модели ERM соответствует
атрибутному составу классов объектно-ориентированной
модели данных прикладных решений
5
Структура кортежа
Уровень
иерархии
атрибута
Идентификатор
атрибута
Алиас
домена
Длина записи
значения
атрибута
Значение
атрибута
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
6
Ассоциативный массив кортежей –
реляционное отношение
Значения
элементов
В+дерева
Начало
и конец
кортежа
Начало
и конец
кортежа
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
7
Структура кортежей





Атрибуты каждого кортежа связаны в иерархическую структуру
Арность кортежей в общем случае не равна арности отношений
Кортежи могут содержать повторяющиеся атрибуты или группы
атрибутов
Каждое отношение содержит головной кортеж, содержащий
стандартный набор атрибутов, имеющих неопределенные
значения, и соответствующий одному из типов объектов
предметной области
Кортеж может содержать ссылки на фрагменты
неструктурированной информации, хранимые в файле базы
данных или в отдельных файлах
8
Кортеж из мультимножества
атрибутов
345 УИН - 27498752063
386 Фамилия - Кузнецов
402 Имя - Иван
437 Телефон - Рабочий
451 Номер - 495 365 2987
475 Телефон - Мобильный
492 Номер - 916 120 6582
518 Телефон - Домашний
534 Номер - 499 268 5049
9
Версионная архитектура
СУБД UMS






Кортеж состоит из родительской версии и набора дочерних
версий, логически связанных совпадающими уникальными
идентификационными номерами (УИН)
Версии содержат номера транзакций записи
Модифицированные атрибуты в составе версий логически
связаны служебным идентификатором экземпляра атрибута (ID)
Запись новых версий осуществляется без чтения и блокировки
старых версий, на основании УИН данных и ID атрибутов
Все версии хранятся в одном ассоциативном массиве
Очистка базы данных от устаревших версий производится в
фоновом режиме путем консолидации версий
10
Инкрементные версии кортежей
СУБД UMS
Родительская версия
345 УИН - 27498752063
386 Фамилия - Кузнецов
402 Имя - Иван
437 Телефон - Рабочий
451 Номер - 495 365 2987
Дочерняя версия
345 УИН - 27498752063
518 Телефон - Домашний
534 Номер - 499 268 5049
437 Телефон - Рабочий
451 Номер - 499 407 6358
475 Телефон - Мобильный
492 Номер - 916 120 6582
11
Протокол передачи данных 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>
12
Язык программирования 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 – абстрактный алиас
13
Сравнение эффективности реализации
RM и ERM моделей данных
RM модель
ERM модель
N – степень нормализации, А – индексируемые атрибуты
Обращения к диску
Метаданные
Обращения к диску
Чтение ~ 0
Запись ~ 0
Метаданные
Чтение ~ 0
Запись ~ 0
Оперативная память
Энергонезависимая память
Индексы
Чтение ~ 3А
Запись ~ 6А
Таблицы
кортежей
Чтение ~ N
Запись ~ N
Журнал
транзакций,
сегменты отката
Чтение ~ 0
Запись ~ х2
Индексы
Ассоциативный
массив
кортежей
Итого:
Чтение ~ 3А+N
Запись ~ (6А+N+1)х2
Чтение ~ 3
Запись ~ 6А
Чтение ~ 1
Запись ~ 1
Итого:
Чтение ~ 4
Запись ~ 6А+1
14
СУБД UMS реализована
в клиент-серверной архитектуре
Серверная часть
работает на платформе 64-разрядных операционных систем
UNIX/Linux
обеспечивает обмен информацией в распределенной
вычислительной среде в форматах UDTP и SOAP
поддерживает взаимодействие с браузерами в формате HTTP



Клиентская часть
работает на платформе 32/64-разрядных операционных
систем Unix/Linux и Microsoft Windows
 обеспечивает обмен данными с клиентскими приложениями,
аналитическими системами и табличными процессорами в
формате XML

15
Компоновочные решения СУБД UMS
Веб-браузер
Клиентское
приложение
.
LCD
СУБД
СУБД
СУБД
2
1
СУБД UMS
UBC
3
UNET
UGW
4
UFC
Способы реализации:
1 - клиент-серверная архитектура
2 - HTTP-клиент
3 - распределенные базы данных
4 - серверные приложения
5 - встроенные базы данных
UD
Триггеры, хранимые
процедуры,
пользовательские
функции,
представления,
серверные приложения
UEN
5
База
данных
База
данных
База
данных
16
Сегментирование ассоциативных
массивов в СУБД UMS
Отношение:
Кортеж # 1
Кортеж # 2
Кортеж # 11
Кортеж # 4
……
Кортеж # 10
Кортеж # 12 Кортеж # 13
Кортеж # 14
……
Кортеж # 20
Кортеж # 21
Кортеж # 22 Кортеж # 23
Кортеж # 24
……
Кортеж # 30
Кортеж # 31
Кортеж # 32 Кортеж # 33
Кортеж # 34
……
Кортеж # 40
Сегмент
#1
Сегмент
#2
Кортеж # 3
Сегмент
#3
Сегмент
#4
Сегмент
# …..
Сегмент
# 10
17
Масштабирование СУБД UMS
Запись
Мастер
сервер
UMS
Запись
Слейв
сервер
UMS
Запись
Клиент
Клиент
Клиент
Чтение
Запись
Кластерная
файловая
система
Чтение
Запись
БД
Запись
Кластерная
файловая
система
Чтение
Запись
Реплика
БД
Запись
18
Прогрессивная и регрессивная зависимости
времени чтения от объема баз данных,
включающих 5, 10 15 и 20 млн. кортежей
Время, секунды
0,04
Базовая
реляционная
модель данных
RM
0,03
Расширенная
реляционная
модель данных
ERM
0,02
0,01
Кортежи,
млн. единиц
10
20
30
40
19
Контакты





ООО «Х-Технология»
127051, Москва, Малый Сухаревский пер.,
дом 9, строение 1, офис 36
тел. +7 495 960 0050
http: //www.x-tex.ru/
e-mail: info@x-tex.ru
20
Download