ПрИС_Лекция6.ppt
- Количество слайдов: 30
Хранилища данных. OLAP
Хранилище данных и OLAP. Назначение. Основные характеристики • • • Хранилище данных (Data Warehouse) - предметно - ориентированный, интегрированный, привязанный ко времени и неизменяемый набор данных, предназначенный для поддержки принятия решений. Хранилище данных содержит непротиворечивые консолидированные исторические данные и предоставляет инструментальные средства для их анализа с целью поддержки принятия стратегических решений. информационные ресурсы хранилища данных формируются на основе фиксируемых на протяжении продолжительного периода времени моментальных снимков баз данных оперативной информационной системы и, возможно, различных внешних источников. В хранилищах данных применяются технологии баз данных, OLAP, глубинного анализа данных, визуализации данных. Основные характеристики хранилищ данных. содержит исторические данные; хранит подробные сведения, а также частично и полностью обобщенные данные; данные в основном являются статическими; нерегламентированный, неструктурированный и эвристический способ обработки данных; средняя и низкая интенсивность обработки транзакций; непредсказуемый способ использования данных; предназначено для проведения анализа; ориентировано на предметные области; поддержка принятия стратегических решений; обслуживает относительно малое количество работников руководящего звена.
Характеристики OLTP системы (оперативная транзакционная обработка данных) · Большой объем информации · Часто различные БД для разных подразделений · Нормализованная схема, отсутствие дублирования информации · Интенсивное изменение данных · Транзакционный режим работы · Транзакции затрагивают небольшой объем данных · Обработка текущих данных – мгновенный снимок · Много клиентов · Малое время отклика – несколько секунд Характеристики OLAP системы (оперативная аналитическая обработка данных) · Большой объем информации · Синхронизированная информация из различных БД с использованием общих классификаторов · Ненормализованная схема БД с дубликатами · Данные меняются редко, Изменение происходит через пакетную загрузку · Выполняются сложные нерегламентированные запросы над большим объемом данных с широким применением группировок и агрегатных функций. · Анализ временных зависимостей · Небольшое количество работающих пользователей – аналитики и менеджеры · Большее время отклика (но все равно приемлемое) – несколько минут
Правила Кодда для OLAP Концептуальное многомерное представление. OLAP-модель должна быть многомерной в своей основе. Многомерная концептуальная схема или пользовательское представление облегчают моделирование и анализ так же, впрочем, как и вычисления. Прозрачность. Пользователь способен получить все необходимые данные из OLAP-машины, даже не подозревая, откуда они берутся. Вне зависимости от того, является OLAP-продукт частью средств пользователя или нет, этот факт должен быть незаметен для пользователя. Если OLAP предоставляется клиент-серверными вычислениями, то этот факт также, по возможности, должен быть невидим для пользователя. OLAP должен предоставляться в контексте истинно открытой архитектуры, позволяя пользователю, где бы он ни находился, связываться при помощи аналитического инструмента с сервером. . Доступность. OLAP должен предоставлять свою собственную логическую схему для доступа в гетерогенной среде БД и выполнять соответствующие преобразования для предоставления данных пользователю. Более того, необходимо заранее позаботиться о том, где и как, и какие типы физической организации данных действительно будут использоваться. OLAP-система должна выполнять доступ только к действительно требующимся данным, Постоянная производительность при разработке отчетов. Производительность формирования отчетов не должна существенно падать с ростом количества измерений и размеров базы данных. Клиент-серверная архитектура. Требуется, чтобы продукт был не только клиент-серверным, но и чтобы серверный компонент был бы достаточно интеллектуальным для того, чтобы различные клиенты могли подключаться с минимумом усилий и программирования. Общая многомерность. Все измерения должны быть равноправны, каждое измерение должно быть эквивалентно и в структуре, и в операционных возможностях. Правда, допускаются дополнительные операционные возможности для отдельных измерений (видимо, подразумевается время), но такие дополнительные функции должны быть предоставлены любому измерению. . Динамическое управление разреженными матрицами. OLAP системы должны автоматически настраивать свою физическую схему в зависимости от типа модели, объемов данных и разреженности базы данных. Многопользовательская поддержка. OLAP-инструмент должен предоставлять возможности совместного доступа (запроса и дополнения), целостности и безопасности. Неограниченные перекрестные операции. Все виды операций должны быть дозволены для любых измерений. Интуитивная манипуляция данными. Манипулирование данными осуществлялось посредством прямых действий над ячейками в режиме просмотра без использования меню и множественных операций. Гибкие возможности получения отчетов. Измерения должны быть размещены в отчете так, как это нужно пользователю. Неограниченная размерность и число уровней агрегации. Исследование о возможном числе необходимых измерений, требующихся в аналитической модели, показало, что одновременно может использоваться до 19 измерений. Отсюда вытекает настоятельная рекомендация, чтобы аналитический инструмент был способен одновременно предоставить как минимум 15 измерений, а предпочтительнее 20.
Четыре группы характеристик OLAP по Кодду: основные характеристики (многомерность модели данных, интуитивные механизмы манипулирования данными, доступность данных, пакетное извлечение данных, архитектура «клиент–сервер» , прозрачность, многопользовательская работа); специальные характеристики (обработка ненормализованных данных, хранение результатов отдельно от исходных данных, выделение отсутствующих данных, обработка отсутствующих значений); характеристики построения отчетов (гибкое построение отчетов, стабильная производительность при построении отчетов, автоматическое регулирование физического уровня); управление размерностью (общая функциональность, неограниченное число измерений и уровней агрегирования, неограниченные операции между данными различных измерений).
FASMI – Fast Analysis of Shared Multidimensional Information — Быстрый анализ разделяемой многомерной информации Fast: ответ на запрос в течение 1 -20 с Analysis: любой сложный логический и статистический анализ для бизнес–приложений Shared: защищенный многопользовательский доступ Multidimensional: многомерное представление данных включая иерархии Information: большое количество данных и информации
Категории OLAP анализа • Многомерный анализ данных и отчетность • Интеллектуальный анализ - Data Mining или Business Intelligence OLAP: Решаемые задачи • Понимание бизнеса: интегрированный взгляд • Поддержка принятия решений • Бизнес прогнозы
Пользователи OLAP систем • Руководители и менеджмент • Бизнес-аналитики, маркетологи и аналитики по планированию развития • Руководители среднего и младшего звена • Рядовые сотрудники • Сотрудники ИТ служб • Другие приложения
Рынок OLAP решений
Категории данных в ХД
Все данные в ХД делятся на три категории 1. детальные данные - данные, переносимые непосредственно из OLTPподсистем. Соответствуют элементарным событиям, фиксируемым в OLTP-системах. Подразделяются на: • измерения - наборы данных, необходимые для описания событий (товар, продавец, покупатель, магазин, … ); • факты - данные, отражающие сущность события (количество проданного товара, сумма продаж, …); 2. агрегированные (обобщенные) данные - данные, получаемые на основании детальных путем суммирования по определенным измерениям; 3. метаданные - данные о данных, содержащихся в ХД. Могут описывать: • объекты предметной области, информация о которых содержится в ХД; • категории пользователей, использующих данные в ХД; • места и способы хранения данных; • действия, выполняемые над данными; • время выполнения различных действий над данными; • причины выполнения различных действий над данными.
Информационные потоки в ХД Данные в ХД образуют следующие информационные потоки: • входной поток - образуется данными, копируемыми из OLTPсистем в ХД; данные при этом часто очищаются и обогащаются путем добавления новых атрибутов; • поток обобщения - образуется агрегированием детальных данных и их сохранением в ХД; • архивный поток - образуется перемещением детальных данных, количество обращений к которым снизилось; • поток метаданных - образуется потоком информации о данных в репозиторий данных; • выходной поток - образуется данными, извлекаемыми пользователями; • обратный поток - образуется очищенными данными, записываемыми обратно в OLTP-системы.
Основные элементы и операции OLAP. В основе OLAP лежит понятие гиперкуба, или многомерного куба данных, в ячейках которого хранятся анализируемые данные. • Факт - это числовая величина которая располагается в ячейках гиперкуба. Один OLAP-куб может обладать одним или несколькими показателями. • Измерение (dimension) - это множество объектов одного или нескольких типов, организованных в виде иерархической структуры и обеспечивающих информационный контекст числового показателя. измерение принято визуализировать в виде ребра многомерного куба. • Объекты, совокупность которых и образует измерение, называются членами измерений (members). Члены измерений визуализируют как точки или участи, откладываемые на осях гиперкуба. • Ячейка (cell) - атомарная структура куба, соответствующая полному набору конкретный значений измерений. • иерархия - группировка объектов одного измерения в объекты более высокого уровня. Например - день-месяц-год. иерархии в измерениях необходимы для возможности агрегации и детализации значений показателей согласно их иерархической структуре. иерархия целиком основывается на одном измерении и формируется из уровней.
Основной способ логического представления данных – МНОГОМЕРНЫЕ КУБЫ (OLAP – кубы)
OLAP – куб и срезы данных В OLAP-системах поддерживаются следующие базовые операции: • поворот; • проекция. При проекции значения в ячейках, лежащих на оси проекции, суммируются по некоторому предопределенному закону; • раскрытие (drill-down). Одно из значений измерения заменяется совокупностью значений из следующего уровня иерархии измерения; соответственно заменяются значения в ячейках гиперкуба; • свертка (roll-up/drill-up). Операция, обратная раскрытию; • сечение (slice-and-dice).
Реализация OLAP Типы OLAP - серверов MOLAP (Multidimensional OLAP) - и детальные данные, и агрегаты хранятся в многомерной БД. ROLAP (Relational OLAP) - детальные данные храняться в реляционной БД; агрегаты хранятся в той же БД в специально созданных служебных таблицах. HOLAP (Hybrid OLAP) - детальные данные храняться в реляционной БД, а агрегаты хранятся в многомерной БД.
OLTP схема базы данных Моделируются оптовые продажи на склад Объекты 1. Склады 2. Категории товаров (модель) 3. Производители 4. Товары 5. Продавцы 6. Оптовые продажи на склад
Оперативная схема БД оптовых продаж на склады
ROLAP – схема типа звезда
Таблица фактов - является основной таблицей хранилища данных. Как правило, она содержит сведения об объектах или событиях, совокупность которых будет в дальнейшем анализироваться. Обычно говорят о четырех наиболее часто встречающихся типах фактов. К ним относятся: • факты, связанные с транзакциями (Transaction facts). Они основаны на отдельных событиях (типичными примерами которых являются телефонный звонок или снятие денег со счета с помощью банкомата); • факты, связанные с "моментальными снимками" (Snapshot facts). Основаны на состоянии объекта (например, банковского счета) в определенные моменты времени, например на конец дня или месяца. Типичными примерами таких фактов являются объем продаж за день или дневная выручка; • факты, связанные с элементами документа (Line-item facts). Основаны на том или ином документе (например, счете за товар или услуги) и содержат подробную информацию об элементах этого документа (например, количестве, цене, проценте скидки); • факты, связанные с событиями или состоянием объекта (Event or state facts). Представляют возникновение события без подробностей о нем (например, просто факт продажи или факт отсутствия таковой без иных подробностей).
Таблицы измерений содержат неизменяемые либо редко изменяемые данные. В подавляющем большинстве случаев эти данные представляют собой по одной записи для каждого члена нижнего уровня иерархии в измерении. Таблицы измерений также содержат как минимум одно описательное поле (обычно с именем члена измерения) и, как правило, целочисленное ключевое поле (обычно это суррогатный ключ) для однозначной идентификации члена измерения. Если будущее измерение, основанное на данной таблице измерений, содержит иерархию, то таблица измерений также может содержать поля, указывающие на "родителя" данного члена в этой иерархии. Нередко (но не всегда) таблица измерений может содержать и поля, указывающие на "прародителей", и иных "предков" в данной иерархии (это обычно характерно для сбалансированных иерархий), а также дополнительные атрибуты членов измерений, содержавшиеся в исходной оперативной базе данных (например, адреса и телефоны клиентов). Каждая таблица измерений должна находиться в отношении "один ко многим" с таблицей фактов.
Особенности ROLAP – схемы типа звезда 1. Одна таблица фактов, которая сильно денормализована 2. Несколько таблиц измерений, которые также 1. денормализованы 3. Первичный ключ таблицы фактов является составным 1. и имеет по одному столбцу на каждое измерение 4. Агрегированные данные храняться совместно с исходными Недостатки Если агрегаты храняться совместно с исходными данными, то в измерениях необходимо использовать дополнительный параметр – уровень иерархии
ROLAP – схема типа снежинка с нормализованными измерениями
ROLAP – схема типа снежинка с выделением агрегированных таблиц
ROLAP – схема типа снежинка с выделением агрегированных таблиц и нормализованными измерениями
Агрегирование по производителю и модели товара
Состав хранилищ данных 1. Метаданные 2. Исходные данные 3. Предварительно просуммированные данные Основные метаданные OLAP 1. Куб 2. Факты 3. Измерения 1. Уровни 2. Иерархии 3. Атрибуты
Общая структура хранилища данных 1. Источники данных 2. Процедуры выгрузки, преобразования и загрузки данных 3. Хранилище данных 4. Витрины данных 5. Аналитические приложения
Проблема интеграции данных Современные корпоративные системы требуют сложных процессов обработки и анализа данных. Жизненный цикл данных Генерация данных OLTP-системы, БД, файлы разных форматов, CRM-системы и др. ETL процессы (Extraction, Transformation, Load) 60 -80% времени Data Warehouse • Извлечение и очистка данных • Трансформации данных • Загрузка данных в хранилище Преобразование данных на сервере в унифицированный формат для эффективного доступа и анализа UDM модель, Анализ данных для принятия управленческих решений Клиентские системы: Excel, Pro. Clarity, системы отчетности OLAP системы
SQL Server 2005 Integration Services Службы Integration Services - платформа для построения высокопроизводительных решений интеграции данных и решений потока операций, включая операции извлечения, преобразования и загрузки (ETL) для хранилищ данных. • Графические инструменты • Мастера для построения и отладки пакетов • Источники данных для извлечения данных • Источники назначения для загрузки данных • Преобразования для очистки, статистической обработки, слияния и копирования данных • Задачи для выполнения функций потока операций • Служба управления и администрирования пакетов • API-интерфейсы для программирования объектной модели