Основы olap. Вебинар workaround в softengi
TRANSCRIPT
Юрий Марков, архитектор решений Softengi
• в ИТ 15 лет, из них 10 лет работал разработчиком и 5 лет архитектором решений
• опыт работы с OLAP более 2 лет. OLAP-приложения для «Укрпочта» (98 тысяч работников и 14 тысяч почтовых отделений) и Государственной Службы Занятости Украины.
• Workaround – сообщество разработчиков и архитекторов компании Softengi и партнеров. Проводят лекции, семинары, вебинары, пьют пиво и едят пиццу.
Команда Softengi анализирует, разрабатывает, тестирует ПО для заказчиков из Швейцарии, Германии, США, Бельгии, Украины.
О ДОКЛАДЧИКЕ И ОРГАНИЗАТОРЕ
АННОТАЦИЯ Цель презентации – дать представление о том, когда целесообразно использовать OLAP и как выглядит архитектура типичной системы.
СОДЕРЖАНИЕ
• Предпосылки для OLAP
• Традиционные решения
• Системы Business Intelligence
Хранилища данных
Процессы ETL
OLAP и размерное моделирование
Инструменты пользователя
• Ситуация на рынке
• Выводы
СИТУАЦИЯ
В компании выполняется множество бизнес-процессов Каждый процесс автоматизирован с помощью OLTP-системы
ПРОБЛЕМЫ
У руководства компании неизбежно будут возникать трудности:
• «У нас в компании горы информации, но мы не имеем к ней доступа»
• «Руководство должно использовать факты для принятия решений»
• «Мы хотим получать информацию в произвольных разрезах»
• «Просто покажите мне то, что важно»
НАПРАВЛЕНИЕ
Для решения проблем анализа информации нужны системы, обладающие следующими характеристиками:
• Согласованная подача информации, собранной из различных источников
• Информация должна являться основой для принятия решений
• Обработка больших объёмов данных за приемлемое время
• Простота доступа и представления информации
• Разграничение доступа
ИСПОЛЬЗОВАНИЕ OLTP-СИСТЕМЫ
Традиционный подход
подразумевает реализацию
отчётности непосредственно
в OLTP-системе
ПРЕИМУЩЕСТВА
Использование знакомого инструментария и языков (SQL) Построение отчётов по актуальным данным
НЕДОСТАТКИ
Разные шаблоны нагрузки: постоянная (OLTP) vs пиковая (Reporting) Конфликтующие требования к структуре: нормализованная (OLTP) vs денормализованная (Reporting) Эскалация блокировок при формировании отчётов
ТЕНДЕНЦИИ
В простых случаях задачи OLAP можно реализовывать в OLTP системах Для полноценной OLAP обработки требуется другой подход к построению системы
ОПРЕДЕЛЕНИЕ
Business Intelligence (BI) – набор техник и инструментов для преобразования «сырых» данных в информацию Аналитическая обработка данных (OLAP) – одна из основных функций BI
ОПРЕДЕЛЕНИЕ ХРАНИЛИЩА ДАННЫХ
Хранилище – это БД, содержащая исторические данные о всех процессах компании Данные в хранилище организованы так, чтобы поддерживать аналитическую обработку данных (OLAP) вместо транзакционной обработки (OLTP)
ОТ OLTP К ХРАНИЛИЩАМ ДАННЫХ
Данные в OLTP Данные в хранилище
• Детальные
• Часто обновляемые
• Неизбыточные
• Доступ к единице (записи)
за операцию
• Агрегированные
• Редко обновляемые
• Избыточные
• Доступ к множеству за
операцию
ОПРЕДЕЛЕНИЕ
Extraction – извлечение данных из разнородных источников (БД, файлы, веб) Transformation – преобразование данных в согласованную форму (комбинирование, удаление дубликатов, исправление ошибок написания и т.д.) Loading – загрузка данных в таблицы хранилища
SSIS – инструментарий для реализации процессов ETL Содержит готовые компоненты для типовых операций (Merge, Aggregate, Lookup, Multicast и т.д.)
SQL Server Integration Services
РАЗМЕРНОЕ МОДЕЛИРОВАНИЕ
Основная структура – куб данных Оси куба называются измерениями На пересечении измерений находятся факты Куб можно «разрезать» вдоль любых осей (slice and dice)
ТАБЛИЦЫ ИЗМЕРЕНИЙ
• Являются «входами» в таблицу фактов
• Обычно обладают большим числом колонок (50-100)
• Объём данных измерений обычно составляет 10% от объёма
таблицы фактов
ТАБЛИЦЫ ФАКТОВ
• Каждая строка соответствует некоторому событию бизнес-
процесса
• Событие характеризуется списком измерений, определяющих
детализацию таблицы (5-10)
• Событие может содержать несколько количественных (чаще
всего аддитивных) мер
Является простейшей схемой хранилища Удобна для построения OLAP-кубов Преимуществом схемы является простота запросов к ней
Типовые схемы хранилища: «Звезда»
Отличием от схемы «Звезда» является нормализация Выбор типа схемы обусловлен компромиссом между дублированием данных и скоростью обработки
Типовые схемы хранилища: «Снежинка»
Хранит данные для непосредственного отображения конечным пользователям Хранит данные в многомерной схеме Организована в виде набора витрин данных (Data Marts)
ОБЛАСТЬ ПРЕДСТАВЛЕНИЯ ДАННЫХ
ВИТРИНЫ ДАННЫХ
Отдельный бизнес-процесс представляется одной витриной данных Витрины данных должны согласовываться с шинной архитектурой хранилища (DW Bus Architecture)
MOLAP vs. ROLAP
MOLAP хранит как детализированные, так и агрегированные данные ROLAP не хранит данные в многомерной структуре, а использует динамические запросы к хранилищу HOLAP – гибридная архитектура
Инструментарий для размерного моделирования в SQL Server Позволяет создавать схемы различной сложности Поддерживает концепцию «шины»
SQL Server Analysis Services
Ориентирован на работу с многомерными данными Содержит множество встроенных функций для работы с измерениями Обладает большей выразительностью по сравнению с SQL Позволяет определять вычисляемые (производные) меры
SQL Server Analysis Services: язык MDX
ИНСТРУМЕНТЫ ДОСТУПА К ДАННЫМ
Работают с областью представления данных Должны позволять конструировать произвольные запросы
DRILLDOWN
Операция позволяет увидеть составные части агрегата, которые, в свою очередь, также могут быть агрегатами Drilldown продолжается до тех пор, пока не будет достигнут самый детализированный уровень – факт
ВЫВОДЫ
• Данные <> информация
• Хранилище данных – основа систем Business Intelligence
• В SQL Server имеется развитый инструментарий поддержки
Business Intelligence