Top Banner
Проектирование баз данных Часть 5. Хранилища данных и OLAP Использованы материалы Microsoft SQL Server Analysis Services 2008 для построения хранилищ данных Автор: В.В. Полубояров (http://www.intuit.ru/department/database/mssqlsas2008 ) (©) Владислав Лавров, vlavrov.professorjournal.ru
60
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Проектирование БД (хранилища данных и OLAP)

Проектирование

баз данных

Часть 5.

Хранилища данных

и OLAPИспользованы материалы Microsoft SQL Server Analysis Services 2008 для построения хранилищ данных

Автор: В.В. Полубояров (http://www.intuit.ru/department/database/mssqlsas2008 )

(©) Владислав Лавров, vlavrov.professorjournal.ru

Page 2: Проектирование БД (хранилища данных и OLAP)

2

5.1.

Хранилище данных и OLAP.

Назначение.

Основные характеристики

(©) Владислав Лавров, vlavrov.professorjournal.ru

Page 3: Проектирование БД (хранилища данных и OLAP)

3

Бизнес-анализ

(BI, Business Intelligence) – это категория приложений и технологий для сбора,

хранения, анализа и публикации данных,

позволяющая корпоративным пользователям принимать

лучшие решения.

В русскоязычной терминологии подобные системы

называются также системами поддержки принятия

решений (СППР).(©) Владислав Лавров, vlavrov.professorjournal.ru

Page 4: Проектирование БД (хранилища данных и OLAP)

4

Сбор и хранение информации, а также решение

задач информационно-поискового запроса

эффективно реализуются средствами систем

управления базами данных (СУБД) с помощью

OLTP (Online Transaction Processing)-

подсистем.

(©) Владислав Лавров, vlavrov.professorjournal.ru

Page 5: Проектирование БД (хранилища данных и OLAP)

5

Непосредственно OLTP-системы не подходят

для полноценного анализа информации.

Почему?

В силу противоречивости требований,

предъявляемых к OLTP-системам и СППР.

(©) Владислав Лавров, vlavrov.professorjournal.ru

Page 6: Проектирование БД (хранилища данных и OLAP)

6

Для предоставления необходимой для принятия

решений информации обычно приходится

собирать данные из нескольких

транзакционных баз данных различной

структуры и содержания.

(©) Владислав Лавров, vlavrov.professorjournal.ru

Page 7: Проектирование БД (хранилища данных и OLAP)

7

Основная проблема при этом состоит в

несогласованности и противоречивости этих

баз-источников, отсутствии единого

логического взгляда на корпоративные

данные.

(©) Владислав Лавров, vlavrov.professorjournal.ru

Page 8: Проектирование БД (хранилища данных и OLAP)

8

В основе концепции ХД лежит идея разделения

данных, используемых для оперативной

обработки и для решения задач анализа, что

позволяет оптимизировать структуры

хранения.

(©) Владислав Лавров, vlavrov.professorjournal.ru

Page 9: Проектирование БД (хранилища данных и OLAP)

9

ХД позволяет интегрировать ранее разъединенные

детализированные данные, содержащиеся в

исторических архивах, накапливаемых в традиционных

OLTP-системах, поступающих из внешних источников, в

единую базу данных, осуществляя их предварительное

согласование и, возможно, агрегацию.

(©) Владислав Лавров, vlavrov.professorjournal.ru

Page 10: Проектирование БД (хранилища данных и OLAP)

10

Архитектура СППР

Подсистема ввода данных(СУБД - OLTP)

Подсистема хранения данных(СУБД и/или ХД)

Подсистема анализа

Подсистема информационно-

поискового анализа(СУБД, SQL)

Подсистема оперативного анализа

(OLAP)

Подсистема интеллектуального

анализа(Data Mining)

Оператор Аналитик

(©) Владислав Лавров, vlavrov.professorjournal.ru

Page 11: Проектирование БД (хранилища данных и OLAP)

11

Подсистема анализа может быть построенана основе:

• подсистемы информационно-поискового анализа на базе реляционных СУБД и статических запросов с использованием языка SQL;

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

• подсистемы интеллектуального анализа, реализующие методы и алгоритмы Data Mining.

(©) Владислав Лавров, vlavrov.professorjournal.ru

Page 12: Проектирование БД (хранилища данных и OLAP)

12

ХД – предметно-ориентированный, интегрированный,

редко меняющийся, поддерживающий хронологию

набор данных, организованный для целей поддержки

принятия решений.

Предметная ориентация означает, что ХД интегрируют

информацию, отражающую различные точки зрения на

предметную область.

Интеграция предполагает, что данные, хранящиеся в ХД,

приводятся к единому формату. Поддержка

хронологии означает, что все данные в ХД

соответствуют последовательным интервалам

времени.

Понятие хранилищ данных

(©) Владислав Лавров, vlavrov.professorjournal.ru

Page 13: Проектирование БД (хранилища данных и OLAP)

13

Структура СППР с физическим ХД

• При загрузке данных из OLTP-системы в ХД происходит дублирование данных.

• В ходе этой загрузки данные фильтруются, поскольку не все из них имеют значение для

проведения процедур анализа.

• В ХД хранится обобщённая информация, которая в OLTP-системе отсутствует.

Подсистема анализа

Аналитик

Подсистема ввода (OLTP)

Оперативный источник данных

Оперативный источник данных

Оперативный источник данных

Подсистема хранения данных

Хранилище данных

Подсистема ввода (OLTP)

Подсистема ввода (OLTP)

Аналитические запросы

Данные

Внешний источник данных

Оператор

Оператор

Оператор

(©) Владислав Лавров, vlavrov.professorjournal.ru

Page 14: Проектирование БД (хранилища данных и OLAP)

14

В системе виртуальных ХД данные из OLTP-системы не копируются в единое хранилище. Они извлекаются, преобразуются и интегрируются непосредственно при выполнении аналитических запросов в режиме реального времени. Фактически такие запросы напрямую передаются к OLTP-системе.

Достоинства виртуального ХД:• минимизация объема хранимых данных;• работа с текущими, актуальными данными.

Недостатки виртуального ХД:• более высокое, по сравнению с физическим ХД время обработки запросов;• необходимость постоянной доступности всех OLTP-источников;• снижение быстродействия OLTP-систем;• OLTP-системы не ориентированы на хранение данных за длительный

период времени, по мере необходимости данные выгружаются в архивные, поэтому не всегда имеется физическая возможность получения полного набора данных в ХД.

Виртуальные хранилища данных

(©) Владислав Лавров, vlavrov.professorjournal.ru

Page 15: Проектирование БД (хранилища данных и OLAP)

15

1. Интеграция разнородных данных.

2. Эффективное хранение и обработка больших объемов данных.

3. Организация многоуровневых справочников метаданных.

4. Обеспечение информационной безопасности ХД.

Проблемы построения хранилищ данных

(©) Владислав Лавров, vlavrov.professorjournal.ru

Page 16: Проектирование БД (хранилища данных и OLAP)

16

Структура СППР с самостоятельными витринами данных (ВД )

Подсистема анализа

Подсистема ввода (OLTP)

Оперативный источник данных

Оперативный источник данных

Подсистема хранения данных

Витрина данных

Подсистема ввода (OLTP)

Подсистема ввода (OLTP)

Аналитические запросы

Данные

Внешний источник данных

Оператор

Оператор

Оператор

Витрина данных

Оперативный источник данных

Подсистема анализа

Аналитические запросы

Данные

Аналитик

Аналитик

• ВД содержит данные, ориентированные на конкретного пользователя,

существенно меньше по объему, и для ее реализации требуется меньше затрат.

• ВД могут строиться как самостоятельно, так и вместе с ХД.

• ВД внедряются гораздо быстрее и быстрее виден эффект от их использования.

(©) Владислав Лавров, vlavrov.professorjournal.ru

Page 17: Проектирование БД (хранилища данных и OLAP)

17

Структура СППР с хранилищами данных и витринами данных

Подсистема анализа

Подсистема ввода (OLTP)

Оперативный источник данных

Оперативный источник данных

Подсистема хранения данных

Витрина данных

Подсистема ввода (OLTP)

Подсистема ввода (OLTP)

Аналитические запросы

Данные

Внешний источник данных

Оператор

Оператор

Оператор

Витрина данных

Оперативный источник данных

Подсистема анализа

Аналитические запросы

Данные

Аналитик

АналитикХранилище данных

(©) Владислав Лавров, vlavrov.professorjournal.ru

Page 18: Проектирование БД (хранилища данных и OLAP)

18

5.2.

Понятие и модель данных OLAP

(©) Владислав Лавров, vlavrov.professorjournal.ru

Page 19: Проектирование БД (хранилища данных и OLAP)

19

OLAP (Online Analytical Processing) – технология

оперативной аналитической обработки данных,

использующая методы и средства для сбора,

хранения и анализа многомерных данных в целях

поддержки процессов принятия решений.

Основное назначение OLAP-систем – поддержка

аналитической деятельности, произвольных

запросов пользователей - аналитиков. Цель OLAP-

анализа – проверка возникающих гипотез.

Понятие OLAP

(©) Владислав Лавров, vlavrov.professorjournal.ru

Page 20: Проектирование БД (хранилища данных и OLAP)

20

OLTP – On-Line Transaction Processing,

оперативная транзакционная обработка данных

OLAP – On-Line Analytical Processing

оперативная аналитическая обработка данных

Data

OLTP

OLAP

(©) Владислав Лавров, vlavrov.professorjournal.ru

Page 21: Проектирование БД (хранилища данных и OLAP)

21

Категории данных в хранилищах данных

1. Детальные данные

2. Агрегированные (обобщённые) данные

3. Метаданные

Подсистема анализа

Аналитик

Подсистема ввода (OLTP)

Оперативный источник данных

Оперативный источник данных

Оперативный источник данных

Подсистема хранения данных

Хранилище данных

Подсистема ввода (OLTP)

Подсистема ввода (OLTP)

Аналити-ческие запросы

Данные

Внешний источник данных

Оператор

Оператор

Оператор

Агрегированные данные

Детальные данные

Обратный поток

Входнойпоток

Выходнойпоток

Поток обобщения

Репозиторий метаданных

Поток метаданных

Архивный поток

Архивныеданные

(©) Владислав Лавров, vlavrov.professorjournal.ru

Page 22: Проектирование БД (хранилища данных и OLAP)

22

Информационные потоки в хранилищах данных

• входной поток - образуется данными, копируемыми из OLTP-систем в ХД; данные при этом часто очищаются и обогащаются путем добавления новых атрибутов;

• поток обобщения - образуется агрегированием детальных данных и их сохранением в ХД;

• архивный поток - образуется перемещением детальных данных, количество обращений к которым снизилось;

• поток метаданных - образуется потоком информации о данных в репозиторий данных;

• выходной поток - образуется данными, извлекаемыми пользователями;

• обратный поток - образуется очищенными данными, записываемыми обратно в OLTP-системы.

(©) Владислав Лавров, vlavrov.professorjournal.ru

Page 23: Проектирование БД (хранилища данных и OLAP)

23

OLAP и OLTP. Характеристики и основные отличия

Характеристики OLTP системы

• Большой объем информации

• Часто различные БД для разных подразделений

• Нормализованная схема, отсутствие дублирования

информации

• Интенсивное изменение данных

• Транзакционный режим работы

• Транзакции затрагивают небольшой объем данных

• Обработка текущих данных – мгновенный снимок

• Много клиентов

• Малое время отклика – несколько секунд

(©) Владислав Лавров, vlavrov.professorjournal.ru

Page 24: Проектирование БД (хранилища данных и OLAP)

24

OLAP и OLTP. Характеристики и основные отличия

Характеристики OLAP системы

• Большой объем информации

• Синхронизированная информация из различных БД с использованием

общих классификаторов

• Ненормализованная схема БД с дубликатами

• Данные меняются редко, Изменение происходит через пакетную загрузку

• Выполняются сложные нерегламентированные запросы над большим

объемом данных с широким применением группировок и агрегатных

функций.

• Анализ временных зависимостей

• Небольшое количество работающих пользователей – аналитики и

менеджеры

• Большее время отклика (но все равно приемлемое) – несколько минут

(©) Владислав Лавров, vlavrov.professorjournal.ru

Page 25: Проектирование БД (хранилища данных и OLAP)

25

5.3.

Правила Кодда

для OLAP систем

(©) Владислав Лавров, vlavrov.professorjournal.ru

Page 26: Проектирование БД (хранилища данных и OLAP)

26

1. Концептуальное многомерное представление

2. Прозрачность.

3. Доступность.

4. Постоянная производительность при разработке отчётов.

5. Клиент-серверная архитектура.

6. Общая многомерность.

7. Динамическое управление разреженными матрицами.

8. Многопользовательская поддержка.

9. Неограниченные перекрёстные операции.

10. Интуитивная манипуляция данными.

11. Гибкие возможности получения отчётов.

12. Неограниченная размерность и число уровней агрегации.

(©) Владислав Лавров, vlavrov.professorjournal.ru

Page 27: Проектирование БД (хранилища данных и OLAP)

27

5.4.

Структура OLAP-куба

(©) Владислав Лавров, vlavrov.professorjournal.ru

Page 28: Проектирование БД (хранилища данных и OLAP)

28

Гиперкуб

(©) Владислав Лавров, vlavrov.professorjournal.ru

Page 29: Проектирование БД (хранилища данных и OLAP)

29

Операции, выполняемые над гиперкубом

1. Срез

2. Вращение

(©) Владислав Лавров, vlavrov.professorjournal.ru

Page 30: Проектирование БД (хранилища данных и OLAP)

30

Операции, выполняемые над гиперкубом

4. Детализация

3. Консолидация

(©) Владислав Лавров, vlavrov.professorjournal.ru

Page 31: Проектирование БД (хранилища данных и OLAP)

31

Фрагмент хранилища данных для OLAP

(©) Владислав Лавров, vlavrov.professorjournal.ru

Page 32: Проектирование БД (хранилища данных и OLAP)

32

Таблица фактов

1. Факты, связанные с транзакциями (Transaction facts).

2. Факты, связанные с "моментальными снимками"

(Snapshot facts).

3. Факты, связанные с элементами документа (Line-item facts).

4. Факты, связанные с событиями или состоянием объекта

(Event or state facts).

Основные типы таблиц фактов

(©) Владислав Лавров, vlavrov.professorjournal.ru

Page 33: Проектирование БД (хранилища данных и OLAP)

33

Таблица измерений

Таблицы измерений содержат неизменяемые либо редко изменяемые данные.

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

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

Каждая таблица измерений должна находиться в отношении "один ко многим" с таблицей фактов.

Скорость роста таблиц измерений должна быть незначительной по сравнению со скоростью роста таблицы фактов

(©) Владислав Лавров, vlavrov.professorjournal.ru

Page 34: Проектирование БД (хранилища данных и OLAP)

34

Архитектура

OLAP-систем

(©) Владислав Лавров, vlavrov.professorjournal.ru

Page 35: Проектирование БД (хранилища данных и OLAP)

35

Архитектура OLAP-систем

Слой извлечения, преобразования и загрузки данных

Включает организационные подразделения и структуры организации всех уровней,

поддерживающие базы данных оперативного доступа.

Он представляет собой низовой уровень генерации информации, уровень внутренних

и внешних информационных источников, вырабатывающих "сырую" информацию.

Эта информация является рабочей для повседневной деятельности различных

подразделений, которые ее вырабатывают и используют.

Загрузка данных из источников в хранилище осуществляется специальными

процедурами, позволяющими:

1. Извлекать данные из различных баз данных, текстовых файлов;

2. Выполнять различные типы согласования и очистки данных;

3. Преобразовывать данные при перемещении их от источников к хранилищу;

4. Загружать согласованные и "очищенные" данные в структуры хранилища

(©) Владислав Лавров, vlavrov.professorjournal.ru

Page 36: Проектирование БД (хранилища данных и OLAP)

36

Архитектура OLAP-систем

Слой хранения данных

Предназначен для хранения значимой, проверенной, согласованной,

непротиворечивой и хронологически целостной информации, которую с достаточно

высокой степенью уверенности можно считать достоверной.

Как правило, ХД или ВД реализуется в виде реляционной БД, работающей под

управлением достаточно мощной реляционной СУБД.

Требования к СУБД:

• поддержка эффективной работы с огромными объёмами информации;

• развитые средства ограничения доступа;

• обеспечение повышенного уровня надёжности и безопасности;

• соответствие необходимым требованиям по восстановлению и архивации.

Слой реализован в виде хранилища данных (ХД) или витрины данных (ВД).

(©) Владислав Лавров, vlavrov.professorjournal.ru

Page 37: Проектирование БД (хранилища данных и OLAP)

37

Архитектура OLAP-систем

Слой анализа данных

Для организации доступа аналитиков к данным ХД и ВД используются

специализированные рабочие места, поддерживающие необходимые технологии как

оперативного, так и долговременного анализа.

Результаты работы аналитиков оформляются в виде отчетов, графиков, рекомендаций

и сохраняются как на локальном компьютере, так и в общедоступном узле локальной

сети.

Современный подход к инструментальным средствам анализа не ограничивается

использованием какой-то одной технологии. В настоящее время принято различать

следующие основные вида аналитической деятельности:

• стандартная отчетность;

• нерегламентированные запросы;

• многомерный анализ (OLAP);

• извлечение знаний (data mining).

(©) Владислав Лавров, vlavrov.professorjournal.ru

Page 38: Проектирование БД (хранилища данных и OLAP)

38

Инструментальные средства OLAP-систем

• Клиентские OLAP-средства

• Серверные OLAP-средства

(©) Владислав Лавров, vlavrov.professorjournal.ru

Page 39: Проектирование БД (хранилища данных и OLAP)

39

Клиентские OLAP-средства

Представляют собой приложения, осуществляющие вычисление агрегатных данных

(сумм, средних величин, максимальных или минимальных значений) и их

отображение, при этом сами агрегатные данные содержатся в кэше внутри

адресного пространства такого OLAP-средства.

Если исходные данные содержатся в настольной СУБД, вычисление агрегатных

данных производится самим OLAP-средством. Если же источник исходных данных -

серверная СУБД, многие из клиентских OLAP-средств посылают на сервер SQL-

запросы, содержащие оператор GROUP BY, и в результате получают агрегатные

данные, вычисленные на сервере.

Функциональность реализована в пакетах статистической обработки данных

(например, продуктах компаний StatSoft и SPSS), а также в пакетах Microsoft Office

Excel и Microsoft Office Visio.

(©) Владислав Лавров, vlavrov.professorjournal.ru

Page 40: Проектирование БД (хранилища данных и OLAP)

40

Клиентские OLAP-средства

В состав Microsoft Office 2010 входят три отдельных OLAP-компонента:

1. Клиент извлечения и обработки данных для Excel позволяет создавать

проекты извлечения и обработки данных на базе служб SQL Server

Analysis Services (SSAS) и управлять ими из Excel;

2. Средства анализа таблиц для приложения Excel позволяют использовать

встроенные в службы SSAS функции извлечения и обработки информации

для анализа данных, хранящихся в таблицах Excel;

3. Шаблоны извлечения и обработки данных для приложения Visio позволяют

визуализировать деревья решений, деревья регрессии, кластерные

диаграммы и сети зависимостей на диаграммах Visio.

(©) Владислав Лавров, vlavrov.professorjournal.ru

Page 41: Проектирование БД (хранилища данных и OLAP)

41

Клиентские OLAP-средства

С помощью приложения Microsoft Office Visio можно аннотировать, дополнять и

отображать графические представления результатов извлечения и обработки

данных.

Платформа SQL Server 2008 в сочетании с приложением Visio 2007 позволяет:

• визуализировать деревья решений, деревья регрессии, кластерные

диаграммы и сети зависимостей;

• сохранять модели извлечения и обработки данных в виде документов Visio,

внедрённых в другие документы приложений Office или сохранённых в виде

веб-страниц.

(©) Владислав Лавров, vlavrov.professorjournal.ru

Page 42: Проектирование БД (хранилища данных и OLAP)

42

Серверные OLAP-средства

В случае применения серверных OLAP-средств вычисление и хранение

агрегатных данных происходят на сервере, а клиентское приложение

получает лишь результаты запросов к ним, что позволяет в общем случае

снизить сетевой трафик, время выполнения запросов и требования к

ресурсам, потребляемым клиентским приложением.

Средства анализа и обработки данных масштаба предприятия, как

правило, базируются именно на серверных OLAP-средствах, например,

таких как Oracle Database Server и Microsoft SQL Server.

(©) Владислав Лавров, vlavrov.professorjournal.ru

Page 43: Проектирование БД (хранилища данных и OLAP)

43

5.5.

Реализация OLAP

(©) Владислав Лавров, vlavrov.professorjournal.ru

Page 44: Проектирование БД (хранилища данных и OLAP)

• MOLAP (Multidimensional OLAP)

• ROLAP (Relational OLAP)

• HOLAP (Hybrid OLAP)

Типы OLAP - серверов

(©) Владислав Лавров, vlavrov.professorjournal.ru

Page 45: Проектирование БД (хранилища данных и OLAP)

MOLAP - сервер

Детальные и агрегированные данные хранятся в многомерной базе данных.

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

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

(©) Владислав Лавров, vlavrov.professorjournal.ru

Page 46: Проектирование БД (хранилища данных и OLAP)

Преимущества

• Высокая производительность.

• Структура и интерфейсы наилучшим образом

соответствуют структуре аналитических запросов.

• Многомерные СУБД легко справляются с задачами

включения в информационную модель разнообразных

встроенных функций.

MOLAP - сервер

(©) Владислав Лавров, vlavrov.professorjournal.ru

Page 47: Проектирование БД (хранилища данных и OLAP)

Недостатки

• MOLAP могут работать только со своими собственными многомерными

БД и основываются на патентованных технологиях для многомерных

СУБД, поэтому являются наиболее дорогими.

• По сравнению с реляционными, очень неэффективно используют

внешнюю память, обладают худшими по сравнению с реляционными БД

механизмами транзакций.

• Отсутствуют единые стандарты на интерфейс, языки описания и

манипулирования данными.

• Не поддерживают репликацию данных, часто используемую в качестве

механизма загрузки.

MOLAP - сервер

(©) Владислав Лавров, vlavrov.professorjournal.ru

Page 48: Проектирование БД (хранилища данных и OLAP)

ROLAP - сервер

ROLAP-системы позволяют представлять данные,

хранимые в классической реляционной базе, в

многомерной форме или в плоских локальных таблицах

на файл-сервере, обеспечивая преобразование

информации в многомерную модель через

промежуточный слой метаданных.

Агрегаты хранятся в той же БД в специально созданных

служебных таблицах. В этом случае гиперкуб

эмулируется СУБД на логическом уровне.

(©) Владислав Лавров, vlavrov.professorjournal.ru

Page 49: Проектирование БД (хранилища данных и OLAP)

Преимущества

• Работа с очень большими БД

• Развитые средства администрирования.

• Инструменты ROLAP позволяют производить анализ непосредственно над

хранилищем данных.

• В случае переменной размерности задачи ROLAP не требуют физической

реорганизации БД, как в случае MOLAP.

• Системы ROLAP могут функционировать на гораздо менее мощных

клиентских станциях, чем системы MOLAP.

• Более высокий уровень защиты данных и хорошие возможности

разграничения прав доступа.

ROLAP - сервер

(©) Владислав Лавров, vlavrov.professorjournal.ru

Page 50: Проектирование БД (хранилища данных и OLAP)

Недостатки

• Ограниченные возможности с точки зрения расчета значений

функционального типа.

• Меньшая производительность, чем у MOLAP. Для обеспечения

сравнимой с MOLAP производительности реляционные системы

требуют тщательной проработки схемы БД и специальной

настройки индексов. Но в результате этих операций

производительность хорошо настроенных реляционных систем при

использовании схемы "звезда" сравнима с производительностью

систем на основе многомерных БД.

ROLAP - сервер

(©) Владислав Лавров, vlavrov.professorjournal.ru

Page 51: Проектирование БД (хранилища данных и OLAP)

HOLAP - сервер

Детальные данные остаются в той же реляционной базе

данных, где они изначально находились, а агрегатные

данные хранятся в многомерной базе данных

(©) Владислав Лавров, vlavrov.professorjournal.ru

Page 52: Проектирование БД (хранилища данных и OLAP)

• Схема «Звезда»

• Схема «Снежинка»

Схемы реализации OLAP в реляционных системах

(©) Владислав Лавров, vlavrov.professorjournal.ru

Page 53: Проектирование БД (хранилища данных и OLAP)

Схема «Звезда»Каждое измерение содержится в одной таблице.

(©) Владислав Лавров, vlavrov.professorjournal.ru

Page 54: Проектирование БД (хранилища данных и OLAP)

Схема «Звезда»Особенности:

• Одна таблица фактов (fact table), которая сильно денормализована является центральной в схеме, может состоять из миллионов строк и содержит суммируемые или фактические данные, с помощью которых можно ответить на различные вопросы.

• Несколько денормализованных таблиц измерений (dimensional table) имеют меньшее количество строк, чем таблицы фактов, и содержат описательную информацию. Эти таблицы позволяют пользователю быстро переходить от таблицы фактов к дополнительной информации.

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

• Агрегированные данные хранятся совместно с исходными.

(©) Владислав Лавров, vlavrov.professorjournal.ru

Page 55: Проектирование БД (хранилища данных и OLAP)

Схема «Звезда»

Преимущества

Благодаря денормализации таблиц измерений

упрощается восприятие структуры данных пользователем

и формулировка запросов, уменьшается количество

операций соединения таблиц при обработке запросов.

Некоторые промышленные СУБД и инструменты класса

OLAP / Reporting умеют использовать преимущества

схемы "звезда" для сокращения времени выполнения

запросов.

(©) Владислав Лавров, vlavrov.professorjournal.ru

Page 56: Проектирование БД (хранилища данных и OLAP)

Схема «Звезда»

Недостатки

Денормализация таблиц измерений вносит избыточность

данных, возрастает требуемый для их хранения объем

памяти.

Если агрегаты хранятся совместно с исходными данными,

то в измерениях необходимо использовать

дополнительный параметр - уровень иерархии.

(©) Владислав Лавров, vlavrov.professorjournal.ru

Page 57: Проектирование БД (хранилища данных и OLAP)

Схема «Снежинка»Существует измерение, которое содержится в нескольких таблицах

(©) Владислав Лавров, vlavrov.professorjournal.ru

Page 58: Проектирование БД (хранилища данных и OLAP)

Схема «Снежинка»

Особенности:

• Одна таблица фактов (fact table), которая сильно денормализована является центральной в схеме, может состоять из миллионов строк и содержать суммируемые или фактические данные, с помощью которых можно ответить на различные вопросы.

• Несколько таблиц измерений (dimensional table), которые нормализованы в отличие от схемы "звезда". Имеют меньшее количество строк, чем таблицы фактов, и содержат описательную информацию. Эти таблицы позволяют пользователю быстро переходить от таблицы фактов к дополнительной информации. Первичные ключи в них состоят из единственного атрибута (соответствуют единственному элементу измерения).

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

• В схеме "снежинка" агрегированные данные могут храниться отдельно от исходных

(©) Владислав Лавров, vlavrov.professorjournal.ru

Page 59: Проектирование БД (хранилища данных и OLAP)

Схема «Снежинка»

Преимущества

Нормализация таблиц измерений

в отличие от схемы "звезда" позволяет

минимизировать избыточность данных и более

эффективно выполнять запросы,

связанные со структурой значений измерений.

(©) Владислав Лавров, vlavrov.professorjournal.ru

Page 60: Проектирование БД (хранилища данных и OLAP)

Схема «Снежинка»

Недостатки

За нормализацию таблиц измерений иногда

приходится платить временем выполнения

запросов.

(©) Владислав Лавров, vlavrov.professorjournal.ru