
Дружаев Алексей Александрович
Хранилища данных Лекция.
Будет после первого модуля – зачет, после второго модуля – КДЗ и экзамен.
Основное место работы у лектора – «Ланит».
Business Intelligence (BI) – это широкий набор технологий и приложений для сбора, хранения и анализа данных, помогающий корпоративным пользователям в принятии решений на основе этой информации – определение из Педивикии.
BI приложения включают в себя инструменты для решения задач отчетности, анализа данных, статистического анализа, прогнозирования, планирования, поиска скрытых закономерностей.
Вообще формального определения нет, но вообще BI это вся совокупность средств для сбора, хранения и анализа данных, примерно так.
Вообще все хранилища данных нужны, потому что современному бизнесу требуется не только оперативное управление (которое просто поддерживает бизнес-процесс и использует OLTP). OLAP (Online Analysis Process) системы поддерживают принятие более глобальных решений, и это и есть BI.
BI используется для:
Понимания текущего состояния бизнеса и направлений его движения
Совместной работы пользователей над анализа информации
Сокращения времени принятия решений
BI – сейчас уже явялется неотъемлимой частью IT структуры компании. Бум внедрения BI пришелся как раз на время кризиса, т. к. все искали способы сократить затраты.
Первый простейший уровень формирования отчетности – это тупо вытаскивание SQL запросами из БД нужной инфы, то есть прямая связь между клиентом и БД. Но тут возникают проблемы:
БД может меняться, тогда надо переделывать всю связь.
Реляционные БД (все нормальные формы) заточены под то, чтобы выполнить как можно большее количество небольших операций (чуть-чуть вставить в таблицу, чуть-чуть извлечь из таблицы и т. д.), а глобальные операции (типа прочитать всю таблицу, сгруппировать как-нибудь и т. д.) выполняются медленно. Причем такие запросы мешают оперативной работе.
Как эти проблемы решаются:
Разбивается база данных на содержащую текущую информацию и историю. Это подход Data WareHouse – хранилища данных, обычно тут не используются нормальные формы, чтобы проще было выполнять транзакции агрегации и суммирования.
То есть из источников данных (текущих БД) по некотоым бизнес-правилам данные переходят в хранлища данных. Но тут тоже есть проблемы, есть источников много или если данные «грязные».
«грязные данные» -- это то, что связанно с ручным вводом, орфографичческие ошибки, различные названия одного и того же
Эта проблема решается вводом промежуточного Staging Area между источником и хранилищем, где осуществляется очистка данных.
И итог развития BI – это появление различных форм представления отчетов (отчеты в свободной форме).
Таким образом хранилища данных возникают как ответ на необходимость анализа, синхронизации, очистки и хранения больших объемов данных.
В общем средства BI – это попытка освободить аналитика от необходимости писать запросы к БД, заменив все технические подробности понятным представлением. То есть это переход от физического представления данных к семантическому (смысловому).
Характеристики OLTP и OLAP есть на слайдах.
Хранилища данных (по Биллу Инмону) – предметно-ориентированный, интегрированный, привязанный ко времени и неизменяемый набор данных, предназначенный для поддержки принятия решений.
Принципы организации хранилища (подробнее на слайдах):
Проблемно-предметная ориентация – данные в категориях и хранится в соответствии с областями, которые они описывают
Интегрированность – объединяет данные
Некорректируемость – данные в хранилище лежат, только добавляются (это не совсем верно, т. к. бывает, что периоды закрываются задним числом, но это частности)
Зависимость от времени – данные в хранилище точны и корректны только тогда, когда они привязаны к некоторому промежутку или моменту времени
Ральф Кинбалл – это альтертантивная теория ХД (его книга «The Data Warehouse Toolkit»), star-схема.
Билл Инмон – это хранилище в 3NF – это его основное отличие от Кинбалла (его книга «Building the Data Warehouse»).
Есть еще гибридная технология Data Vault (by Dan E. Linstedt).
В последнее время классическую схему BI дополняют еще прямой связью между источником данных и отчетами, чтобы учитывать в отчетах оперативную информацию, плюс может быть обратная связь, когда отчеты влияют на бизнес-процессы.
ETL (Extract, Transform, Load) – это класс ПО, один из основных процессов, служит для трансфера данных из оперативных информационных систем в ХД.
MDM (Master Data Management) – управление основными данными (нормативно-справочной информации) – то есть условно-постоянным компонентом корпоративной инфомации, являющейся основой для унификации и нормализации данных.
Основные игроки: MS, Oracle, SAS, IBM, SAP.
Рынок BI
Вендор |
BI-средство |
OLAP-средство |
Oracle |
Hyperion |
Essbase |
SAP |
Business Objects |
BusinessWarehouse |
IBM |
Cognos BI |
TM1 |
SAS |
SAS |
|
Microsoft |
Reporting services (SSRS) |
Analysing Services (SSAS) |
QlikTech |
QlikView – для небольших задач |
|
Вообще они все похожи по функционалу, так и по стоимости, так что выбор обычно осуществляется по политическим причинам. Все они основаны на реляционных БД.
Рынок DWH (Data WareHouse)
Есть другие принципы построения БД – многомерные БД и поколоночные БД.
Вендоры: Teradata (поколоночная) – комплекс программно-аппаратный, обеспечивающий примерно одинаковое время отклика при любых объемах данных. Это дорого, но очень надежно.
Также свои альтернативные БД есть у IBM, Oracle, MS.
Рынок DI (Data Integration)
Oracle – OWB, ODI (Oracle Data Integrator)
SAP – Data Integrator
IBM – Data Stage
Microsoft -- SSIS
Отельный большой продукт фирмы Informatica – как бы круче всех. Почему – неясно. =)
Основные тенденции:
BI в бизнес-процессы
Быстрый анализ (анализ источников на ходу, без подключения ХД)
In Memory (для повышения скорости работы с данными все держим в памяти)
Mobile представление информации на планшетниках и смартах
Движение в средний и малый бизнес – создание дешевых пакетов
Clouds
Архитектура ХД.
Архитектура – это набор технологий, регламентов, программно-аппаратных компонент из которых формируется ХД. Это вкратце. Полное определение – на слайде.
Типова архитектура ХД.
Источники данных
Буферная область (stage area) – первичный процесс загрузки данных из источника, без особых преобразований. Тут происходит очистка данных, сведение их в общие сущности, которые представлены в ХД.
КХД (Корпоративное хранилище данных) – метаданные, агрегированные данные
Витрины данных (Data Mart) – презентационный уровень, на нем конечный пользователь общается с ХД. Это представление данных по определенной предметной области.
КХД и витрины данных бывают объединены (это подход Кинбалла).
Витрины данных часто бывают денормализованными (с повторения и так далее).
Часто они бывают представлены в многомерном виде, когда есть некая мера (например, объем выручки) и много измерений (аналитик, dimensions) – некая категория, в которой рассматривается мера (например, по магазину, по товару, по времени).
Схема многомерного представления может быть star-схемой, где в центре – ФАКТ, лучи – ИЗМЕРЕНИЯ. Если измерения сложные и состоят из нескольких таблиц, То это схема «снежинка».
В ФАКТе – центральная таблица – со всеми ключами и значением меры. В ИЗМЕРЕНИях – инфа об dimesionsах, то есть список магазинов, например и ключ магазина.
По Кимбаллу – ХД – это набор витрин данных. Тут много повторений получается. Витрины данных использует одни и те же измерения, поэтому подход называют еще «с единой шиной данных». На слайдах есть наглядная картинка.