Общие сведения о хранилищах данных
Data warehouse — это централизованное структурированное хранилище, предназначенное для аналитических запросов и отчетов. В отличие от операционных баз данных, которые обрабатывают повседневные бизнес-транзакции, data warehouse объединяет данные из нескольких источников в формат, оптимизированный для анализа.
Создание современного data warehouse обычно включает в себя:
- Прием данных — перемещение данных из исходных систем в хранилище.
- Data storage — хранение данных в формате, оптимизированном для аналитики.
- Обработка данных — преобразование данных в формат, готовый к использованию аналитическими инструментами.
- Анализ и доставка данных — анализ данных для получения аналитических сведений и их доставки в бизнес.
Проектирование хранилища данных
Хранилища данных содержат таблицы, упорядоченные в схеме, оптимизированной для многомерного моделирования. В этом подходе можно сгруппировать числовые данные, связанные с событиями по разным атрибутам. Например, можно проанализировать общую сумму, оплаченную за заказы на продажу, который был совершён на определенную дату или в определенном магазине.
Таблицы в хранилище данных
Вы упорядочиваете таблицы хранилища данных для эффективного анализа больших объемов данных. Эта организация, известная как моделирование измерений, включает структурирование таблиц в таблицы фактов и таблицы измерений.
Таблицы фактов содержат числовые данные, которые необходимо проанализировать. Таблицы фактов обычно имеют большое количество строк и являются основным источником данных для анализа. Например, таблица фактов может содержать общую сумму, оплачиваемую за заказы на продажу, которая произошла на определенную дату или в определенном магазине.
Таблицы измерений содержат описательные сведения о данных в таблицах фактов. Таблицы измерений обычно имеют несколько строк и предоставляют контекст для данных в таблицах фактов. Например, таблица измерений может содержать сведения о клиентах, размещающих заказы на продажу.
Помимо столбцов для атрибутов, таблица измерений содержит столбец уникального ключа, который идентифицирует каждую строку в этой таблице. Более того, таблица измерений часто содержит два ключевых столбца.
- Суррогатный ключ — это уникальный идентификатор для каждой строки в таблице измерений. Это часто целочисленное значение, которое система управления базами данных создает автоматически при вставке новой строки.
- Альтернативный ключ часто является естественным или бизнес-ключом, определяющим конкретный экземпляр сущности в исходной системе транзакций, например код продукта или идентификатор клиента.
Вам нужны суррогатные и альтернативные ключи в data warehouse, так как они служат различным целям. Суррогатные ключи специфичны для хранилища данных и помогают поддерживать согласованность и точность. Альтернативные ключи относятся к исходной системе и помогают поддерживать трассировку между хранилищем данных и исходной системой.
Специальные типы таблиц измерений
Специальные типы измерений обеспечивают дополнительный контекст и обеспечивают более полный анализ данных.
Измерения времени предоставляют сведения о периоде времени, в котором произошло событие. Эта таблица позволяет аналитикам данных агрегировать данные по временным интервалам. Например, временная шкала может содержать столбцы для года, квартала, месяца и дня заказа на продажу.
Медленно меняющиеся измерения отслеживают изменения атрибутов измерения с течением времени, например изменения адреса клиента или цены продукта. Они важны в data warehouse, так как они позволяют анализировать и понимать изменения данных с течением времени. Медленно изменяющиеся измерения гарантируют, что данные остаются up-to-date и точными, что важно для принятия хороших бизнес-решений.
Проекты схем хранилищ данных
В большинстве транзакционных баз данных, используемых в бизнес-приложениях, данные нормализуются для уменьшения дублирования. Однако в data warehouse данные измерения денормализованы* для уменьшения количества соединений, необходимых для запроса данных.
Часто data warehouse использует схему star, в которой таблица фактов связана непосредственно с таблицами измерений, как показано в этом примере:
Атрибуты измерения можно использовать для группировки номеров таблиц фактов на разных уровнях. Например, можно найти общий доход от продаж для всего региона или только для одного клиента. Вы можете хранить сведения для каждого уровня в одной таблице измерений.
Совет
Дополнительные сведения о проектировании схем звездочек для Fabric см. в статье "Что такое схема звезды".
Если существует множество уровней или атрибутов, совместно используемых различными вещами, вместо этого может потребоваться использовать схему снежинки . Приведем пример:
В этом случае таблица DimProduct разделяет (нормализует) на отдельные таблицы измерений для категорий продуктов и поставщиков.
- Каждая строка в таблице DimProduct содержит значения ключей для соответствующих строк в таблицах DimCategory и DimSupplier.
Таблица DimGeography содержит сведения о расположении клиентов и магазинов.
- Каждая строка в таблицах DimCustomer и DimStore содержит ключевое значение для соответствующей строки в таблице DimGeography .