1
Трёхуровневая архитектура для описания базы данных была
предложена инициативной группой ANSI/SPARC
(Американский национальный институт стандартов/Комитет по
требованиям и планированию стандартов) в 1970-x гг.
Рисунок 2 – Общая схема концептуального моделирования
Классификация СУБД
По типу управляемой базы данных СУБД разделяются на
иерархические, реляционные, объектно-реляционные, объектно-
ориентированные, сетевые.
По архитектуре организации хранения данных:
локальные СУБД (все части локальной СУБД размещаются на одном
компьютере);
распределенные СУБД (части СУБД могут размещаться на двух и более
компьютерах).
Классификация СУБД по способу доступа к БД:
файл-серверные;
клиент-серверные;
трехзвенные;
встраиваемые.
Файл-серверные СУБД. Архитектура "файл-сервер" не имеет сетевого
разделения компонентов диалога и использует компьютер для функции
отображения, что облегчает построение графического интерфейса. "Файл-
сервер" только извлекает данные из файлов, так что дополнительные
пользователи добавляют лишь незначительную нагрузку на центральный
процессор, и каждый новый клиент добавляет вычислительную мощность
сети. Минус - высокая загрузка сети. На данный момент файл-серверные
СУБД считаются устаревшими. Примеры: Microsoft Access, MySQL (до версии
5.0).
Клиент-серверные СУБД. Такие СУБД состоят из клиентской части
(которая входит в состав прикладной программы) и сервера. Клиент-
серверные СУБД, в отличие от файл-серверных, обеспечивают разграничение
доступа между пользователями и меньше загружают сеть и клиентские
машины. Сервер является внешней по отношению к клиенту программой, и по
мере надобности его можно заменить другим. Недостаток клиент-серверных
СУБД - в самом факте существования сервера (что плохо для локальных
программ - в них удобнее встраиваемые СУБД) и больших вычислительных
ресурсах, потребляемых сервером. Примеры: Firebird, Interbase, MS SQL
Server, Oracle, DB2, PostgreSQL, MySQL (старше версии 5.0).
Существенным недостатком клиент-серверной архитектуры является
необходимость установления прямого соединения между клиентским
компьютером и базой данных. При трехзвенной архитектуре пользовательское
приложение (клиент) соединяется со специально выделенным сервером
приложений, и только он уже соединяется с базой данных. Кроме повышения
уровня безопасности трехзвенная архитектура позволяет более гибко
модернизировать приложения. Как правило, в массовой клиентской части
оставляют только минимальный набор функций по доступу и отображению
информации, а основную бизнес-логику реализуют в программах,
запускаемых на серверах приложений. При этом модернизация обычно
затрагивает только сервер приложений, а на массовых клиентских местах
переустанавливать ПО не приходится.
Встраиваемая СУБД - это, как правило, "библиотека", которая
позволяет унифицированным образом хранить большие объемы данных на
локальной машине. Доступ к данным может происходить через SQL либо
через особые функции СУБД. Встраиваемые СУБД быстрее обычных клиент-
серверных и не требуют установки сервера, поэтому востребованы в
локальном ПО, которое имеет дело с большими объемами данных - например,
геоинформационные системы (Geographic Informational System - GIS).
Примеры: SQLite, BerkeleyDB, один из вариантов Firebird, один из вариантов
MySQL.
Общепринятым стандартом языка работы с реляционными базами
данных в настоящее время является язык структурированных запросов
(Structured Query Language - SQL). Это универсальный компьютерный язык,
применяемый для создания, модификации и управления данными в
реляционных базах данных. Вопреки существующим заблуждениям, SQL
является информационно-логическим языком, а не языком программирования.
SQL основывается на реляционной алгебре. Язык SQL делится на три
части:
операторы определения данных;
операторы манипуляции данными (Insert, Select, Update, Delete);
операторы определения доступа к данным.
Основные функции системы управления базами данных:
управление данными во внешней памяти (на различных носителях);
управление данными в оперативной памяти;
журналирование изменений и восстановление базы данных после сбоев;
поддержка языков БД (язык определения данных, язык
манипулирования данными, язык определения доступа к данных).
Функции администратора баз данных
Администратор базы данных– это лицо (или группа лиц), на которое
возложено управление средствами базы данных организации.
❖ координация всех действия по проектированию, реализации и ведению
базы данных; учет перспективных и текущих требований пользователей;
мониторинг удовлетворения актуальных информационных
потребностей;
❖ анализ существующих программных средств и возможности их
использования в базе данных, разработка программно-технические
мероприятия по развитию базы данных;
❖ разработка и реализация мер по обеспечению защиты данных от
некомпетентного их использования, от сбоев технических средств,
обеспечение секретности определённой части данных и разграничение
доступа к данным;
❖ выполнение работ по ведению словаря данных; контроль избыточности
и противоречивости данных, их достоверности;
❖ Обеспечение удовлетворения БД требованиям по производительности,
т.е. чтобы обработка запросов выполнялась за приемлемое время;
❖ изменение необходимости методов хранения данных, путей доступа к
ним, связей между данными, форматов данных; определение степени
влияния изменений в данных на всю БД;
❖ координация вопросов технического обеспечения системы аппаратными
средствами исходя из требований, предъявляемых БД к оборудованию;
❖ координация работы системных программистов, разрабатывающих
дополнительное программное обеспечение для улучшения
эксплуатационных характеристик системы;
❖ координация работы прикладных программистов, разрабатывающих
новые приложения и выполнять проверку и включение прикладных
программ в состав программного обеспечения системы;
❖ работа с конечными пользователями, в том числе и по вопросам
обучения и консультирования и т.п.
ЛЕКЦИЯ 2 ИНФОЛОГИЧЕСКИЙ ПОДХОД
Инфологический подход
База данных – это некоторая целевая модель предметной области (ПрО),
т.е. в базе данных находят отражение только те факты о ПрО, которые
необходимы для функционирования автоматизированной системы, в состав
которой входит БД. При проектировании БД проектировщик должен выделить
и описать эти ожидаемые факты, тем самым определяются границы ПрО,
затем необходимо выполнить интерпретацию описание этих фактов с
помощью допустимых конкретной СУБД структур данных.
Предметная область БД определена, если известны существующие в ней
объекты, их свойства и отношения. При проектировании БД начинают с
предварительной структуризации предметной области: объекты реального
мира подвергают классификации, фиксируют совокупность объектов,
подлежащих отображению в БД. Для каждого типа объектов фиксируется
совокупность свойств, посредством которых описываются конкретные
объекты этого типа, виды отношений (взаимосвязей) между этими объектами.
Затем решается вопрос о том, какая информация об этих объектах должна
быть представлена в БД и как ее представить с помощью данных.
Сущность инфологического подхода к проектированию
информационных систем заключается в установлении соответствия между
состоянием ПрО , его восприятием и представлением в БД.
В настоящее время при описании ПрО данные представляются в виде
трехуровневой схемы2:
❖ Внешнее ( с точки зрения конечного пользователя и прикладного
программиста);
❖ Концептуальное (с точки зрения администратора БД);
❖ Внутреннее (с точки зрения системного программиста).
Внешнее представление данных является совокупностью требований к
данным некоторой конкретной задачи или программы. Оно определяет
совокупность внешних представлений, соответствующих отдельным задачам
и перекрывающих друг друга по некоторым данным.
С точки зрения конечного пользователя внешнее представление
является совокупностью требований к данным, определенными
функциональными спецификациями (реальными форматами) и отражает
конкретные информационные потребности.
С точки зрения прикладного программиста внешнее представление
заключается в наборе элементов данных и их взаимосвязи для обеспечения
конкретной задачи.
Различия между этими представлениями:
2
Трёхуровневая архитектура для описания базы данных была
предложена инициативной группой ANSI/SPARC
(Американский национальный институт стандартов/Комитет по
требованиям и планированию стандартов) в 1970-x гг.
❖ Для пользователя многие сведения определяются путем обработки
данных в представлении системного программиста;
❖ Представления программиста могут содержать много
дополнительной информации.
Концептуальное представление данных связано с отображением знаний
о ПрО. Структура данных на концептуальном уровне называется
концептуальной схемой. Под концептуальным представлением понимается
интегральное определение данных, которое основано на объединении всех
внешних представлений для всей совокупности приложений. Другими
словами, концептуальное представление данных является совокупностью всех
требований к данным полученным из пользовательских внешних
представлений. Существует и другой подход, по которому концептуальное
представление формируется в результате непосредственного анализа ПрО с
учетом информационных потребностей пользователей.
Элементарными единицами концептуального представления являются :
❖ Элементы (объекты, предметы, процессы);
❖ Связи элементов;
❖ Свойства элементов.
Схема концептуального моделирования приведена на рис. 2.
В этой схеме предусмотрено построение концептуальной модели путем
объединения информационного описания ПрО (ПрО-информации) и
информационных требований прикладных программ (ПП-информация).
ПрО-Информация отображает объекты, процессы и предметы реального
мира как составные части ПрО, их существенные свойства, а также
взаимосвязи этих элементов. Эта информация не связана ни с конкретными
приложениями, ни с конкретными способами обработки, а описывает
естественные концептуальные связи всех данных в базе данных.
Пример ПрО-информации:
❖ Описание элемента ПрО:
Наименование - СТУДЕНТ
Количество - 25
❖ Описание атрибутов элементов ПрО:
Наименование - НОМЕР ЗАЧ. КНИЖКИ
Длина - десятичных знаков
Диапазон изменения - 000001-999999
❖ Описание связей элементов ПО:
Наименование - УЧИТСЯ В
Определяемые элементы - СТУДЕНТ, ГРУППА
Количество - 25
Отображение - 1:1
ПП-информация описывает данные и связи, используемые в
приложениях. Она отображает требования конечных пользователей к
обработке используемых текущих приложений и предполагаемые требования
планируемых в будущем приложений.
Пример ПП-информации:
❖ Описание процесса:
Наименование - Экземпляр ведомости
Частота применения - 2 раза в год
Требуемые данные - СТУДЕНТ,
НОМЕР ЗАЧ. КНИЖКИ
ГРУППА
ПРЕПОДАВАТЕЛЬ
Объем данных - 25
❖ Оператор:
Наименование - найти
Критерий поиска - СТУДЕНТ
Кол-во поисковых образов - все
Используемые ассоциации – успеваемость.
Внешнее
представление 1
Концептуальное Внутреннее
представление представление
Внешнее
представление n
3
Стандарт реализует методологию анализа сложных систем SADT (Structured Analysis and Design
Technique), разработанной группой американских аналитиков во главе с Дугласом Россом в 1973 году.
представляет собой структурированное изображение функций
производственной системы или среды, информации и объектов, связывающих
эти функции. Модель строится методом декомпозиции: от крупных составных
структур к более мелким, простым. Элементы каждого уровня декомпозиции
представляют собой действия по переработке информационных или
материальных ресурсов при определенных условиях с использованием
заданных механизмов. Каждое действие раскладывается на более мелкие
операции по переработке определенной части информационных или
материальных ресурсов при определенных условиях с использованием части
заданных механизмов. Аналогично раскладываются операции. Последний шаг
декомпозиции должен приводить к получению модели, степень детализации
которой удовлетворяет требованиям, заданным в самом начале процесса
создания модели.
Документы и массивы.
Обследование информационной составляющей предполагает:
• уточнение применяемой терминологии с целью обеспечение
взаимопонимания персонала разработчика и заказчика;
• выявление используемых в организации внешних и внутренних
документов, составлении схемы документооборота;
• анализ массивов информации;
• определение информационных связей организации и ее
подразделений.
Рисунок 6 – IDEF0-диаграмма процесса управления персоналом
Документы, которые предназначены для сбора и регистрации данных,
называются входными (регистрационными, учетными) документами.
Входными по отношению к административным процедурам обработки
данных.
Документы, вырабатываемые в результате обработки данных,
называются Выходными (результирующими) документами.
Документы, предназначенные для пользования внутри организации,
называются внутренними документами. Документы, поступающие или
направляемые вне организации, называются внешними документами.
Прежде чем приступить к изучению каждого документа по отдельности,
следует составить список всех документов, разрабатываемой задачи.
Существование каждого документа должно быть обосновано, поскольку часто
выясняется, что некоторые документы, хотя и существуют, но не
используются.
Для работы со спецификацией документов можно воспользоваться
терминологической моделью (Technical terms model), выполненной в среде
ARIS (рис. 7).
01 сведения о сотруднике
02 личные данные
03 фамилия
03 имя
03 отчество
02 сведения о рождении
03 место рождения
04 город, поселок, деревня
04 область, район
03 дата рождения
Аббревиатура: ОКИН
Обозначение: ОК 018-2014
По-английски: Russian Classification of Informationon Population
Ответственный: Ростехрегулирование
Основание: Приказ Федерального агентства по техническому
регулированию и метрологии от 12.12.2014 № 2019-ст
Дата введения: 01.07.2015
Дата не установлена (нет приказа об отмене
окончания: классификатора или его замене новым)
Официальный protect.gost.ru/v.aspx?control=21&baseC=19&page=0&
источник: month=-1&year=-1&search=&id=193551
Коды ОКИН
01 Пол
02 Гражданство
03 Национальности
… …
Независимая сущность
Зависимая сущность
Связь
Идентифицирующая связь
Атрибут
Первичный ключ
Многозначный атрибут
Элемент
Обозначает
диаграммы
Нотация Мартина
Таблица 2 – Представление сущностей в нотации Мартина
Элемент диаграммы Обозначает
независимая сущность
Элемент диаграммы Обозначает
зависимая сущность
M,N
Класс принадлежности
0,N сущности необязательный
Класс принадлежности
1,N сущности обязательный
1,1
0,N
1,N
независимая сущность
зависимая сущность
не идентифицирующая связь
0,M
0,1
1,M
Пример:
Название БД: «Учет данных о студентах»
Спецификация отношений:
СТУДЕНТ (ШИФР СТУДЕНТА, ФАМИЛИЯ, ИМЯ, ОТЧЕСТВО, ПОЛ,
ДАТА РОЖДЕНИЯ, МЕСТО РОЖДЕНИЯ, АДРЕС, ГРУППА)
Первичный ключ отношения: ШИФР СТУДЕНТА
Внешние ключи отношения: ГРУППА
Спецификация атрибутов:
Имя Назначение Тип Формат Допустимые Примечание
атрибута атрибута значения
ШИФР Хранит шифр Строка Char (7) Первичный
СТУДЕНТА студента (номер ключ
зачетной
книжки)
ФАМИЛИЯ Хранит Строка Char (60)
фамилию.
студента
ИМЯ Хранит имя Строка Char (30)
студента
ОТЧЕСТВО Хранит отчество Строка Char (30)
студента
ПОЛ Хранит код пол Числ. INT(1) 1 – мужской
ко ОКИН 2 - женский
ДАТА Хранит дату Дата Data
РОЖДЕНИЯ рождения
МЕСТО Хранит место Строка Char (90) Частично
РОЖДЕНИЯ рожения структури-
рованное
ГРУППА Хранит шифр Строка Char (10) Внешний
группы, в ключ
которой учится
студент
Получение реляционных отношений из ER – диаграмм
Процесс получения реляционных отношений основывается на учете
связей между сущностями диаграммы в схеме отношения. Связанность
сущность обеспечивается включением в реляционное отношение первичных
ключей сущностей. Правила формируются в зависимости от вида бинарной
связи и класса принадлежности сущности.
Правило 1: Если степень бинарной связи равна 1:1 и класс
принадлежности обеих сущностей является обязательным, то требуется
только одно отношение, объединяющее атрибуты двух сущностей.
Первичным ключом этого отношения может быть ключ любой из двух
сущностей.
ДОЛЖНОСТЬ
СЛУЖАЩИЙ ДОЛЖНОСТЬ ГОД
Сидоров Вед.инженер 1998
Сидоров Руководитель 1999
Иванов Инженер 1996
Иванов Ст.инженер 1998
4
Билл Инмон, технический директор компании Prism Solutions. в начале 1990-х гг. опубликовал ряд
работ, ставших основополагающими для последующих исследований в области аналитических систем.
ХД – предметно-ориентированный, интегрированный, неизменяемый и
поддерживающий хронологию набор данных, предназначенный для
обеспечения принятия управленческих решений.
5 «Метаданные» (от греч. meta и лат. data) буквально переводится как «данные о данных»
т.д.). Бизнес-метаданные обеспечивают пользователю возможность
концентрироваться на процессе анализа, а не на технических аспектах работы
с хранилищем; они включают бизнес-термины и определения, которыми
привык оперировать пользователь.
Фактически бизнес-метаданные представляют собой описание
предметной области, для работы в которой создается аналитическая система
или ХД. К формированию бизнес-метаданных должны активно привлекаться
эксперты и аналитики, которые впоследствии и будут использовать систему
для получения аналитических отчетов.
Бизнес-метаданные описывают объекты предметной области,
информация о которых содержится в ХД, — атрибуты объектов и их
возможные значения, соответствующие поля в таблицах и т.д. Бизнес-
метаданные образуют так называемый семантический слой. Пользователь
оперирует близкими ему терминами предметной области: товар, клиент,
продажи, покупки и т.д., а семантический слой транслирует бизнес-термины в
низкоуровневые запросы к данным в хранилище.
Спектр аналитических задач очень широк. Соответственно, и методики
применения ХД для решения тех или иных задач весьма разнообразны. Тем не
менее можно выделить три основных подхода к использованию ХД:
• регулярные отчеты — подготовка отчетов стандартных форм,
получаемых многократно с определенной периодичностью;
• нерегламентированные запросы — возможность получать ответы
на нестандартные, сформированные «по требованию» вопросы;
• интеллектуальный анализ данных — поддержка процесса
интеллектуального анализа больших массивов данных с целью выявления
скрытых закономерностей, структур и объектов, построения моделей,
прогнозов и т.д.
Архитектуры ХД
В настоящее время разработано несколько архитектур хранилищ:
Реляционные ХД – используют классическую реляционную модель,
характерную для оперативных регистрирующих OLTP-систем. Данные
хранятся в реляционных таблицах, но образуют специальные структуры,
эмулирующие многомерное представление данных. Такая технология
обозначается аббревиатурой ROLAP — Relational OLAP;
Многомерные ХД – реализуют многомерное представление данных на
физическом уровне в виде многомерных кубов. Данная технология получила
название MOLAP — Multidimensional OLAP;
Гибридные ХД – сочетают в себе свойства как реляционной, так и
многомерной модели данных. В гибридных ХД детализированные данные
хранятся в реляционных таблицах, а агрегаты — в многомерных кубах. Такая
технология построения ХД называется HOLAP — Hybrid OLAP;
Виртуальные ХД – не являются хранилищами данных в привычном
понимании. В таких системах работа ведется с отдельными источниками
данных, но при этом эмулируется работа обычного ХД. Иначе говоря, данные
не консолидируются физически, а собираются непосредственно в процессе
выполнения запроса.
Кроме того, все ХД можно разделить на одноплатформенные и кросс-
платформенные. Одноплатформенные ХД строятся на базе только одной
СУБД, а кросс-платформенные могут строиться на базе нескольких СУБД.
Многомерные хранилища данных
Основное назначение многомерных хранилищ данных (МХД) —
поддержка систем, ориентированных на аналитическую обработку данных,
поскольку такие хранилища лучше справляются с выполнением сложных
нерегламентированных запросов.
Многомерная модель данных, лежащая в основе построения
многомерных хранилищ данных, опирается на концепцию многомерных
кубов, или гиперкубов. Они представляют собой упорядоченные многомерные
массивы, которые также часто называют OLAP6-кубами. Технология OLAP
представляет собой методику оперативного извлечения нужной информации
из больших массивов данных и формирования соответствующих отчетов.
Основы многомерного представления данных
Сущность многомерного представления данных состоит в следующем.
Большинство реальных бизнес-процессов описывается множеством
показателей, свойств, атрибутов и т.д. Например, для описания процесса
продаж могут понадобиться сведения о наименованиях товаров или их групп,
о поставщике и покупателе, о городе, где производились продажи, а также о
ценах, количествах проданных товаров и общих суммах. Кроме того, для
отслеживания процесса во времени должен быть введен в рассмотрение такой
атрибут, как дата. Если собрать всю эту информацию в таблицу, то она
окажется сложной для визуального анализа и осмысления. Более того, она
может оказаться избыточной: если, например, один и тот же товар продавался
в один и тот же день в различных городах, то придется несколько раз
повторить одно и то же соответствие «город — товар» с указанием различных
суммы и количества. Все это способно окончательно запутать и сбить с толку
любого, кто попытается извлечь из такой таблицы полезную информацию с
целью анализа текущего состояния продаж и поиска путей оптимизации
процесса торговли. Указанные проблемы возникают по одной простой
причине: в плоской таблице хранятся многомерные данные.
Проясним суть вопроса с помощью геометрической аналогии.
Представьте себе трехмерную фигуру (например, тетраэдр или
параллелепипед) и спроецируйте его на плоскость, а затем по полученной
плоской проекции попытайтесь оценить форму и размеры исходной объемной
фигуры. Сделать это будет трудно: во-первых, потеряна информация об одном
измерении, а во-вторых, фигура теперь представлена в совершенно
несвойственном ей плоском виде.
6
OLAP (On-Line Analytical Processing) — оперативная аналитическая обработка
Примерно то же самое можно сказать об информации, представленной
несколькими рядами данных. Каждый такой ряд (поле таблицы) можно
рассматривать как своего рода информационное измерение, и тогда «плоская»
таблица может быть интерпретирована как результат преобразования
многомерной информационной структуры в совершенно несвойственную ей
плоскую форму. Чтобы компенсировать потерю информации от исключения
одного или нескольких измерений, приходится усложнять структуру таблицы,
а это в большинстве случаев приводит к тому, что разобраться в ней
становится очень сложно.
Можно пойти другим путем — выполнить декомпозицию информации
в несколько более простых таблиц, связать их некоторым набором отношений
и перейти к реляционной модели, которую используют классические базы
данных. Однако доказано, что реляционная модель не является оптимальной с
точки зрения задач анализа, поскольку предполагает высокую степень
нормализации, в результате чего снижается скорость выполнения запросов.
Поэтому разработка многомерной модели представления данных, которая
реализуется с помощью многомерных кубов, стала естественным шагом.
В основе многомерного представления данных лежит их разделение на
две группы — измерения и факты.
Измерения — это категориальные атрибуты, наименования и свойства
объектов, участвующих в некотором бизнес-процессе. Значениями измерений
являются наименования товаров, названия фирм-поставщиков и покупателей,
ФИО людей, названия городов и т.д. Измерения могут быть и числовыми, если
какой-либо категории (например, наименованию товара) соответствует
числовой код, но в любом случае это данные дискретные, то есть
принимающие значения из ограниченного набора. Измерения качественно
описывают исследуемый бизнес-процесс.
Факты — это данные, количественно описывающие бизнес-процесс,
непрерывные по своему характеру, то есть они могут принимать бесконечное
множество значений. Примеры фактов — цена товара или изделия, их
количество, сумма продаж или закупок, зарплата сотрудников, сумма кредита,
страховое вознаграждение и т.д.
Структура многомерного куба
Многомерный куб можно рассматривать как систему координат, осями
которой являются измерения, например Дата, Товар, Покупатель. По осям
будут откладываться значения измерений — даты, наименования товаров,
названия фирм-покупателей, ФИО физических лиц и т.д.
В такой системе каждому набору значений измерений (например, «дата
— товар — покупатель») будет соответствовать ячейка, в которой можно
разместить числовые показатели (то есть факты), связанные с данным
набором. Таким образом, между объектами бизнес-процесса и их числовыми
характеристиками будет установлена однозначная связь.
Принцип организации многомерного куба поясняется на рис. 18. В
ячейке 1 будут располагаться факты, относящиеся к продаже цемента ООО
«Спецстрой» 3 ноября, в ячейке 2 — к продаже плит ЗАО «Пирамида» 6
ноября, а в ячейке 3 — к продаже плит ООО «Спецстрой» 4 ноября.
Распределенные реестры
Технология распределенных реестров (Distributed ledger technology ,
DLT ) – это подход к обмену и хранению информации, при котором:
❖ каждый участник может обладать полноценной копией реестра;
❖ синхронизация копий реестра происходит на основе протокола
достижения распределенного консенсуса, то есть соглашения среди
участников на добавление новой информации;
❖ каждый участник взаимодействия может иметь доступ к истории
транзакций.
Рисунок 5 – Архитектура распределенного реестра
Таблица 1. Достоинства технологии распределенных систем
№ Достоинство Сущность
Крупные организации, как правило,
имеют множество отделений, которые
могут находиться в разных концах страны
и даже за ее пределами. Вполне логично
будет предположить, что используемые
этими организациями базы данных должны
быть распределены между отдельными
офисами. В каждом отделении может
Отражение
1. поддерживаться своя база данных. В
структуры организации
подобной базе данных персонал отделения
сможет выполнять необходимые ему
локальные запросы. Руководству компании
может потребоваться выполнять
глобальные запросы, предусматривающие
получение доступа к данным, сохраняемым
во всех существующих отделениях
компании.
Географическая распределенность
организации может быть отражена в
Разделяемость и распределении ее данных, причем
2. локальная пользователи одного сайта смогут получать
автономность доступ к данным, сохраняемым на других
сайтах. Данные могут быть помещены на
тот сайт, на котором зарегистрированы
№ Достоинство Сущность
пользователи, которые их чаще всего
используют. В результате
заинтересованные пользователи получают
локальный контроль над требуемыми им
данными и могут устанавливать или
регулировать локальные ограничения на их
использование. Администратор
глобальной базы данных (АБД) отвечает за
систему в целом. Как правило, часть этой
ответственности делегируется на
локальный уровень, благодаря чему АБД
локального уровня получает возможность
управлять локальной СУБД.
В централизованных СУБД отказ
центрального компьютера вызывает
прекращение функционирования всей
СУБД. Отказ одного из сайтов СУРБД или
линии связи между сайтами сделает
недоступным лишь некоторые сайты, тогда
как вся система в целом сохранит свою
Повышение
3. работоспособность. Распределенные СУБД
доступности данных
проектируются таким образом, чтобы
обеспечивать продолжение
функционирования системы, несмотря на
подобные отказы. Если выходит из строя
один из узлов, система сможет
перенаправить запросы к отказавшему узлу
в адрес другого сайта.
Если организована репликация
данных, в результате чего данные и их
копии будут размещены на более чем
Повышение
4. одном сайте, отказ отдельного узла или
надежности
соединительной связи между узлами не
приведет к недоступности данных в
системе.
Если данные размещены на самом
нагруженном сайте, который унаследовал
от систем-предшественников высокий
Повышение
5. уровень параллельности обработки, то
производительности
развертывание распределенной СУБД
может способствовать повышению
скорости доступа к базе данных (по
№ Достоинство Сущность
сравнению с доступом к удаленной
централизованной СУБД). Более того,
поскольку каждый сайт работает только с
частью базы данных, уровень
использования центрального процессора и
служб ввода/ вывода может оказаться
ниже, чем в случае централизованной
СУБД.
В настоящее время считается
общепринятым положение, согласно
которому намного дешевле собрать из
небольших компьютеров систему,
мощность которой будет эквивалентна
мощности одного большого компьютера.
Гораздо выгоднее устанавливать в
подразделениях организации собственные
маломощные компьютеры, кроме того,
гораздо дешевле добавить в сеть новые
рабочие станции, чем модернизировать
систему с мейнфреймом. Второй
Экономические
6. потенциальный источник экономии имеет
выгоды
место в том случае, когда базы данных
географически удалены друг от друга и
приложения требуют осуществления
доступа к распределенным данным. В этом
случае из-за относительно высокой
стоимости передаваемых по сети данных
(по сравнению со стоимостью их локальной
обработки) может оказаться экономически
выгодным разделить приложение на
соответствующие части и выполнять
необходимую обработку на каждом из
сайтов локально.
В распределенной среде расширение
существующей системы осуществляется
намного проще. Добавление в сеть нового
сайта не оказывает влияния на
Модульность
7. функционирование уже существующих.
системы
Подобная гибкость позволяет организации
легко расширяться. Перегрузки из-за
увеличения размера базы данных обычно
устраняются путем добавления в сеть
№ Достоинство Сущность
новых вычислительных мощностей и
устройств дисковой памяти. В
централизованных СУБД рост размера
базы данных может потребовать замены и
оборудования (более мощной системой), и
используемого программного обеспечения
(более мощной или более гибкой СУБД).
Таблица 2. Недостатки технологии распределенных систем
№ Недостаток Сущность
Распределенные СУБД, способные
скрыть от конечных пользователей
распределенную природу используемых ими
данных и обеспечить необходимый уровень
производительности, надежности и
доступности, безусловно, являются более
сложными программными комплексами, чем
централизованные СУБД. Тот факт, что
Повышение данные могут подвергаться репликации,
1.
сложности также добавляет дополнительный уровень
сложности в программное обеспечение
СУРБД. Если репликация данных не будет
поддерживаться на требуемом уровне,
система будет иметь более низкий уровень
доступности данных, надежности и
производительности, чем централизованные
системы, а все изложенные выше
преимущества превратятся в недостатки.
Увеличение сложности означает и
увеличение затрат на приобретение и
сопровождение СУРБД (по сравнению с
обычными централизованными СУБД).
Разворачивание распределенной СУБД
потребует дополнительного оборудования,
Увеличение необходимого для установки сетевых
2.
стоимости соединений между сайтами. Следует ожидать
и роста расходов на оплату каналов связи,
вызванных возрастанием сетевого графика.
Кроме того, возрастают затраты на оплату
труда персонала, который потребуется для
обслуживания локальных СУБД и сетевых
соединений.
№ Недостаток Сущность
В централизованных системах доступ к
данным легко контролируется. В
распределенных системах потребуется
организовать контроль доступа не только к
данным, реплицируемым на несколько
различных сайтов, но и защиту сетевых
Проблемы
3. соединений самих по себе. Раньше сети
защиты
рассматривались как совершенно
незащищенные каналы связи. Хотя это
отчасти справедливо и для настоящего
времени, тем не менее, в отношении защиты
сетевых соединений достигнут весьма
существенный прогресс.
Целостность базы данных означает
корректность и согласованность
сохраняемых в ней данных. Требования
обеспечения целостности обычно
формулируются в виде некоторых
ограничений, выполнение которых будет
гарантировать защиту информации в базе
Усложнение данных от разрушения. Реализация
4. контроля за ограничений поддержки целостности обычно
целостностью данных требует доступа к большому количеству
данных, используемых при выполнении
проверок, но не требует выполнения
операций обновления. В распределенных
СУБД повышенная стоимость передачи и
обработки данных может препятствовать
организации эффективной защиты от
нарушений целостности данных.
Хотя функционирование
распределенных СУБД зависит от
эффективности используемых каналов связи,
только в последнее время стали
вырисовываться контуры стандарта на
Отсутствие
5. каналы связи и протоколы доступа к данным.
стандартов
Отсутствие стандартов существенно
ограничивает потенциальные возможности
распределенных СУБД. Кроме того, не
существует инструментальных средств и
методологий, способных помочь
№ Недостаток Сущность
пользователям в преобразовании
централизованных систем в распределенные.
В настоящее время в эксплуатации
находится уже несколько систем-прототипов
и распределенных СУБД специального
назначения, что позволило уточнить
требования к используемым протоколам и
установить круг основных проблем. Однако
на текущий момент распределенные системы
общего назначения еще не получили
Недостаток
6. широкого распространения. Соответственно,
опыта
еще не накоплен необходимый опыт
промышленной эксплуатации
распределенных систем, сравнимый с
опытом эксплуатации централизованных
систем. Такое положение дел является
серьезным сдерживающим фактором для
многих потенциальных сторонников данной
технологии.
Разработка распределенных баз
данных, помимо обычных трудностей,
Усложнение связанных с процессом проектирования
процедуры централизованных баз данных, требует
7.
разработки базы принятия решения о фрагментации данных,
данных распределении фрагментов по отдельным
сайтам и организации процедур репликации
данных.
Комплексный учет всех предоставляемых выигрышей и проигрышей
является сложной задачей, методология решения которой в настоящее
время не определена. Ответственность за принятие решения по разработке
и внедрению распределенной системы может взять на себя группа смелых
специалистов. Баланс положительных и отрицательных аспектов
существенно зависит от рода задачи, для решения которой предполагается
создание распределенной системы.
Потоковые базы данных
Обработка в режиме реального времени выполняется для потоков
данных, получаемых в реальном времени и обрабатываемых с минимальной
задержкой для создания отчетов или автоматизированного реагирования в
режиме реального времени (или приближенном к реальному времени).
Принцип работы PipelineDB можно сформулировать так: «постоянные
запросы, кратковременные данные». В реляционных СУБД всё обстоит ровно
наоборот: «кратковременные запросы, постоянные данные. В PipelineDB
данные не хранятся, а поступают в потоке; их обработка происходит
«на лету», в движении.
Архитектура обработки в режиме реального времени
• Прием сообщений в реальном времени. Архитектура должна
включать средства сбора и сохранения сообщений в режиме реального
времени, доступные для объекта-получателя, обрабатывающего поток. В
простых случаях роль такой службы может выполнять обычное хранилище
данных, в одной из папок которого размещаются новые сообщения. Но чаще
для этого компонента нужны специализированные брокеры обмена
сообщениями, например Центры событий Azure, которые выполняют роль
буфера для входящих сообщений. Брокер обмена сообщениями должен
поддерживать масштабируемую обработку и надежную доставку.
• Потоковая обработка. Сохранив сообщения, поступающие в
режиме реального времени, система выполняет для них фильтрацию,
статистическую обработку и другие процессы подготовки данных к анализу.
• Хранилище аналитических данных. Многие решения по
обработке больших данных спроектированы так, чтобы подготавливать
данные к анализу и предоставлять их в структурированном формате для
запросов через средства аналитики.
• Анализ и создание отчетов. Большинство решений по обработке
больших данных предназначены для анализа и составления отчетов, что
позволяет получить важную информацию.
Обработка потоковых данных требует использования двух уровней:
уровня хранилища и уровня обработки. Уровень хранилища должен
поддерживать очередность записей и строгую непротиворечивость для
обеспечения быстрых, экономичных и воспроизводимых операций записи и
чтения больших потоков данных. Уровень обработки отвечает за потребление
данных, расположенных на уровне хранилища, выполнение вычислений с
использованием этих данных и уведомление уровня хранилища о том, какие
данные можно удалить за ненадобностью. Кроме того, необходимо
предусмотреть масштабируемость, надежность данных и отказоустойчивость
как на уровне хранилища, так и на уровне обработки. В результате появилось
множество платформ, предоставляющих необходимую инфраструктуру для
создания приложений обработки потоковых данных, включая Amazon Kinesis
Streams, Amazon Kinesis Firehose, Apache Kafka, Apache Flume, Apache Spark
Streaming и Apache Storm.
Таблица 3 – Сравнительные характеристикипакетной и потоковой
обработки