25. Fedorkov B.G., Telets V.A. Mikroskhemy TsAP i ATsP: parametry i funktsionirovanie, primenenie [Chip DAC and ADC: settings and operation, application]. Moscow: Energoatomizdat, 1990, 320 p.
Статью рекомендовал к опубликованию д.т.н., профессор И.И. Турулин.
Галалу Валентин Гаврилович - Южный федеральный университет; e-mail: v.galalu@mail.ru;
Galalu Valentin Gavrilovich - Southern Federal University; e-mail: v.galalu@mail.ru; 44,
R. Luxemburg str. sq. 104, Taganrog, 347900, Russia; phone: +78634613526; the department of
information measuring technologies and systems; cand. of eng. sc.; associate professor.
УДК 004.4:004.9
С.А. Кучеров
КОНЦЕПТУАЛЬНАЯ МОДЕЛЬ ХРАНИЛИЩА КОНФИГУРИРУЕМОЙ ИНФОРМАЦИОННОЙ СИСТЕМЫ НА ОСНОВЕ NOSQL-ТЕХНОЛОГИЙ*
Хранение данных в конфигурируемых (обладающих возможностью настройки) информационных системах сегодня производится путем введения избыточности, как в структуру хранилища, так и в логику взаимодействия информационной системы и хранилища. Избыточность порождает множество трудностей - от потери производительности за счет накладных расходов до снижения отказоустойчивости системы в целом. Причины введения избыточности кроются в разнородных способах представления частей системы и отсутствии единой целостной модели. Устранение избыточности может быть достигнуто при использовании единой абстракции, близкой к терминам предметной области. Информационная система по своей сути есть не что иное, как отражение действий пользователя с помощью компьютерных технологий. Соответственно, модель информационной системы есть совокупность сложно связанных действий. А процесс ее создания - реализация свойств пользовательских действий с помощью компьютерных технологий. Аналогично модели информационной системы, отражение работы пользователя с системой так же есть последовательность совершенных действий. Основой создания конфигурируемых информационных систем и хранилищ данных для них является применение единой формы представления - базовой абстракции. Базовая абстракция предполагает описание информационной системы как деятельности пользователя, а не как отдельных
Исследование выполнено при финансовой поддержке государственного задания 0110021005901621. Тема № 213.01-11/2014-17.
компонентов. Хранилище данных конфигурируемой информационной системы должно быть ориентировано на хранение не отдельных фактов, а действий пользователя, выполнение которых приводит к их получению. Задача статьи - предложить модель данных конфигурируемой информационной системы, адекватную модели самой системы и концептуальную модель хранилища, описанную с учетом использования NoSQL-технологий.
Модель данных; хранилище данных; NoSQL; конфигурируемая информационая система.
S.A. Kucherov
WAREHOUSE CONCEPTUAL MODEL FOR CONFIGURABLE INFORMATION SYSTEMS ON THE BASE OF NOSQL-TECHNOLOGY
Storing data in configurable information .systems today is produced by introducing redundancy in the storage structure and logic of interaction between the information system and storage. Redundancy creates a lot of difficulties - from the loss ofproductivity due to the reduction of overhead fault-tolerance system. The reasons for introducing redundancy rooted in diverse ways to present parts of the system and the absence of a single coherent model. Eliminating redundancy can be achieved by using the unified abstractions close to domain terms. Information system inherently is nothing but a reflection of user actions with the help of computer technology. Accordingly, the model of information system is a set of related activities difficult. And the process of its creation - realization of the properties of user actions with the help of computer technology. Similar to the model of information system, a reflection of the user with the system as there is a sequence of actions that have occurred. Basis for the creation of configurable information systems and data warehousing for them is the use of a single form of representation - basic abstraction. Basic abstraction involves description of information system as user activity, and not as individual components. Configurable data warehouse information system should be focused on storage is not isolated facts, and user actions, the implementation of which leads to their preparation. Purpose of this article - to offer a configurable data model information system, an adequate model of the system and the conceptual model of the storage described with the use of NoSQL-technologies.
Data model; data warehouses; NoSQL; configurable information system.
Введение. Переход к информационным системам нового поколения - конфигурируемым, отличающимся как по архитектуре, так и по принципам функционирования [1-7] обуславливает появление отличных от существующих принципов хранения данных и способов их реализации.
Если абстрагироваться от технических и методологических аспектов, можно расценить предназначение информационной системы как заменителя пользователя в части выполнения отдельных действий.
Рассмотрев классические подходы к проектированию программных систем [8, 9], можно выделить следующую абстрактную схему процесса (рис. 1).
Исходное состояние предметной области - выполнение пользователем определенных действий. При переходе к информационной системе первым этапом является описание действий пользователя в виде моделей бизнес-процессов, то есть фиксация его действий. В зависимости от концепции разработки (структурной или объектно-ориентированной) форма представления бизнес-процессов может меняться, но в
Рис. 1. Классический процесс создания информационных систем
любом случае осуществляется первый шаг к уходу от привычного пользователю «действия». Следующий шаг - представление бизнес-процесса в виде набора абстракций, описывающих информационную систему, способную выполнять бизнес-процесс. Как правило на уровне моделирования это структурные модели (ГОББ, БРБ) или объектные (иМЬ), на уровне проектирования и реализации - уже совершенно не сопоставимые с пользовательским «действием» интерфейс, бизнес-логика и данные. Не смотря на то, что в итоге совершается переход от действия пользователя к действию информационной системы, форма их представления меняется существенно. Это порождает множество проблем, основная из которых - взаимопонимание пользователя и разработчика. Причины здесь кроются в применении классических методов анализа к неклассической для них задаче.
По нашему мнению, единственной абстракцией, способной в адекватной предметной области и пользователю форме представить информационную систему является динамическое действие - фиксированная совокупность характеристик с изменяемым содержанием. Изменение содержания определяет назначение действия, в то время как фиксированная структура представления действия (характеристики: элемент, функция, инструмент, результат) позволяют использовать одну абстракцию на всем протяжении процесса создания системы - от исследования предметной области, до создания и эксплуатации системы. Это, в свою очередь, потребует наличия иных методов анализа и синтеза систем, основанных на абстракции действия. В данной статье будет представлена концепция хранилища конфигурируемой информационной системы, основанного на абстракции действия и №э8рь технологиях.
Конфигурируемая информационная система должна в первую очередь предоставлять возможность гибкой настройки, расширения и изменения функциональности с минимальными трудозатратами. В этой связи необходим переход от традиционного разбиения на интерфейс, бизнес-логику и данные к более общей, базовой абстракции [1, 10-12], являющейся единым способом представления информационной системы. Долгие годы существовала проблема взаимопонимания разработчика и конечного пользователя, обусловленная подменой понятий при реализации системы: пользователю требуется автоматизация конкретных его действий или целой деятельности, в то время как разработчик оперирует указанными выше аспектами - интерфейсом, бизнес-логикой, данными [13].
Применение базовой абстракции, позволяющей моделировать не части системы (как это делает множество существующих методологий), а деятельность пользователя и является принципиально новым взглядом на информационную систему [14]. Для описания деятельности пользователя системы в базовой абстракции применяется простой набор характеристик - элементы, функции, инструменты и результаты. Независимо от уровня детализации набор характеристик остается фиксированным и представляет собой форму, наполнение которой содержанием (конкретизация элементов, функций и т.д.) представляет собой процесс конструирования действия. Обладая общими характеристиками, связываясь через подстановку результата в качестве элемента или будучи вложенными друг в друга действия формируют деятельность пользователя (ту ее часть, которая делегируется информационной системе).
Появляется задача, отличная от хранения данных, - запоминание действий, всегда состоящих из фиксированного набора характеристик и обладающих расширенными возможностями по связыванию. Набор сохраненных действий составляет не просто результаты работы пользователя с информационной системой, но и ее конфигурацию. Наполнение структуры действия содержанием есть процесс конфигурирования системы, а выполнение действия и запоминание этого процесса -отражение работы пользователя с системой. Само же хранилище для конфигурируемой информационной системы должно обладать рядом новых свойств:
Возможность применения распространенных на сегодняшний день технологий хранения данных для получения указанных выше свойств хранилищ требует анализа. Цель данной статьи - представление и концепции хранилищ, построенных на ее основе. В первом разделе сформулирован образ модели хранения действий, выделены требования к хранилищам. Во втором разделе представлены результаты анализа существующих технологий хранения данных на предмет применения их в рамках описываемой задачи. В третьем разделе описана концептуальная модель хранилища конфигурируемой информационной системы.
Модель хранения действий в конфигурируемой информационной системе. Модель данных включает в себя три аспекта [15] - структуру данных, правила манипуляции данными и средства обеспечения целостности. На этапе формирования концепции модели хранения действий в конфигурируемой информационной системе остановимся на структурном аспекте. Применение классического подхода при создании конфигурируемых информационных систем неизменно приводит к усложнению готовых решений с технической точки зрения [16]. Несмотря на внешнюю простоту эксплуатации конфигурируемых систем, их поддержка без привлечения технических специалистов затруднена.
Одна из причин сложности создаваемых решений - отсутствие единого взгляда (абстракции) на информационную систему, следствие этого - множество интерфейсов, приводящих в адекватное состояние компоненты системы (например, ОКМ-слой, приводящий реляционную базу данных к адекватному объектной модели виду). Чтобы устранить данную проблему - систему необходимо представлять единым образом. Таким видом может служить базовая абстракция, являющаяся отражением действия пользователя. В этих характеристиках следует представлять как логику, взаимодействие системы с пользователем, хранимые результаты работы, так и саму конфигурацию системы. Действия, которые могут быть выполнены, но не содержат конкретных значений характеристик составляют конфигурацию системы. Действия, которые были выполнены с определенными значениями характеристик - отражают результат работы пользователя с информационной системой [17, 18].
Следовательно, модель представления действий в конфигурируемой информационной системе, будучи адекватной единой модели ее представления, должна в качестве базовой единицы хранения использовать действие. С точки зрения структурного аспекта в модели представления действий могут быть выделены: действие, совершенное действие, константа.
Действие - это отражение единицы работы пользователя, выраженное используемыми элементами, применяемыми функциями, инструментом, который регламентирует правила применения функций над элементами и результатом, который можно получить по выполнении действия и соответствующем цели его выполнения. Стоит отметить, что для действия специфицируется только ожидаемый результат в виде цели выполнения, в то время как значение результата появляется после выполнения действия. Действие - это базовая единица хранения и представления конфигурируемой информационной системы. Примером действия пользователя может быть «установление месячной заработной платы работника» (рис. 2). В качестве элементов использующее сведения о количестве отработанных дней (которое в свою
очередь является результатом действия «подсчет количества отработанных дней) и сведения о стоимости одного рабочего дня (являющегося константой - действием с вырожденными элементами, функциями и инструментами). В качестве функций может быть использован математический оператор «умножение», а инструментом может служить правило умножения, включенное в один из модулей системы.
Рис. 2. Действие «Установление месячной заработной платы сотрудника»
При представлении системы в виде действий стирается четкое разделение на данные, логику, интерфейс. А сама модель становится в большей степени адекватной реальной картине мира. Описанное действие может быть многократно воспроизведено для расчета заработной платы сотрудника. В таком контексте действие во многом схоже с понятием функции языка программирования, однако в отличие от нее действие не является отрывком программного кода, через многочисленные интерфейсы обращающимся к данным, интерфейсу системы. Действие -это самостоятельный хранимый элемент, который может быть как выполнен, так и использован в качестве источника значений.
Совершенное действие - является результатом выполнения действия в тот или иной момент времени, содержащим конкретные значения всех характеристик, в том числе и значение результата (рис. 3). В контексте описанного выше примера это может быть значение заработной платы конкретного сотрудника за конкретный месяц. При этом будет сохранено не только само значение, но так же и процесс его получения. Это в значительной степени расширяет возможности хранилищ с точки зрения поддержки целостности и историчности изменения.
Рис. 3. Совершенное действие
Константа - является частным случаем совершенного действия, в котором отсутствует содержание элементов, функций и инструментов, сочетание которых позволило получить указанный результат (см. рис. 2). С точки зрения структуры модель представления действий в конфигурируемой информационной системе отличается от известных на сегодняшний день моделей данных и требует альтернативных способов реализации.
Более подробно данные отличия представлены в следующем разделе статьи.
Анализ применимости существующих технологий хранения данных для хранилища конфигурируемых информационных систем. Для того чтобы оценить применимость существующих технологий для хранения в конфигурируемой информационной системе обозначим ключевые требования, диктуемые моделью представления действий:
Этим требованиям должен отвечать базовый элемент технологии хранения данных, так как в случае «приведения» технологии адекватному виду вновь возникнет проблема усложнения системы, а также могут проявляться негативные показатели производительности [19-21]. Из множества созданных на сегодняшний день технологий хранения данных четко задекларированными базовыми объектами обладают две - реляционная и объектно-ориентированная. В первом случае базовым объектом является отношение, позволяющее группировать и фиксировать отдельные факты. Во втором случае базовый элемент - это класс, содержащий набор атрибутов и операций. Был проведен анализ указанных технологий хранения данных с точки зрения выполнения требований модели представления действий в конфигурируемой информационной системе, результаты которого представлены в табл. 1.
Таблица 1
Результаты анализа объектной и реляционной технологии хранения данных
Требование Реляционная Объектно-ориентированная
Фиксированная структура Отсутствует. Структура отношения определяется в момент задания его на доменах, количество которых может быть произвольным Присутствует. Класс всегда представляется именем, атрибутами и методами
Множественные значения характеристик экземпляра Отсутствуют. Экземпляр отношения содержит по одному значению из каждого домена Частично присутствует. Экземпляр класса характеризуется конкретными значениями атрибутов. Задача может быть решена за счет сложных типов данных
Множественность типов значений для одной характеристики экземпляра Отсутствует. Каждый домен представляет собой отдельно взятый тип данных Частично присутствует. Атрибут класса обладает конкретным типом значения. Задача может быть решена за счет сложных типов данных
Ни одна из представленных технологий хранения данных не способна удовлетворить требования модели представления действий в конфигурируемой информационной системе. Это является следствием узкой направленности рассмотренных технологий, отразившейся на конечном виде базового объекта хранения данных.
Чтобы удовлетворить требования модели представления действий в конфигурируемой информационной системе технология хранения данных может быть получена одним из двух способов - разработкой собственной технологии хранения данных, адекватной представлению в виде действий, либо использованием существующих технологий хранения данных, позволяющих самостоятельно задавать структуру базового объекта. Первый способ более эффективен с точки зрения конечного результата, второй - обладает меньшими рисками и сроками реализации. В рамках проводимого исследования предполагается сначала провести апробацию и оптимизацию модели на существующих технологиях, а затем перейти к созданию собственной технологии.
На сегодняшний день создан целый класс моделей и технологий хранения данных, объединяемый термином NoSQL [22]. К числу таковых решений относятся: семейства колонок, ключ-значение, документно-ориентированные и прочие способы представления данных. Поскольку информационная система ориентирована на хранение фактографических сведений, документно-ориентированные способы представления информации не применимы, кроме того они требуют дополнительной обработки после извлечения сведений (документа) из хранилища. Как уже говорилось во введении и в первой части статьи, действия обладают четкой структурой и сами в свою очередь образуют сложную структуру - деятельность пользователя. Следовательно, технологии ключ-значение также не применимы, поскольку ориентированы на хранение не связанных объектов данных. Указанным условиям соответствует тип NoSQL хранилищ, основанный на семействах колонок, использующий для хранения разреженные матрицы. Далее рассмотрим концептуальную модель хранилища конфигурируемой информационной системы на основе NoSQL-технологий.
Концептуальная модель хранилища данных конфигурируемой информационной системы. NoSQL хранилища, ориентированные на работу с семействами колонок, обладают различными способы представления данных [23]. Наибольший интерес представляют так называемые sсhema-free системы [24], в которых базовый элемент не имеет детерминированной структуры представления, и ее можно изначально задать в адекватном модели данных конфигурируемой информационной системы виде. Такие системы используют в своей основе принципы, заложенные в иерархической и сетевой моделях данных: - каждый объект данных является разреженным иерархическим деревом элементов.
Приведем далее модели действия, совершенного действия и константы с учетом NoSQL технологии.
На рис. 4 изображена концептуальная модель действия, содержащегося в NoSQL хранилище конфигурируемой информационной системы. Действие задается через общий паттерн для описания, который включает в себя имя действия, четыре характеристики и перечень входящих в них компонент. Результат при описании действия является вырожденным, так как действие описано, но еще не совершено. Благодаря sсhema-free технологии количество компонент и их тип может определяться динамически.
Совершенное действие, в отличие от действия, обладает значениями компонент. Каждое значение сопровождается временной отметкой получения или задания. Также для совершенного действия сохраняется результат его выполнения, а временная отметка получения значения результата считается временем выполнения действия.
Совершенное действие
Цействие Константа
Отметка времени
Значение
Отметка времени
Значение
Отметка времени
Значение
Отметка времени
Значение Отметка времени
Отметка времени
Элемент 1
Элемент 2
Элемент 3
Функция 1
Функция 2
Инструмент 1
Рис. 4. Концептуальная модель действий в NoSQL хранилище
Константы имеют вырожденные характеристики элемента, инструмента и функции и содержат только результат и отметку времени установления значения константы.
Как видно из рисунка, каждый объект представляет собой именованное дерево, описывающее действие пользователя. Внутри узла возможны иерархии, описывающие вложенность действий друг в друга и позволяющие описывать сложную деятельность пользователя.
Описанные выше составляющие являются базовыми компонентами концептуальной модели хранилища конфигурируемой информационной системы. Само хранение производится за счет построения иерархических деревьев. Далее на примере из первой части статьи показана общая концепция хранилища (рис. 5).
Хранения совершенных действий
Рис. 5. Пример описания совершенного действия в NoSQL хранилище
На указанном примере можно определить концепцию NoSQL хранилища конфигурируемой информационной системы. Хранилище логически разделяется на два аспекта - конфигурационный и хранения совершенных действий.
Представленная на плоскости концепция хранилища информационной системы на самом деле является многослойной (рис. 6)
Рис. 6. Слоистая структура хранилища конфигурируемой информационной
системы
Многослойность хранилища является следствием использования единой абстракции в процессе создания системы. Единожды представляя конфигурацию системы в виде действий (базовый слой), мы в процессе эксплуатации наращиваем слои, отражающие результаты повторения действий в различных условиях (вторичные слой). Каждый вторичный слой есть зафиксированный в определенный момент времени результат выполнения одного или нескольких действий, относящихся к конфигурации информационной системы. Горизонтальное наращивание базового слоя происходит в процессе конфигурации системы - добавляются новые действия, а в вертикальное - в процессе эксплуатации (в новые моменты времени выполняются вложенные в систему действия).
Проводя аналогию с объектно-ориентированной и реляционной технологией можно сказать, что действие по своему предназначению является классом (сущностью), а совершенное действие - объектом (экземпляром сущности). Однако в отличие от сущностей и классов - модель хранения в виде действий обладает существенно большими возможностями: модель хранения действий динамична; модель хранения действий обладает большей по сравнению с текущими моделями данных семантикой; модель хранения действий в большей степени адекватна реальной картине мира.
Концептуальная модель позволяет использовать различные типы значений характеристик, выстраивая тем самым последовательность действий, выполнение которых приводит к получению результата. Достигается выполнение как требований модели представления действий в конфигурируемой информационной системе, так и условий ее реализации без дополнительных средств приведения к адекватной форме. Возможность «роста» за счет sсhema-free позволяет производить неограниченную детализацию действия, выделяя действия по получению отдельных характеристик и т.д. Возможности «роста» количества узлов и характер связей между ними позволят описывать сложную деятельность.
Заключение. В статье предложена модель представления действий и концептуальная модель хранилища конфигурируемой информационной системы, ориентированные не на хранение отдельных фактов, а на хранение действий по их получению.
Представление конфигурируемой информационной системы, хранение ее конфигурации и результатов ее работы в виде совокупности действий позволит устранить такие существующие на сегодняшний день проблемы, как: рост технической сложности систем при наращивании гибкости, взаимодействие пользователя и разработчика, извлечение требований и т.д.
Это позволяет выводить хранение на новый уровень - семантика данных, природа их возникновения становятся четко задокументированными в удобочитаемой для пользователя форме. Это в свою очередь положительно сказывается как на процессе моделирования, так и на процессе эксплуатации и усовершенствования системы конечным пользователем.
Предложенная в рамках данной статьи модель представления действий в конфигурируемой информационной системе и концептуальная модель хранилища обладают следующими достоинствами:
Применение NoSQL технологий в свою очередь позволит реализовывать высокопроизводительные решения, лишенные недостатков структурно-независимых баз данных.
БИБЛИОГРАФИЧЕСКИЙ СПИСОК
- 2014. - № 2. - С. 85-88.
- С. 135-137.
- Berlin: MVB Marketing- und Verlagservice des Buchhandels GmbH, 2014. - P. 96-105.
REFERENCES
Статью рекомендовал к опубликованию д.т.н., профессор В.Н. Иванченко.
Кучеров Сергей Александрович - Южный федеральный университет; e-mail: ser-gey.kutcherov@gmail.com; 347928, г. Таганрог, Некрасовский, 44; тел.: 89612966919; кафедра системного анализа и телекоммуникаций; ассистент.
Kucherov Sergey Alexandrovich - Southern Federal University; e-mail: ser-gey.kutcherov@gmail.com; 44, Nekrasovsky, Taganrog, 347928, Russia; phone: +79612966919; the department of system analysis and telecommunications; assistant.