Введение
Схема хранилища данных
В информационных технологиях звездная схема или звездная модель — это самый простой стиль схемы хранилища данных и наиболее широко используемый подход для разработки хранилищ данных и измерений данных. Звездная схема состоит из одной или нескольких таблиц фактов, ссылающихся на любое количество таблиц измерений. Звездная схема является важным частным случаем схемы «снежинка» и более эффективна для обработки простых запросов. Свое название звездная схема получила из-за сходства физической модели со звездой, где таблица фактов находится в центре, а таблицы измерений окружают ее, представляя собой лучи звезды.
Модель
Звездная схема разделяет данные бизнес-процессов на факты, содержащие измеримые количественные данные о бизнесе, и измерения, являющиеся описательными атрибутами, связанными с данными фактов. Примеры данных фактов включают цену продажи, количество проданного, а также измерения времени, расстояния, скорости и веса. Примеры атрибутов измерений включают модели продуктов, цвета продуктов, размеры продуктов, географические местоположения и имена продавцов. Звездная схема с большим количеством измерений иногда называется схемой «стонога». Использование измерений, состоящих всего из нескольких атрибутов, хотя и упрощает поддержку, приводит к запросам с большим количеством соединений таблиц и снижает удобство использования звездной схемы.
Таблицы фактов
В таблицах фактов фиксируются измерения или метрики конкретного события. Таблицы фактов обычно состоят из числовых значений и внешних ключей к таблицам измерений, где хранится описательная информация. Таблицы фактов проектируются с высокой степенью детализации (известной как "гранулярность" или "зерно"), что позволяет фиксировать события на очень детальном уровне. Это может привести к накоплению большого количества записей в таблице фактов со временем. Таблицы фактов бывают трех типов:
* Таблицы фактов транзакций фиксируют факты о конкретном событии (например, факты продаж).
* Таблицы фактов снимков фиксируют факты на определенный момент времени (например, сведения о счете на конец месяца).
* Таблицы фактов накопительных снимков фиксируют агрегированные факты на определенный момент времени (например, общие продажи продукта на текущую дату месяца).
Snapshot fact tables record facts at a given point in time (e. g., account details at month end)
Accumulating snapshot tables record aggregate facts at a given point in time (e. g., total month to date sales for a product)
Таблицам фактов обычно присваивается суррогатный ключ для обеспечения уникальной идентификации каждой строки. Этот ключ является простым первичным ключом.
Преимущества
Звездные схемы денормализованы, что означает, что типичные правила нормализации, применяемые к транзакционным реляционным базам данных, ослабляются при проектировании и реализации звездных схем. Преимущества денормализации звездной схемы:
Более простые запросы – логика соединения в звездной схеме, как правило, проще, чем логика соединения, необходимая для извлечения данных из высоко нормализованной транзакционной схемы. Упрощенная логика бизнес-отчетности – по сравнению с высоко нормализованными схемами, звездная схема упрощает распространенную логику бизнес-отчетности, такую как сравнение периодов и отчетность «на дату». Улучшение производительности запросов – звездные схемы могут обеспечить повышение производительности для приложений отчетности, предназначенных только для чтения, по сравнению с высоко нормализованными схемами. Быстрые агрегации – более простые запросы к звездной схеме могут привести к повышению производительности операций агрегирования. Питание кубов – звездные схемы используются всеми OLAP-системами для эффективного построения собственных кубов OLAP; фактически, большинство основных OLAP-систем предоставляют режим работы ROLAP, который может использовать звездную схему напрямую в качестве источника без построения собственной кубической структуры.