лекция 06. Многомерные БД.pptx
- Количество слайдов: 42
МНОГОМЕРНЫЕ БАЗЫ ДАННЫХ ИНФОРМАЦИОННЫЕ ТЕХНОЛОГИИ В ЭКОНОМИКЕ ЛЕКЦИЯ 06
ПРОСТЕЙШАЯ МНОГОМЕРНАЯ ТАБЛИЦА 2010 2011 2012 Москва 900 000 850 000 810 000 Омск 78 000 85 000 73 000 Чита 5 500 4 700 4 100 Заголовки строк – города, Заголовки столбцов – годы, Содержимое (значения) таблицы – число зачисленных абитуриентов в том или ином городе в тот или иной год
ТРЕХМЕРНАЯ ТАБЛИЦА Заголовки первой оси – города, Заголовки второй оси – годы, Заголовки третьей оси (слои) – специальности, Содержимое (значения) таблицы – число зачисленных абитуриентов в тот или иной год в том или ином городе на некоторую специальность МЭ БУ Москва ФК Москва Омск Чита 2010 1000 3000 9300 800 1100 1900 50 70 60 2011 850 1950 8530 650 790 1490 47 67 47 2012 810 2910 10010 730 930 1120 41 51 61
ОСНОВНЫЕ ОПРЕДЕЛЕНИЯ Куб: многомерная структура данных (многомерный массив, содержащий данные)
ОСНОВНЫЕ ОПРЕДЕЛЕНИЯ Измерение: одна из координат куба; параметр, по которому строится один из индексов многомерного массива.
ОСНОВНЫЕ ОПРЕДЕЛЕНИЯ Мера: конкретное значение, находящееся в ячейке куба.
ОСНОВНЫЕ ОПРЕДЕЛЕНИЯ Пример: Куб: база, описывающая контингент; Измерения: год, город, специальность, Мера: количество зачисленных. МЭ БУ Москва ФК Москва Омск Чита 2010 1000 3000 9300 800 1100 1900 50 70 60 2011 850 1950 8530 650 790 1490 47 67 47 2012 810 2910 10010 730 930 1120 41 51 61
ФАКТЫ Факт: событие, которое надо проанализировать. • Факты определяются комбинацией значений измерений. • Факт существует, когда ячейка, соответствующая сочетанию измерений, не пуста.
ФАКТЫ Виды фактов: • События (events): модель события реального мира; примеры: продажи, щелчки мышью, движение товара на складе.
ФАКТЫ Виды фактов: • Мгновенные снимки (snapshots): состояние объекта в данный момент; примеры: количество товара на складе, число пользователей сайта.
ФАКТЫ Виды фактов: • Совокупные мгновенные снимки (cumulative snapshots): состояние объекта на протяжении времени; примеры: совокупный объем продаж.
ПАРАМЕТРЫ Параметры: • Численная характеристика факта (например, цена) • Формула (например, агрегатная функция)
ПАРАМЕТРЫ Три вида параметров: • Аддитивные (могут комбинироваться в любом измерении) • Полуаддитивные (не могут комбинироваться в некоторых измерениях) • Неаддитивные (не комбинируются)
КАК РЕАЛИЗОВАТЬ МНОГОМЕРНУЮ БАЗУ ДАННЫХ 1. Определение измерений: Город (код города, город) Год (код года, год) Специальность(код специальности, специальность) Код города 101 102 103 Город Код года Москва 201 Чита 202 Омск 203 Год Код специальности 2009 301 2010 302 2011 303 Специальность ФК МЭ БУ
КАК РЕАЛИЗОВАТЬ МНОГОМЕРНУЮ БАЗУ ДАННЫХ 2. Определение мер и получение куба: Контингент (код города, код года, код специальности, количество зачисленных) Код города Код года Код специальности Количество 101 201 301 9300 101 201 302 1000 101 201 303 3000 … …
СХЕМА КАК РЕЗУЛЬТАТ Схема «Звезда» Код города 202 2010 203 2011 Чита 103 2009 Москва 102 Год 201 Город 101 Код года Омск Код города Код года Код специальности Количество 101 201 301 9300 101 201 302 1000 101 201 303 3000 … … Код специальности Специальность 301 ФК 302 МЭ 303 БУ
СХЕМА «ЗВЕЗДА» • Одна таблица фактов (fact table), которая сильно денормализована. • Несколько денормализованных таблиц измерений (dimensional table). • Таблица фактов и таблицы размерности связаны идентифицирующими связями, при этом первичные ключи таблицы размерности мигрируют в таблицу фактов в качестве внешних ключей. Первичный ключ таблицы факта целиком состоит из первичных ключей всех таблиц размерности. • Агрегированные данные хранятся совместно с исходными.
СХЕМА «ЗВЕЗДА» Преимущества • Благодаря денормализации таблиц измерений упрощается восприятие структуры данных пользователем и формулировка запросов, уменьшается количество операций соединения таблиц при обработке запросов. Некоторые промышленные СУБД и инструменты класса OLAP / Reporting умеют использовать преимущества схемы "звезда" для сокращения времени выполнения запросов.
СХЕМА «ЗВЕЗДА» Недостатки • Денормализация таблиц измерений вносит избыточность данных, возрастает требуемый для их хранения объем памяти. Если агрегаты хранятся совместно с исходными данными, то в измерениях необходимо использовать дополнительный параметр - уровень иерархии.
СХЕМА КАК РЕЗУЛЬТАТ Схема «Снежинка» : измерения сами являются многомерными Пример: тема – объемы продаж. • Измерения: • • • Тип Продукта (код. Т, тип) Продукт (код. П, продукт, код. Т) Страна (код. С, страна) Город (код. Г, город, код. С) Год (код. ГД, год) Месяц (код М, месяц, код ГД)
СХЕМА КАК РЕЗУЛЬТАТ Схема «Снежинка» : измерения сами являются многомерными Пример: тема – объемы продаж. • Меры и куб: • Продажа (код. П, код. Г, код. М, объем)
СХЕМА КАК РЕЗУЛЬТАТ Схема «Снежинка» Код. Т Тип Код. С Страна 11 Пищевой продукт 21 Россия Код. П Код. Т Продукт Код. Г Код. С Город 101 11 Молоко 201 21 Москва Код. П Код. Г Код. М Объем 101 201 301 9 300 000 р. Код. М Код. ГД Месяц 301 31 Март Код. ГД Год 31 2010
СХЕМА «СНЕЖИНКА» • Одна таблица фактов (fact table), которая сильно денормализована. • Несколько таблиц измерений (dimensional table), которые нормализованы в отличие от схемы "звезда". • Таблица фактов и таблицы размерности связаны идентифицирующими связями, при этом первичные ключи таблицы размерности мигрируют в таблицу фактов в качестве внешних ключей. Первичный ключ таблицы факта целиком состоит из первичных ключей всех таблиц размерности. • В схеме "снежинка" агрегированные данные могут храниться отдельно от исходных.
СХЕМА «СНЕЖИНКА» Преимущества • Нормализация таблиц измерений в отличие от схемы "звезда" позволяет минимизировать избыточность данных и более эффективно выполнять запросы, связанные со структурой значений измерений. Недостатки • За нормализацию таблиц измерений иногда приходится платить временем выполнения запросов.
ЗАПРОСЫ Запросы: • Slice-and-dice – сужают куб. • Drill-down и Roll-up – используют иерархию измерений и параметры для агрегирования. • Drill-across – комбинируют кубы с общими измерениями. • Ranking – возвращают верх или низ упорядоченных списков. • Rotating – вращение куба, показ данных, сгруппированных по разным измерениям.
OLAP {Эдгар Кодд, 1993} OLAP (англ. online analytical processing, аналитическая обработка в реальном времени) — технология обработки данных, заключающаяся в подготовке суммарной (агрегированной) информации на основе больших массивов данных, структурированных по многомерному принципу.
12 ПРИЗНАКОВ OLAP-ДАННЫХ 1. Многомерная концепция данных. OLAP оперирует CUBE данными, которые являются многомерными массивами данных. Число измерений OLAP кубов не ограничено. 2. Прозрачность. OLAP системы должны опираться на открытые системы, поддерживающие гетерогенные источники данных. 3. Доступность. OLAP системы должны представлять пользователю единую логическую схему данных.
12 ПРИЗНАКОВ OLAP-ДАННЫХ 4. Постоянная скорость выполнения запросов. Производительность не должна падать при росте числа измерений. 5. Клиентсервер архитектура. Системы должны базироваться на открытых, модульных системах. 6. Различное число измерений. Системы не должны ограничиваться 3 -х мерной моделью представления данных. Причем измерения должны быть эквивалентны по применению любых функций.
12 ПРИЗНАКОВ OLAP-ДАННЫХ 7. Динамическое представление разреженных матриц. Идея относится к «нулям» в реляционных базах данных и сжатию больших файлов, «разреженная матрица» матрица, не каждая ячейка которой содержит данные. OLAP системы должны содержать средства хранении и обработки больших объемов данных. 8. Многопользовательская поддержка. OLAP системы должны поддерживать многопользовательский режим работы. 9. Неограниченные многомерные операции. Аналогично, требованию о различном числе измерений : все измерения считаются равными и многомерные операции не должны накладывать ограничений на отношения между ячейками.
12 ПРИЗНАКОВ OLAP-ДАННЫХ 10. Интуитивно понятные инструменты манипулирование данными. В идеале, пользователи не должны пользоваться различными усложненными меню и прочим, чтобы сформулировать многоуровневые запросы. 11. Гибкая настройка конечных отчетов. Пользователи должны иметь возможность видеть только то, что им необходимо, причем все изменения данных должны немедленно отображаться в отчетах. 12. Отсутствие ограничений на количество измерений и уровней агрегации данных.
ТЕСТ FASMI {Найджел Пендс, 2005} OLAP-система должна быть: • Fast — быстрой, обеспечивать почти мгновенный отклик на большинство запросов; • Shared — многопользовательской, должен существовать механизм контроля доступа к данным, а также возможность одновременной работы многих пользователей; • Multidimensional — многомерной, данные должны представляться в виде многомерных кубов; • Informational — данные должны быть полны с точки зрения аналитика, т. е. содержать всю необходимую информацию.
3 ТИПА OLAP • многомерная OLAP (Multidimensional OLAP — MOLAP); MOLAP — это классическая форма OLAP, так что её часто называют просто OLAP. Она использует суммирующую БД, специальный вариант процессора пространственных БД и создаёт требуемую пространственную схему данных с сохранением как базовых данных, так и агрегатов. • реляционная OLAP (Relational OLAP — ROLAP); ROLAP работает напрямую с реляционным хранилищем, факты и таблицы с измерениями хранятся в реляционных таблицах, и для хранения агрегатов создаются дополнительные реляционные таблицы. • гибридная OLAP (Hybrid OLAP — HOLAP). HOLAP использует реляционные таблицы для хранения базовых данных и многомерные таблицы для агрегатов.
3 ТИПА OLAP Преимущества MOLAP. • Высокая производительность. Поиск и выборка данных осуществляется значительно быстрее, чем при многомерном концептуальном взгляде на реляционную базу данных. • Структура и интерфейсы наилучшим образом соответствуют структуре аналитических запросов. • Многомерные СУБД легко справляются с задачами включения в информационную модель разнообразных встроенных функций.
3 ТИПА OLAP Недостатки MOLAP. • MOLAP могут работать только со своими собственными многомерными БД и основываются на патентованных технологиях для многомерных СУБД, поэтому являются наиболее дорогими. Эти системы обеспечивают полный цикл OLAP-обработки и либо включают в себя, помимо серверного компонента, собственный интегрированный клиентский интерфейс, либо используют для связи с пользователем внешние программы работы с электронными таблицами. • По сравнению с реляционными, очень неэффективно используют внешнюю память, обладают худшими по сравнению с реляционными БД механизмами транзакций. • Отсутствуют единые стандарты на интерфейс, языки описания и манипулирования данными. • Не поддерживают репликацию данных, часто используемую в качестве механизма загрузки.
3 ТИПА OLAP Преимущества ROLAP. • Реляционные СУБД имеют реальный опыт работы с очень большими БД и развитые средства администрирования. При использовании ROLAP размер хранилища не является таким критичным параметром, как в случае MOLAP. • При оперативной аналитической обработке содержимого хранилища данных инструменты ROLAP позволяют производить анализ непосредственно над хранилищем (потому что в подавляющем большинстве случаев корпоративные хранилища данных реализуются средствами реляционных СУБД).
3 ТИПА OLAP Преимущества ROLAP. • В случае переменной размерности задачи, когда изменения в структуру измерений приходится вносить достаточно часто, ROLAP системы с динамическим представлением размерности являются оптимальным решением, так как в них такие модификации не требуют физической реорганизации БД, как в случае MOLAP. • Системы ROLAP могут функционировать на гораздо менее мощных клиентских станциях, чем системы MOLAP, поскольку основная вычислительная нагрузка в них ложится на сервер, где выполняются сложные аналитические SQL-запросы, формируемые системой. • Реляционные СУБД обеспечивают значительно более высокий уровень защиты данных и хорошие возможности разграничения прав доступа.
3 ТИПА OLAP Недостатки ROLAP. • Ограниченные возможности с точки зрения расчета значений функционального типа. • Меньшая производительность, чем у MOLAP. Для обеспечения сравнимой с MOLAP производительности реляционные системы требуют тщательной проработки схемы БД и специальной настройки индексов. Но в результате этих операций производительность хорошо настроенных реляционных систем при использовании схемы "звезда" сравнима с производительностью систем на основе многомерных БД.
ПРИМЕНЕНИЕ OLAP • • • Продажи Закупки Цены Маркетинг Склад Движение денежных средств Бюджет Бухгалтерские счета Финансовая отчетность Посещаемость сайта Результаты выборов
ПРИМЕНЕНИЕ OLAP • • • Результаты социологических опросов Объемы производства Потребление электроэнергии Потребление расходных материалов Использование помещений Заработная плата Текучесть кадров Метеорология Уровень жизни населения Пассажирские перевозки Грузовые перевозки Простои транспорта
ПРИМЕНЕНИЕ OLAP • • • Автомобильный трафик Заболеваемость персонала Многомерный хит-парад Выбор недвижимости Урожайность агрикультур Использование автотранспорта
ПРОГРАММНЫЕ СРЕДСТВА OLAP • • • ESSBASE – Extended spread sheet database Oracle Express Microsoft Analysis Services Mondrian PALO Часто включаются в состав ERP-систем (как, например, SAP)
ГДЕ ПОЧИТАТЬ ЕЩЕ? • http: //ru. wikipedia. org/wiki/Сравнение_OLAP_ серверов OLAP сервер MOLAP ROLAP HOLAP Microsoft Analysis Services Да Да Да Essbase Да Да Да Mondrian OLAP server Нет Да Нет Palo Да Нет
лекция 06. Многомерные БД.pptx