Хранилища данных и OLAP-системы. Лекция 2. Архитектура хранилищ данных Содержание 1. 2. 3. 4. 2 Архитектуры ХД Реализация ХД ETL-процесс Планирование ETL проекта для хранилища данных 1. Архитектура ХД: определение Под архитектурой ХД понимают совокупность программно-аппаратных компонент, совокупность технологических и организационных решений, предпринимаемых для создания, разработки и функционирования ХД. Варианты реализации архитектур ХД: 3 Виртуальное ХД Витрина данных Глобальное хранилище Многоуровневая архитектура Виртуальное ХД Виртуальным хранилищем данных называется система, которая работает с разрозненными источниками данных и эмулирует работу обычного хранилища данных, извлекая, преобразуя и интегрируя данные непосредственно в процессе выполнения запроса. Виртуальное ХД «+» минимизация объема памяти, занимаемой на носителе информации «+» работа с текущими, детализированным данными «+» отсутствие избыточной информации Виртуальное ХД «-» время обработки запросов к виртуальному ХД значительно превышает соответствующие показатели для физического ХД (нормализация оперативной БД) «-» временная недоступность одного из оперативных источников данных (ОИД) может привести к невыполнению всего аналитического запроса «-» выполнение сложных аналитических запросов ведет к снижению быстродействия OLTP-систем «-» разные ОИД могут поддерживать разные форматы и кодировки данных «-»практическая невозможность получения данных за длительный период времени !!! Виртуальное ХД Виртуальное хранилище данных можно организовать, создав ряд представлений (view) в базе данных, либо применив специальные средства доступа, например продукты класса Desktop OLAP (BusinessObjects, Brio Enterprise). 7 Двухуровневая архитектура Витрина данных (Data Mart) - это набор тематически связанных баз данных, которые содержат информацию, относящуюся к отдельным аспектам деятельности корпорации. По сути дела, витрина данных это облегченный вариант хранилища данных, содержащий только тематически объединенные данные. Витрина данных Преимущества «+» проектирование ВД для ответов на определенный круг вопросов «+» быстрое внедрение автономных ВД и получение отдачи «+» упрощение процедур заполнения ВД и повышение их производительности за счет учета потребностей определенного круга пользователей Недостатки «-» многократное хранение данных в разных ВД приводит к проблеме непротиворечивости данных «-» отсутствие консолидированности – единой картины Трехуровневая архитектура Глобальное хранилище (Global data warehouse — это такое ХД, в котором будут поддерживаться все данные организации или большая их часть. Глобальное ХД может быть физически как централизованным, так и распределенным. 10 Совмещенный подход Совмещенный подход Преимущества «+» простота создания и наполнения ВД, поскольку наполнение происходит из очищенных данных ХД; «+» простота расширения СППР за счет добавления новых ВД; «+» снижение нагрузки на ХД. Недостатки «-» избыточность; «-» дополнительные затраты на разработку СППР с ХД и ВД. Многоуровневая архитектура ХД 13 Многоуровневая архитектура ХД Источники данных Система извлечения, преобразования и загрузки (ETL - Extract, Transformation and Load) Надежное, защищенное от несанкционированного доступа, хранение данных: 1. 2. 3. 4. 14 системы ведения метаданных и нормативно-справочной информации (НСИ) оперативный склад данных (Operational Data Store) зоны временного хранения (Staging area) Распределение данных: выборка, реструктуризация и доставка данных (SRD – Sample, Restructure, Deliver) Многоуровневая архитектура ХД 5. 6. 15 Уровень предоставления данных предназначен для разделения функций хранения и функций обслуживания различных задач. Витрины данных должны имеет структуры данных, максимально отвечающие потребностям обслуживаемых задач.. Уровень бизнес-приложений представлен сценарными расчетами и статистическим анализом, многомерным анализом, средствами планирования и подготовки отчетности. Компонентная архитектура ХД Система состоит, как правило, из двух видов ПО: общего и специального. К общему ПО относятся: ПО промежуточного слоя, которое обеспечивает сетевой доступ к приложениям и БД. ПО загрузки и предварительной обработки данных. Серверное ПО. Представляет собой ядро всей системы. Оно включает в себя: 16 Серверы БД Серверы приложений (поисковые, аналитической обработки, добычи знаний и др.). Компонентная архитектура ХД Специальное ПО представляет собой совокупность программ, разрабатываемых при создании Систем Поддержки Принятия Решений (СППР). Они объединяются в следующие подсистемы: 17 подсистему загрузки данных, подсистему обработки запросов и представления данных, подсистему администрирования. Компонентная архитектура ХД Специальное ПО представляет собой совокупность программ, разрабатываемых при создании Систем Поддержки Принятия Решений (СППР). Они объединяются в следующие подсистемы: 18 подсистему загрузки данных, подсистему обработки запросов и представления данных, подсистему администрирования. Компонентная архитектура ХД • • • Типы OLAP - серверов MOLAP (Multidimensional OLAP) - и детальные данные, и агрегаты хранятся в многомерной БД. ROLAP (Relational OLAP) - детальные данные хранятся в реляционной БД; агрегаты хранятся в той же БД в специально созданных служебных таблицах. HOLAP (Hybrid OLAP) - детальные данные хранятся в реляционной БД, а агрегаты хранятся в многомерной БД. 2. Рынок BI: предисловие Агентство Gartner Group, занимающееся анализом рынков информационных технологий, в 1980-х годах ввело термин "Business Intelligence" (BI), деловой интеллект или бизнес-интеллект. Этот термин, предложен для описания различных концепций и методов, которые улучшают бизнес решения путем использования систем поддержки принятия решений (СППР). В 1996 году агентство уточнило определение данного термина. Business Intelligence - программные средства, функционирующие в рамках предприятия и обеспечивающие функции доступа и анализа информации, которая находится в хранилище данных, а также обеспечивающие принятие правильных и обоснованных управленческих решений. Рынок BI 21 Реализация хранилищ данных Комплексные решения по созданию хранилищ данных (программная поддержка ЖЦ ИС): Microsoft Oracle SAS Sybase Готовые встроенные архитектурные решения для хранилищ данных (комбинация программных решений) 22 IBM. Data Warehouse Plus 23 Цель - обеспечение пользователя интегрированным набором программных продуктов и сервисов в рамках единой архитектуры. IBM. Data Warehouse Plus Встроенная поддержка трех типов архитектурных решений для ХД: независимая витрина данных ; взаимосвязанные витрины данных ; глобальное ХД. Несущая СУБД для ХД —СУБД DB2. Язык манипулирования данными — SQL. 24 IBM. Data Warehouse Plus ХД для телекоммуникационных компаний IBM Telecommunications Data Warehouse (TDW) 25 Реализация хранилищ данных Microsoft. Data Warehousing Framework. Цель - создание инструментальной и технологической среды, которая позволила бы минимизировать затраты на создание ХД и сделала бы этот процесс доступным для массового пользователя. СУБД MS SQL Server . Язык манипулирования данными — SQL. 26 Реализация хранилищ данных Службы MS SQL Server Analysis Services (SSAS) позволяют анализировать большие объемы данных Службы MS SQL Server Integration Services (SSIS) представляют собой платформу для построения высокопроизводительных решений интеграции данных и решений потока операций, включая операции извлечения, преобразования и загрузки (Extract, Transform, Load – ETL) для хранилищ данных. 27 Реализация хранилищ данных Для управления OLAP-кубами и работы с ними используется MS SQL Server Management Studio. Для создания новых кубов используется среда MS SQL Server Data Tools. 28 Реализация хранилищ данных Sybase. Adaptive Server IQ . СУБД оптимизирована для анализа данных на уровне физического дизайна. Технологии Adaptive Server IQ обеспечивают высокую скорость анализа данных, гибкость и экономичность одновременно с эффективной поддержкой большого количества пользователей. 29 Реализация хранилищ данных Sybase Warehouse Studio — это открытая среда для проектирования хранилищ данных и управления метаданными, которая упрощает процесс разработки и обслуживания хранилища: Warehouse Architect — CASE-средство проектирования хранилища, Warehouse Control Center — средство управления метаданными и администрирования хранилища, Infomaker — генератор отчетов и пр. 30 Реализация хранилищ данных Oracle. Oracle BI Suite EE Единая и функционально-полная платформа для решения всех задач извлечения данных из различных источников, их преобразования и загрузки в хранилище; хранения данных; анализа данных, включая регламентированные отчеты, произвольные запросы, многомерный анализ (OLAP) и извлечение знаний (data mining). СУБД Oracle9i Database. 31 Реализация хранилищ данных Набор программных средств Oracle, реализующих технологию работы с ХД Oracle9i Oracle Reports Data Mining Oracle Express Server Database Data Warehouses REPOSYTORY Data Warehouses Method (DWM) Oracle Warehouse ETL OLAP Services Application Server 32 JDeveloper BI JavaBeans 3. Информационные потоки Данные, поступающие из ОИД, перемещаемые внутри ХД и поступающие к аналитикам, образуют потоки: входной поток (Inflow) – копирование данных из ОИД; поток обобщения (Upflow) – агрегирование детальных данных и их сохранение в ХД; архивный поток (Downflow) – перемещение детальных данных, количество обращений к которым снизилось; поток метаданных (Metaflow) – перенос информации о данных в репозиторий; выходной поток (Outflow) – данные, извлекаемые пользователями; обратный поток (Feedback flow) – очищенные данные, записываемые обратно в ОИД. ETL -процесс ETL (extraction, transformation, loading) - комплекс методов, реализующих процесс переноса исходных данных из различных источников в аналитическое приложение или поддерживающее его хранилище данных. 34 Проблемы Исходные данные расположены в источниках самых разнообразных типов и форматов, созданных в различных приложениях, и, кроме того, могут использовать различную кодировку. Данные в источниках обычно излишне детализированы. Исходные данные, как правило, являются «грязными», то есть содержат различные факторы, которые мешают их корректному анализу. 35 Этапы процесса 37 Этапы процесса 1. Извлечение. Данные извлекаются из источников и загружаются в промежуточную область. 2. Поиск ошибок. Производится проверка данных на соответствие спецификациям и возможность последующей загрузки в ХД. 3. Преобразование. Данные группируются и преобразуются к виду, соответствующему структуре ХД. 4. Распределение. Данные распределяются на несколько потоков в соответствии с особенностями организации процесса их загрузки в ХД. 5. Вставка. Данные загружаются в хранилище-получатель. 38 Этапы процесса 39 источник данных — содержит структурированные данные в виде отдельной таблицы, совокупности таблиц или просто файла; промежуточная область — содержит вспомогательные таблицы, создаваемые временно и исключительно для организации процесса выгрузки; получатель данных — ХД или просто БД, в которую должны быть помещены извлеченные данные. Извлечение данных в ETL Извлечение данных с помощью специализированных программных средств Извлечение данных средствами той системы, в которой они хранятся 40 Критерии оценки качества данных Данные могут быть разделены на три категории: данные высокого качества, не нуждающиеся в очистке; данные, содержащие критичные ошибки, из-за которых они в принципе не могут быть загружены в ХД; данные, содержащие некритичные ошибки, которые не мешают их загрузке в ХД, но при этом данные являются некорректными с точки зрения их анализа Некритичные ошибки могут быть исправлены в процессе анализа данных средствами аналитической системы. 41 Преобразование данных в ETL 42 Преобразование данных: очистка Проблемы, связанные с нарушением структуры данных: корректность форматов и представлений данных; уникальность первичных ключей в таблицах БД; полнота и целостность данных; полнота связей; соответствие некоторым аналитическим ограничениям и т.д. 43 Преобразование данных: очистка Ячейка Запись Таблица Дублирование Орфографические Противоречия между ячейками записей ошибки Отдельная БД Целостность данных Множество БД Несоответствия структуры данных Пропуски в данных Фиктивные значения Логические несоответствия Закодированные значения Составные значения 44 Одинаковые наименования различных атрибутов Противоречивые Противоречия записи Различное представление однотипных данных Различная временная шкала SQL Server 2008 Integration Services Службы Integration Services - платформа для построения высокопроизводительных решений интеграции данных и решений потока операций, включая операции извлечения, преобразования и загрузки (ETL) для хранилищ данных. Графические инструменты Мастера для построения и отладки пакетов Источники данных для извлечения данных Источники назначения для загрузки данных Преобразования для очистки, статистической обработки, слияния и копирования данных • Задачи для выполнения функций потока операций • Служба управления и администрирования пакетов • API-интерфейсы для программирования объектной модели • • • • • 49 До Integration Services Alerts and escalation Call center data: semi-structured Text Mining Data mining ETL Staging Staging Legacy data: binary files ETL Handcoding Cleansing and ETL ETL Application database 50 Staging Warehouse Reports Mobile data Integration Services 2008 Оповещения Text mining Компоненты Data mining компоненты Нереляционные источники Слияние Стандартные источники БД Очистка данных PDA CALL центры – полуструктурированные данные OLAP системы Унаследованные системы Приложения БД 51 SQL Server Integration Services Отчет Архитектура SQL Server 2008 Integration Services Термины • Источник (и) - Sources • Приёмник(и) - Destinations • Преобразование данных (Transformation) •Время исполнения • Пакет (Package) • Задача (Task) • Буфер (Buffer) • Труба (pipeline) потока данных Конструктор служб SSIS • Поток управления (Control Flow) • Поток данных (Data Flow) • Обработчики событий в пакете и объектов пакета (Event Handlers) • Просмотр содержимого пакета • Просмотр выполнения пакета 52 Типовые сценарии в Integration Services Слияние данных из гетерогенных хранилищ данных Очистка, преобразование и стандартизация данных Заполнение хранилищ данных и витрин данных Встраивание бизнес-аналитики в процесс преобразования данных Автоматизация административных функций и загрузки данных 53 Пример: Очистка данных Пакет SSIS Data Cleaning Sample из Integration Services Samples. Fussy Lookup – нестрогое соответствие новых клиентов старым записям Fussy Grouping – нечеткий поиск фамилий дубликатов. 54 Планирование ETL проекта для хранилища данных Гетерогенные источники данных Staging область Хранилище данных Киоски данных 55 Конечные пользователи Заполнение хранилища данных в SSIS Источники и приемники данных Оценка и проверка исходных данных Промежуточное хранение данных (Staging storage) Загрузка в хранилище и киоски данных 56 Источники и приемники данных Выбрать источники данных (все форматы) Выбрать приемники данных (DW, Data Mart), определить структуру записываемых данных Определить время извлечения и записи данных (extraction and load windows), длительность извлечения и загрузки данных Документировать диаграмму потока данных: описать список источников, методов доступа, учетные записи, протоколы, характеристики сети 57 Загрузка в хранилище и киоски данных Загрузка измерений и мер Создание первичных и вторичных ключей Создание индексов Удаление временных таблиц Обработка измерений и секций кубов 59