1.1 Архитектура DWH Flashcards
DWH
data warehouse - хранилище данных
Хранилище данных — предметно-ориентированный, интегрированный, неизменчивый, поддерживающий хронологию набор данных, организованный для целей поддержки принятия решений.
OLTP-системы
OLTP (Online Transaction Processing) - система оперативной обработки информации (транзакций).
Транзакция - некоторый набор операций над базой данных, который рассматривается как единое целое. Транзакцией может являться несколько операций, но они обязательно выполняются все вместе, часть операций отдельно выполниться не может.
Главное требование к OLTP-системам
Быстрое обслуживание относительно простых запросов большого числа пользователей, при этом время выполнение запроса не должно превышать (микро-,милли-)секунд
Система поддержки принятия решений
Система поддержки принятия решений (СППР) (англ. Decision Support System, DSS) — компьютерная автоматизированная система, целью которой является помощь людям, принимающим решение в сложных условиях для полного и объективного анализа предметной деятельности.
OLAP-системы
При создании систем поддержки принятия решений специалисты столкнулись с проблемами при использовании OLTP-систем. Это привело к появлению OLAP-систем.
OLAP (online analytical processing) имеет дело с историческими или архивными данными. OLAP характеризуется относительно низким объемом отдельных запросов.
Запросы часто очень сложны и включают много таблиц. В многомерных схемах хранятся агрегированные исторические данные OLAP.
Разница между OLTP и OLAP системами
OLAP и OLTP системы имеют ряд принципиальных отличий и разное предназначение в рамках организации хранилища данных. OLAP-системы должны быть организованы иначе, чем OLTP-системы, для этого существует несколько причин:
Для выполнения аналитических запросов необходима обработка информации из разных источников
Для выполнения запросов, связанных с прогнозированием или анализом тенденций, необходимы исторические данные, накопленные за достаточно длительный период, что не всегда обеспечивается OLTP-системами
Данные, используемые для целей анализа данных обслуживания аналитических запросов, отличаются от используемых в OLTP-системах. При аналитической нагрузке можно пользоваться не детальными, а предагрегированными данными
Характеристики (свойства) DWH
> Предметная ориентированность
Для принятия решений требуется некоторая строго определенная совокупность данных, которая и поступает из БД в хранилище данных, второстепенные ненужные атрибуты отсеиваются.
> Интегрированность (целостность и внутренняя взаимосвязь)
Устранение несоответствий внутри данных.
> Временная привязка
Оперативные системы охватывают небольшой интервал времени, что достигается за счет периодического архивирования данных. Хранилище данных содержит данные, накопленные за большой интервал времени (от пяти-семи до десятков лет).
> Неразрушаемая совокупность данных
Модификация данных не производится, поскольку может привести к нарушению их целостности.
Во многом формирование определения хранилища данных является результатом разницы OLAP и OLTP систем.
Слои данных
Уровневая архитектура – это средство борьбы со сложностью системы. Каждый последующий уровень абстрагирован от сложностей внутренней реализации предыдущего.
> Операционный слой первичных данных (Primary Data Layer, raw или staging)
> Ядро хранилища (Core Data Layer)
> Слой аналитических витрин (Data Mart Layer)
Первичный слой данных
Операционный слой первичных данных (Primary Data Layer, raw или staging), на котором выполняется загрузка информации из систем-источников в исходном качестве и сохранением полной истории изменений.
На этом слое происходит абстрагирование следующих слоев хранилища от физического устройства источников данных, способов их сбора и методов выделения изменений.
Центральный слой данных
Ядро хранилища (Core Data Layer)– центральный слой, в котором происходит консолидация данных из разных источников, приводя их к единым структурам и ключам.
Здесь происходит основная работа с качеством данных и происходят трансформации, чтобы абстрагировать потребителей от особенностей логического устройства источников данных и необходимости их взаимного сопоставления.
Слой витрин данных
Слой аналитических витрин (Data Mart Layer), где данные преобразуются к структурам, удобным для анализа и использования в BI-дэшбордах или других системах-потребителях.
Витрина данных (Data Mart) представляет собой срез хранилища данных в виде массива тематической, узконаправленной информации, ориентированного, например, на пользователей одной рабочей группы или департамента
Подходы к проектированию DWH
В зависимости от наличия центрального слоя существует два основополагающих подхода
> DWH по Инмону
> DWH по Кимбаллу
DWH по Инмону
DWH – это корпоративное централизованное хранилище данных
> Проектирование ХД модели “сверху вниз”.
> Тщательный анализ бизнеса в целом
> Выявляются бизнес-области
> В них - ключевые бизнес-сущности
> Затем - их характеристики (атрибуты) и связи между ними.
> В результате анализа появляется понимание, какие сущности участвуют в бизнес-процессах и как они взаимодействуют друг с другом.
Преимущества:
«Единая версия правды»
Отсутствие противоречивости в данных
Детальный слой содержит проекцию бизнес-процессов
Легко поддерживать при увеличении количества источников
Недостатки:
Сложная в проектировании, нужна высококлассная команда
Долгая в реализации на первоначальном этапе анализа бизнеса
DWH по Кимбаллу
DWH по Кимбаллу - копия транзакционных данных, специально структурированных для запроса и анализа в виде витрин данных.
Хранилище по Кимбаллу можно назвать коллекцией витрин данных (отчетов).
Проектирование снизу вверх:
> Анализ потребностей – узнаем, какие отчеты нужны
> Анализ источников – узнаем, в каких источниках есть данные
> Проектируем витрину под конкретного потребителя
> Первичные данные из источников преобразуются в витрины
Преимущества:
Быстрый эффект
Достаточно поэтапного анализа бизнес-областей
Не требует высококвалифицированных специалистов (на старте)
Недостатки:
Высокая стоимость поддержки новых источников
Отсутствие стандартизации показателей (в каждой витрине может быть свой алгоритм)
Озеро данных
Озеро данных (Data Lake) - хранилище большого объема неструктурированных данных, собранных или генерированных одной компанией.
В таком подходе в озеро данных поступают все данные, которые собирает компания, без предварительной очистки и подготовки.
Например, видеозаписи с беспилотников и камер наружного наблюдения, транспортная телеметрия, фотографии, логи пользовательского поведения, метрики сайтов, показатели нагрузки информационных систем и пр. Такие данные пока непригодны для типового использования в ежедневной аналитике в рамках BI-систем, но могут использоваться для быстрой отработки новых бизнес-гипотез с помощью ML-алгоритмов.
Можно выделить основные особенности использования данного подхода:
Хранятся все данные, в т.ч. и «бесполезные», которые могут пригодиться в будущем или же не понадобиться никогда
Структурированные, полуструктурированные и неструктурированные разнородные данные любых форматов: от мультимедиа файлов до текстовых и бинарных из разных источников
Высокая гибкость, которая позволяет в процессе эксплуатации добавлять новые типы и структуры данных
Из-за отсутствия четкой структуры необходима дополнительная обработка данных для их практического использования
Озеро данных дешевле DWH с точки зрения проектирования
Преимущества и недостатки DataLake
Преимущества озера данных
> Масштабируемость – распределенная файловая система позволяет по мере необходимости подключить новые машины или узлы без изменения структуры хранилища или сложной перенастройки
> Экономичность – Data Lake можно построить на базе свободного ПО Apache Hadoop, без дорогостоящих лицензий и дорогих серверов, масштабируя систему под свои затраты
> Универсальность – большие объемы разнородных данных могут использоваться практически для любой исследовательской задачи – от прогнозирования спроса до выявления пользовательских предпочтений или влияния погоды на качество продукции
> Быстрота запуска– накопленные объемы Data Lake позволяют быстро проверить очередную модель, не тратя время и инженерные ресурсы на сбор информации из разных источников
Болото данных
У подхода Data Lake есть обратная сторона - болото данных, когда данные собираются, хранятся и не используются.
Для этого существует несколько причин:
> Низкое качество данных ввиду отсутствия контроля при их загрузке, а также простоты этого процесса и дешевизны хранения информации;
> Сложность определения ценности данных - с одной стороны, философия Big Data предполагает важность любой информации. Но, с другой стороны, если бизнесу быстро нужны какие-то данные, об этом, как правило, известно заранее. А потому такую информацию логично сразу загружать в DWH или витрину BI-системы.