Научная статья на тему 'Проектирование логической модели данных слабоструктурированной, нереляционной, документо-ориентированной базы данных'

Проектирование логической модели данных слабоструктурированной, нереляционной, документо-ориентированной базы данных Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
1763
244
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
БАЗА ДАННЫХ / МОДЕЛЬ ДАННЫХ / ДОКУМЕНТО-ОРИЕНТИРОВАННАЯ МОДЕЛЬ ДАННЫХ / БОЛЬШИЕ ДАННЫЕ / НЕРЕЛЯЦИОННАЯ МОДЕЛЬ ДАННЫХ / ЦЕЛОСТНОСТЬ ДАННЫХ / СЕМАНТИКА / NOSQL / DATABASE / DATA MODEL / DOCUMENT-ORIENTED DATA MODEL / BIG DATA / NON-RELATIONAL DATA MODEL / DATA INTEGRITY / SEMANTICS

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Лучинин Захар Сергеевич, Сидоркина Ирина Геннадьевна

Потребность оперативно изменять структуру данных в базах данных часто обусловлена уточнениями и новыми знаниями о слабоформализуемой предметной области. Реляционные базы данных с трудом справляются с поставленной задачей при работе с большими объемами данных. В связи с этим широкое распространение получили документо-ориентированные базы данных, позволяющие не привязываться к определенной структуре данных, а описывать каждую запись индивидуально. Недостатком является слабо развитая семантическая составляющая базы данных. Расширение семантической модели позволяет декларативно описывать ограничения и, соответственно, обеспечить корректность оперативных модификаций данных.

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

LOGICAL DESIGN OF SEMISTRUCTED, NON-RELATIONAL, DOCUMENT-ORIENTED DATABASE

A requirement to change efficiently the data structure in databases is often due to refinements and new knowledge about the weak formalized knowledge domain. Relational databases are struggling to cope with the task when working with large amounts of data. That is why document-oriented databases, which allow not to tie to a specific data structure and to describe each entry individually, are so widespread. The disadvantage is a poorly developed semantic component of the database. Semantic model expansion allows to describe declaratively the limitations and to ensure consequently the correctness of operational data modifications.

Текст научной работы на тему «Проектирование логической модели данных слабоструктурированной, нереляционной, документо-ориентированной базы данных»

УДК 004.652 ББК 32.973

З.С. ЛУЧИНИН, И Г. СИДОРКИНА

ПРОЕКТИРОВАНИЕ ЛОГИЧЕСКОЙ МОДЕЛИ ДАННЫХ СЛАБОСТРУКТУРИРОВАННОЙ, НЕРЕЛЯЦИОННОЙ, ДОКУМЕНТО-ОРИЕНТИРОВАННОЙ БАЗЫ ДАННЫХ

Ключевые слова: база данных, модель данных, документо-ориентированная модель данных, большие данные, нереляционная модель данных, NoSQL, целостность данных, семантика.

Потребность оперативно изменять структуру данных в базах данных часто обусловлена уточнениями и новыми знаниями о слабоформализуемой предметной области. Реляционные базы данных с трудом справляются с поставленной задачей при работе с большими объемами данных. В связи с этим широкое распространение получили доку-менто-ориентированные базы данных, позволяющие не привязываться к определенной структуре данных, а описывать каждую запись индивидуально. Недостатком является слабо развитая семантическая составляющая базы данных. Расширение семантической модели позволяет декларативно описывать ограничения и, соответственно, обеспечить корректность оперативных модификаций данных.

Z. LUCHININ, I. SIDORKINA LOGICAL DESIGN OF SEMISTRUCTED, NON-RELATIONAL, DOCUMENT-ORIENTED DATABASE

Key words: database, data model, document-oriented data model, big data, nonrelational data model, NoSQL, data integrity, semantics.

A requirement to change efficiently the data structure in databases is often due to refinements and new knowledge about the weak formalized knowledge domain. Relational databases are struggling to cope with the task when working with large amounts of data. That is why document-oriented databases, which allow not to tie to a specific data structure and to describe each entry individually, are so widespread. The disadvantage is a poorly developed semantic component of the database. Semantic model expansion allows to describe declaratively the limitations and to ensure consequently the correctness of operational data modifications.

В связи с постоянно увеличивающимся количеством информации ее семантическая обработка становится актуальной проблемой в современных системах со слабоформализуемой предметной областью, где модель уточняется по мере накопления знаний. Для хранения и обработки слабоструктурированных данных получили широкое распространение документо-ориентированные базы данных

[3], которые реализуют нереляционный подход хранения данных, представляющих информацию в формате JSON или XML. Исследования в области семантического расширения модели были вызваны необходимостью хранения смыслов

[4]. Для обработки большого объема слабоформализуемых данных предложено семантическое расширение модели, позволяющее производить семантический анализ запросов к базе данных (БД), а также задание ограничений целостности.

1. Логическое представление документо-ориентированной модели данных. Документо-ориентированная модель данных является гибкой и удобной для моделирования слабоструктурированных предметных областей. Однако проектирование БД в терминах схемы отношений на практике может вызвать затруднения, так как в этой модели изначально слабо представлены механизмы описания семантики предметной области. Модель не обеспечивает достаточных средств для представления семантических данных и не предоставляет какие-либо формализованные средства для представления зависимостей между сущностями.

При семантическом расширении и проектировании информационных систем, характеризующихся обработкой и хранением большого объема данных и слабой структурой, необходимо [7]: обеспечивать целостность данных на уровне системы управления базой данных, уход от реализации поддержки целостности на клиентском программном обеспечении; устранять избыточные данные, что приводит к сокращению объемов памяти, необходимой для хранения данных; унифицировать средства организации данных, при этом пользователь не должен знать, где и как хранятся данные.

В связи с этим актуальными являются исследования в области представления семантических данных и поддержки целостности в системах управления данными [6], направленные в первую очередь на концептуальное проектирование БД.

Инфологический уровень, который является первым этапом проектирования базы данных, формирует инфологическую модель (ИМ), которая выступает средством абстракции, интерпретирует информационное содержание данных предметной области, частично представляя семантику данных предметной области. Модель предметной области на инфологическом уровне указывает, что должна содержать и обрабатывать проектируемая система, отражая общие закономерности, присущие информации, описывающей предметную область, не затрагивая вопросов реализации в системе управления базой данных (СУБД). Модель оперирует понятиями семантические объекты (сущности), свойства и связей между ними.

Для примера рассмотрим фрагмент предметной области (ПО) «Отель -Бронь - Гость» на инфологическом уровне. Данная ПО является слабоформа-лизуемой в рамках агрегатора броней с различных каналов, каждый из которых описывает сущности на основе внутреннего представления. По условию гости бронируют номера в отелях, один гость может забронировать несколько номеров в рамках одной брони.

На рис. 1 представлена инфологическая модель, описывающая предметную область «Отель - Бронь - Гость». Каждая из сущностей описывается списком основных свойств, характеризующих ее. Так как предметная область не может быть описана заранее, введены дополнительные, не обязательные, свойства, дополняющие информацию о сущности.

В рамках документо-ориентированной БД сущностью является документ, не имеющий строго описанную структуру данных. Структура данных выделяется логически на уровне прикладного программного обеспечения, в случае отсутствия свойства у документа считается, что значение не задано и не записывается в базу данных [1]. Любой документ является моделью некоторого понятия предметной области и предназначен для описания внутреннего строения оригинала. Набор документов, описывающих один тип сущности, называется коллекцией. Так как необходима уникальная идентификация документа, в рамках коллекции каждый документ имеет уникальный идентификатор.

Понятие документа базируется на понятии части документа. Каждая часть, описывающая документ, является носителем укрупненных свойств понятия, т.е. группирует какие-то свойства документа по смыслу (семантике), назначению, принадлежности и т.д. Понятие части документа связано с возможностью управления формированием структуры документа в момент его создания или редактирования, при этом понятие части имеет формальное толкование, соответству-

ющее математическому определению понятия отношения. Содержимое части и структура могут изменяться со временем, что будет соответствовать определенному изменению в отражаемой предметной области. Каждая часть документа распознается по уникальному идентификатору, назначаемому при создании и неизменяемому в течение всего времени существования. Понятие части документа отличается от понятия отношения реляционной базы данных, поэтому различают статическую и динамическую модели документа.

ЮР. ЛИЦО

Рис. 1. Мифологическая модель ПО «Отель - Бронь - Гость»

Статическая модель документа - множество упорядоченных частей, которое присутствует в любом документе при его порождении.

Динамическая модель документа - множество упорядоченных частей, присутствующих в данном документе в конкретный момент времени.

Структура документа может быть представлена в виде ориентированного графа, а именно ориентированного мультиграфа, вершинами которого являются части документа, а ребра отображают семантические связи между частями. В общем случае документ представлен не одной частью, а группой частей, связь между которыми базируется на логической ссылке, в основании которой лежит уникальный идентификатор.

Для примера на рис. 2 представлена концептуальная схема сущности «Бронь», которая определяется из трех частей. Статической моделью документа являются свойства: идентификатор брони, тип оплаты и код отмены. Динамическая модель состоит из

БРОНЬ ТИП НОМЕРА

^ брони Тип оплаты Код отмены ^ тип комнаты Название Описание Ма х взрослых Мах детей

Номер 1...п

И тип комнаты Взрослых Детей Цена ТИП УСЛУГИ ^ тип услуги

Услуги | 0...п Название Описание Усло вия

И тип услуги Количество Цена

Рис. 2. Концептуальная схема сущности «Бронь»

номеров (забронированных комнат) в количестве от 1 до п. Каждый номер отеля состоит из статической модели, представленной количеством взрослых, количеством детей и ценой, а также динамической модели в виде услуг.

2. Логическое проектирование документо-ориентированной базы данных с формированием ссылочной целостности. В представленном выше примере сущность «Бронь» имеет изменяемую структуру, поскольку, во-первых, каждая бронь имеет неопределенное заранее количество номеров, во-вторых, представлены не все поля, которыми может обладать бронь. Например, документ может быть расширен свойствами «дата создания», «идентификатор брони в канале», «комментарий гостя» и т.д. Представленная концептуальная модель изображена в виде ориентированного графа на рис. 3, обозначающего бронь, состоящую из двух номеров и одной услуги.

В данном случае задан граф G со множеством вершин M = {Л, B, С} и множеством дуг N {AB, AB, AC}. Дуги выражают функциональные зависимости между вершинами графа, частями документа, которые могут быть представлены в виде формулы:

{Х1, Х2,...,Х)Я} ^ (Уь У2,..., УП}, где {x1, x2,...,xm} - множество реквизитов-аргументов; (у1, у2,..., у„} - множество реквизитов-функций; ^ - знак функциональной зависимости.

Функциональные зависимости определяются на основе семантического анализа предметной области. В результате анализа предметной области должен быть выявлен состав форм документов и их реквизитов, подлежащих хранению в базе данных, и определены ограничения предметной области. Для минимизации возможных ошибок целостности документа, состоящего более чем из одной части, целесообразно производить учет зависимостей на уровне СУБД. В рассматриваемом примере функциональные зависимости представлены в виде следующих формул: ^ тип комнаты, взрослых, детей} ^ ^ тип комнаты, тах взрослых, тах детей} ^ тип услуги} ^ ^ тип услуги}

Для представления зависимости между частями документа используется расширенный список смежности, основанный на матрице смежности графа G. В таблице представлен расширенный список смежности графа G, который указывает связь и кратность между вершинами графа, частями документа. Таким образом выражена зависимость вершины A от вершины B, С.

Количество зависимостей между частями документа прямо пропорционально количеству запросов к базе данных, которые необходимо произвести для восстановления целого документа. При работе с большими объемами данных многократное обращение к базе данных может стать критичным из-за суммарного времени выполнения, поэтому имеет смысл оптимизировать структуру документа для уменьшения зависимостей.

Рис. 3. Представление частей документа в виде ориентированного мультиграфа

Расширенный список смежности для выражения зависимостей между частями документа

Вершина выхода Вершина входа Кратность

Л В 2

Л С 1

Сложные структуры данных выражены классическими связями 1 к 1, 1 к N, M к N и образуют структурные связи как внутри одного документа, так и между частями документа. Для того чтобы уменьшить количество связей без ущерба работы с большими объемами данных, сформулированы некоторые критерии качества и правила: 1) не использовать связь один к одному между частями документа. Необходимо расширять документ атрибутами из другого отношения, в результате чего будет получен документ из одной части; 2) если в некоторых отношениях обнаружена функциональная зависимость атрибутов, то проводится декомпозиция этих отношений на несколько отношений следующим образом: те атрибуты, которые составляют функциональную зависимость, выносятся в отдельное отношение, т.е. часть документа.

Первоначальное размещение всех атрибутов в одном отношении является естественной операцией. Согласно правилам сущности выделяются в отдельные части, имеющие отношение к нескольким документам.

Выводы. Показана расширенная инфологическая модель на примере конкретной предметной области, которая лежит в основе концептуальной модели для нереляционной, документо-ориентированной базы данных. Описан принцип формирования слабоструктурированного документа из частей и связей между ними, выраженных функциональной зависимостью. Учет зависимостей позволяет минимизировать количество ошибок при работе с базой данных и позволяет ввести понятие ссылочной целостности документа. Сформированы правила проектирования модели данных для работы с большими объемами данных.

Литература

1. Копейкин М.В., Спиридонов В.В., Шумова Е.О. Правила синтеза объектно-реляционных моделей // Сб. науч. тр. СПб.: СЗТУ, 2005. С. 181-187.

2. Кузнецов С.Д. Объектно-ориентированные базы данных. Основные концепции, организация и управление: краткий обзор // Открытые системы. 1997. № 6.

3. Лучинин З.С. Масштабирование базы данных документно-ориентированной СУБД // Информационные технологии в профессиональной деятельности и научной работе: сб. материалов всерос. науч.-практ. конф. с международным участием: в 2 ч. Йошкар-Ола: Мар. гос. техн. ун-т, 2012. Ч. 2. С. 83-85.

4. Семантика баз данных. [Электронный ресурс]. URL: http://www.intuit.ru/studies/cour-ses/3687/929/lecture/19338.

5. Системы баз данных третьего поколения: Манифест // СУБД. 1995. № 2. С. 143-159.

6. Beeri C., Kifer M. An integrated approach to logical design of relational database schemes // ACM TODS. 1986. Vol. 11. P. 159-185.

7. Dittrich K.A., Dittrich K.R. Where Object-Oriented DBMSs Should Do Better: A Critique Based on Early Experiences // Modern Database Systems: The Object Model, Interoperability and Beyond. N.Y.: ACM Press, Addison Wesley, 1995.

8. Donald D. Chamberlin Anatomy of an Object-Relation Database // DB2 Online Magazine. 1996. Winter.

9. Padhy R.P., Patra R.M., Satapathy S.C. RDBMS to NoSQL: Reviewing Some Next-Generation Non-Relational Database's // International Journal of Advanced Engineering Sciences and Technologies. 2011. Vol 11, Issue 1. P. 15-30.

ЛУЧИНИН ЗАХАР СЕРГЕЕВИЧ - аспирант кафедры информационно-вычислительных систем, Поволжский государственный технологический университет, Россия, Йошкар-Ола (zahar.luchinin@gmail.com).

LUCHININ ZAKHAR - post-graduate student of Computer Science Chair, Volga State University of Technology, Russia, Yoshkar-Ola (zahar.luchinin@gmail.com).

СИДОРКИНА ИРИНА ГЕННАДЬЕВНА - доктор технических наук, профессор, декан факультета информатики и вычислительной техники, Поволжский государственный технологический университет, Россия, Йошкар-Ола.

SIDORKINA IRINA - doctor of technical sciences, professor, dean of Faculty of Computer Science and Engineering, Volga State University of Technology, Russia, Yoshkar-Ola.

i Надоели баннеры? Вы всегда можете отключить рекламу.