Учебная дисциплина «Базы данных» для студентов специальности Прикладная информатика (бакалавриат) Лекция 21 Организация и проектирование хранилища данных Учебные вопросы: Вопрос 1. Информационные хранилища данных Вопрос 2. Проектирование реляционного хранилища данных
Литература 1.Базы данных: учеб. Пособие для студ. высш. учеб. Заведений / А.В. Кузин, С.В. Левонисова. – 2-е изд. стер. – М.: Издательский центр «Академия», Марков А.С., Лисовский К.Ю. Базы данных. Введение в теорию и методологию: Учебник. –М.: Финансы и статистика, Теория и практика построения баз данных. 8- е изд. / Д. Крёнке. –СПб: Питер, 2003.
Вопрос 1. Информационные хранилища данных Хранилище данных (ХД - используют также термины Data Warehouse, «склад данных», «информационное хранилище») - это база, хранящая данные, агрегированные по многим измерениям. Основные отличия ХД от БД: агрегирование данных; данные из ХД никогда не удаляются; пополнение ХД происходит на периодической основе; формирование новых агрегатов данных, зависящих от старых - автоматическое; доступ к ХД осуществляется на основе многомерного куба или гиперкуба. Альтернативой хранилищу данных является концепция витрин данных (Data Mart). Витрины данных - множество тематических БД, содержащих информацию, относящуюся к отдельным информационным аспектам предметной области.
Информационное хранилище (DW data warehouse) это автоматизированная система, которая собирает данные из существующих баз и внешних источников, формирует, хранит и эксплуатирует информацию как единую. Оно обеспечивает инструментарий для преобразования больших объемов детализированных данных в форму, которая удобна для стратегического планирования и реорганизации бизнеса и необходима специалисту, ответственному за принятие решений. При этом происходит «слияние» различных сведений в требуемую предметно-ориентированную форму с использованием различных методов анализа. Назначение информационных хранилищ заключается в следующем: интеграция данных в масштабе бизнес-процессов; функционально-стоимостной анализ эффективности бизнес-процессов; сложные аналитические запросы в разрезах: виды услуг, клиенты, регионы, технологии; анализ данных в динамике и в сравнении с показателями отрасли.
Основные принципы организации хранилищ данных следующие Предметная ориентация. В оперативной базе данных обычно поддерживается несколько предметных областей, каждая из которых может послужить источником данных для ХД. Например, для магазина, торгующего видео- и музыкальной продукцией, интерес представляют следующие предметные области: клиенты, видеокассеты, CD-диски и аудиокассеты, сотрудники, поставщики. Средства интеграции. Приведение разных представлений одних и тех же сущностей к некоторому общему типу. Постоянство данных. В ХД не поддерживаются операции модификации в смысле традиционных баз данных. В ХД поддерживается модель «массовых загрузок» данных, осуществляемых в заданные моменты времени по установленным правилам в отличие от традиционной модели индивидуальных модификаций. Хронология данных. Благодаря средствам интеграции реализуется определенный хронологический временной аспект, присущий содержимому ХД.
В настоящее время также значителен рост интереса в области многомерных аналитических хранилищ данных, часто объединяемых под единым названием оперативной аналитической обработки (On- Line Analytical Processing - OLAP). Учитывая, что подобные хранилища предназначены для хранения многолетней информации, одной из специфических задач, выполняемых в процессе эксплуатации в аналитических хранилищах, является анализ разреженности куба и оптимизации технологии его хранения. Кроме того, производится расчет промежуточных агрегатов, которые позволяют значительно оперативнее представлять данные по запросу.
Рисунок 1 - Архитектура информационного хранилища
Существует две противоположные точки зрения на хранение данных в системах поддержки принятия решений. Прежде всего, это подход МОLАР (Multidimensional- многомерный ОLАР), при котором все данные хранятся либо вычисляются по формулам в многомерной базе данных. Другой подход - ROLAP (реляционный ОLАР), когда данные хранятся в реляционной базе данных, а для пользователя создается многомерное представление на логическом уровне в виде слоя метаданных, т.е. для систем RОLАР гиперкуб - это лишь пользовательский интерфейс, который эмулируется на обычной реляционной СУБД. Слой метаданных отображает реляционные термины (таблицы, связи, ключи) в многомерные (измерения, иерархии, показатели) и, таким образом, скрывает от конечного пользователя сложную структуру реляционной БД.
У каждого подхода есть свои достоинства и недостатки. Так, например, многомерная модель весьма чувствительна к объемам хранимых данных, данные сначала помещаются в специальную многомерную базу МDВ, а затем эффективно обрабатываются ОLАР- сервером. Для МDВ характерна высокая производительность, мощная аналитика и поддержка сложных запросов, которые неудобно реализовывать в SQL. С другой стороны, при использовании подхода RОLАР нет необходимости дублировать данные; в реляционных БД могут храниться терабайты данных, более развиты методы репликации, восстановления после сбоев и т.д.
Вопрос 2. Проектирование реляционного хранилища данных Рисунок 2 - Концептуальная модель хранилища данных
Виртуальное хранилище данных это система, предоставляющая интерфейсы и методы доступа к регистрирующей системе, которые эмулируют работу с данными в этой системе, как с хранилищем данных. Виртуальное хранилище данных можно организовать, создав ряд «представлений» (view) в базе данных, либо применив специальные средства доступа, например, продукты класса Desktop OLAP, к которым относятся, в частности, Business Objects, Brio Enterprise и другие. Главными достоинствами такого подхода являются простота и малая стоимость реализации, единая платформа с источником информации, отсутствие сетевых соединений между источником информации и хранилищем данных.
Построение полноценного корпоративного хранилища данных обычно выполняется в трехуровневой архитектуре. На первом уровне расположены разнообразные источники данных внутренние регистрирующие системы, справочные системы, внешние источники (данные информационных агентств, макроэкономические показатели). Второй уровень содержит центральное хранилище, куда стекается информация от всех источников с первого уровня, и, возможно, оперативный склад данных, который не содержит исторических данных и выполняет две основные функции. Во-первых, он является источником аналитической информации для оперативного управления и, во- вторых, здесь подготавливаются данные для последующей загрузки в центральное хранилище. Под подготовкой данных понимают их преобразование и проведение определенных проверок. Наличие оперативного склада данных просто необходимо при различном регламенте поступления информации из источников. Третий уровень представляет собой набор предметно-ориентированных витрин данных, источником информации для которых является центральное хранилище данных. Именно с витринами данных и работает большинство конечных пользователей.
Рисунок 3 - Модель иерархического справочника
Таблица 1- Представление иерархий с помощью рекурсивной связи
Рисунок 4 - Нумерация левой и правой границ узлов дерева
Например, для получения затрат по инфраструктуре можно выполнить следующий SQL-запрос: select sum(fact_table.cost) from fact_table, dimension_table D1, dimension_table D2 where fact_table.dimension_id = D2.id and D2.left >= D1.left and D2.right
Таблица 2 - Представление иерархий с помощью левой и правой границ
Таблица 3 - Структура и содержание вспомогательной таблицы
Рисунок 5 - Модель иерархического справочника с вспомогательной таблицей
Например, для того, чтобы посчитать сумму затрат, возникающих в местах, находящихся по иерархии на один уровень ниже «Инфраструктуры», необходимо выполнить следующий SQL- запрос: select sum(fact_table.cost) from fact_table, dimension_table, helper_table where fact_table.dimension_id = helper_table.child_id and dimension_table.dimension_id = helper_table.parent_id and dimension_table.name = «Инфраструктура» and helper_table.distance = 1