Знайте о основной схеме: звезда против снежинки

Опубликовано: 2022-08-26

Многомерная схема предназначена для построения модели системы хранилища данных.

Основная цель этих схем — удовлетворить потребности более крупных баз данных, созданных для аналитических целей (OLAP).

Этот метод используется для упорядочения данных в базе данных с хорошим расположением содержимого в базе данных. Схема позволяет клиентам задавать вопросы, связанные с тенденциями бизнеса или рынка.

Кроме того, многомерная схема представляет данные в виде кубов данных, которые позволяют просматривать и моделировать данные с разных точек зрения и измерений.

Он бывает трех видов, но многие путают звезду и снежинку. Следовательно, им становится сложно выбрать предпочтительную модель.

Если вы один из них, давайте обсудим различия между схемами «звезда» и «снежинка», начиная с определения и понимания их преимуществ, проблем, схемы и характеристик.

Что такое многомерная схема?

Схема относится к логическому описанию полной базы данных и киосков данных. Он включает в себя имена записей и их описания, включая агрегаты и связанные элементы данных.

База данных обычно использует реляционную модель для описания, тогда как система хранилища данных использует модель схемы.

Многомерную схему можно определить с помощью языка запросов интеллектуального анализа данных (DMQL).

Чтобы определить витрины данных и хранилища данных, он использует два примитива — определение измерения и определение куба.

Многомерная схема использует различные типы моделей схемы. Они есть:

  • Звездная схема
  • Схема снежинки
  • Схема галактики

Давайте обсудим, что такое схемы «звезда» и «снежинка».

Звезда против Снежинки: какие они?

Что такое звездная схема?

Звездообразная схема — это архитектурная модель хранилища данных и бизнес-аналитики, требующая единой таблицы фактов для хранения измеренных и транзакционных данных. Он также использует различные таблицы меньшего размера для хранения атрибутов бизнес-данных.

Он назван в соответствии с его структурой. Подобно звезде, таблица фактов занимает свое место в центре диаграммы, а небольшие размерные таблицы ответвляются от центральной таблицы, образуя звездообразную структуру.

Каждая звездообразная схема состоит из одной таблицы фактов, но из нескольких небольших размерных таблиц. Таблицы фактов содержат конкретные измеримые данные, которые необходимо проанализировать, такие как зарегистрированная производительность, финансовые данные или записи о продажах. Это может быть снимок исторических данных за один раз или транзакционных.

Более того, схема Star является самой простой и фундаментальной среди схем хранилищ данных и киосков данных. Он эффективен при обработке основных запросов. Схема «звезда» обычно поддерживает бизнес-аналитику, специальные запросы, аналитические приложения и онлайн-кубы аналитической обработки.

Схема «звезда» также поддерживает подсчет, среднее значение, сумму и другие агрегации многих записей. Пользователи могут легко фильтровать и группировать агрегаты по измерениям. Например, пользователи генерируют такие запросы, как «найти все записи о продажах в июне» или «проанализировать общий доход от офиса XYZ в 2022 году».

Что такое схема снежинки?

Схема «снежинка» — это многомерная модель данных, которую также можно назвать расширением схемы «звезда». Это связано с тем, что таблицы измерений в схеме «снежинка» разбиты на подизмерения.

Схема представляет собой снежинку, если одна или несколько таблиц измерений не связаны напрямую с таблицей фактов, а связаны через другие таблицы измерений.

Снежинка — это явление, которое нормализует таблицы измерений в звездообразной схеме. Когда вы нормализуете все таблицы измерений, результирующая структура напоминает снежинку, содержащую таблицу фактов в середине структуры.

Проще говоря, схема «снежинка» состоит из одной таблицы фактов в середине модели, которая связана с таблицами измерений, которые снова связаны с другими таблицами измерений. Эта схема используется для повышения производительности запросов.

Модель создана для быстрых и гибких запросов по сложным отношениям и измерениям. Это полезно для отношений «один ко многим» и «многие ко многим» между различными уровнями измерений.

За счет более жесткого соблюдения большего количества стандартов нормализации вы получите большую эффективность хранения. Но избыточность данных незначительна, а производительность низка по сравнению с денормализованными моделями данных, такими как схема «звезда».

Звезда против Снежинки: Как они работают?

Как работает звездная схема?

Таблица фактов в середине звездообразной модели хранит два типа информации — числовые значения и значения атрибутов измерений. Давайте разберемся с ними на примере базы данных продаж.

  • Числовые значения уникальны для каждой строки и точки данных. Это не коррелирует и не относится к данным, хранящимся в другой строке. Это факты о данной транзакции, такие как общая сумма, количество заказов, точное время, чистая прибыль, идентификатор заказа и т. д.
  • Значения атрибутов измерений не хранят какие-либо данные напрямую, а хранят значения внешнего ключа для строки в таблице измерений. Различные строки в центральной таблице будут ссылаться на эту информацию, такую ​​как значение данных, идентификатор торгового сотрудника, идентификатор филиала, идентификатор продукта и т. д.

Таблицы измерений всегда хранят вспомогательную информацию из таблицы фактов. Каждая таблица измерений связана со столбцом таблицы фактов вместе со значением измерения и хранит дополнительные данные об этом значении.

Пример. Таблица измерений сотрудников использует идентификатор сотрудника в качестве значения ключа, а также содержит такую ​​информацию, как имя, пол, адрес и номер телефона. Точно так же в таблице параметров продукта хранится информация, включая название продукта, цвет, дату выхода на рынок, стоимость производства и т. д.

Как работает схема снежинки?

Подумайте о дизайне снежинки с центральной коробкой и различными соединениями через эту коробку с разными точками. Для поддержки киосков и хранилищ данных на сцену выходит схема «снежинка».

Она похожа на звездную схему, но с небольшими изменениями. В отличие от схемы «звезда», схема «снежинка» расширяет свои таблицы подизмерений, которые связаны с таблицами измерений.

Основная цель этой модели - нормализовать денормализованную информацию звездной модели. Таким образом, он может решить общие проблемы, связанные со звездообразной схемой.

В основе схемы вы найдете таблицу фактов, которая связана с информацией, содержащейся в таблицах измерений. Эти таблицы снова расходятся наружу к подтаблицам измерений, которые содержат подробную информацию, описывающую информацию таблицы измерений.

Пример. Схема «снежинка» содержит таблицу фактов о продажах, а также таблицы местонахождения магазина, линии, семейства, продукта и времени. Измерения рынка состоят из двух таблиц измерений, в которых магазин является основной таблицей измерений, а местоположение магазина — вспомогательной таблицей измерений. Измерение продукта имеет три подтаблицы измерений, в которых упоминаются таблица подизмерений продукта, линии и семейства.

Звезда против Снежинки: Характеристики

Характеристики звездной схемы

  • Схема «звезда» может фильтровать данные из нормализованных данных для удовлетворения потребностей в хранении данных. Уникальный ключ генерируется из связанной информации для каждой таблицы фактов для идентификации каждой строки.
  • Он обеспечивает быстрые расчеты и агрегирование, например, доход от полученного дохода и общее количество проданных товаров в конце каждого месяца. Эти детали можно фильтровать в соответствии с потребностями, формируя подходящие запросы.
  • Это измерение событий, включающее конечные числовые значения, состоящие из внешнего ключа. Эти ключи связаны с размерными таблицами. Существуют различные типы таблиц фактов, которые содержат значения на атомарном уровне.
  • Таблица фактов транзакций содержит данные о конкретных событиях, таких как распродажи и праздники.
  • Записываемые факты включают заданные периоды, такие как информация об учетной записи на конец года или каждый квартал.
  • Таблица измерений дает подробные данные об атрибутах или записях, найденных в центральной таблице.
  • Пользователь может самостоятельно спроектировать таблицу в соответствии со своими потребностями.
  • Вы можете использовать звездообразную схему для накопления таблиц моментальных снимков.

Характеристики схемы снежинки

  • Схема «снежинка» требует небольшого дискового пространства.
  • Эта модель проста в реализации благодаря раздельным и основным таблицам размеров.
  • Таблицы измерений содержат, по крайней мере, два атрибута для определения информации о нескольких зернах.
  • Из-за нескольких таблиц производительность ниже по сравнению со звездообразной схемой.
  • Схема «снежинка» имеет самый высокий уровень целостности данных и низкую избыточность благодаря нормализации.

Звезда против Снежинки: преимущества

Преимущества звездной схемы

  • Схема «звезда» — это самый простой способ среди схем витрин данных.
  • Он имеет простую логику отчетности. Эта логика подразумевается динамически.
  • Он разработан с использованием питающих кубов, применяемых в процессе онлайн-транзакций, чтобы заставить кубы работать эффективно и результативно.
  • Схема «звезда» формируется с помощью простой логики и запросов, которые легко извлечь из транзакционного процесса.
  • Он предлагает повышенную производительность для приложений отчетности.
  • Он развернут для управления быстрым восстановлением данных.
  • Отфильтрованная и отобранная информация может быть легко применена в различных случаях.

Преимущества схемы снежинки

  • Схема «звезда» используется для повышения производительности запросов из-за меньших требований к дисковому пространству.
  • Он предлагает большую масштабируемость в отношениях между компонентами и уровнями измерения.
  • Его легче поддерживать.
  • Схема «звезда» обеспечивает быстрый поиск данных.
  • Это распространенная и простая схема данных для хранения данных.
  • Это помогает повысить качество данных.
  • Структурированные данные уменьшают проблему целостности данных.

Звезда против Снежинки: Ограничения

Ограничения звездной схемы

Он имеет высокое денормализованное состояние и состояние целостности. Весь процесс рухнет, если пользователь не сможет обновить данные. Безопасность и защита также ограничены. Кроме того, схема «звезда» не такая гибкая, как аналитическая модель. Он не предлагает эффективной поддержки различных отношений.

Ограничения схемы снежинки

Основное ограничение, которое вы обнаружите в Snowflake, — это дополнительные усилия по обслуживанию из-за увеличения количества таблиц небольших размеров. Многие сложные запросы затрудняют поиск необходимых данных. Кроме того, время реализации вопроса велико из-за более высоких таблиц. Эта модель также жесткая и требует более высоких затрат на обслуживание.

Звезда против Снежинки: отличия

Звезда и Снежинка — это типы многомерных схем, но они имеют разные структуры и свойства. Первый похож на звезду, а второй на снежинку, что и определило их имена.

В звездообразной схеме только одно соединение создает связь между центральной таблицей фактов и боковыми таблицами измерений. С другой стороны, в схеме «снежинка» для связи с таблицами измерений необходимо несколько объединений.

Схема «звезда» обычно используется, когда в таблице измерений меньше строк, тогда как схема «снежинка» используется, когда таблица измерений относительно велика.

На приведенной ниже диаграмме показано различие между двумя моделями и тем, как таблицы измерений и таблица фактов связаны в разных схемах.

Параметры Звездная схема Схема снежинки
Дисковое пространство Схема «звезда» использует больше места на диске. Схема Snowflake использует меньше места на диске.
Избыточность данных Он имеет высокую избыточность данных. Он имеет низкую избыточность данных.
Нормализация Таблицы измерений денормализованы, что означает повторение одного и того же значения в таблице. Таблицы измерений полностью нормализованы.
Производительность запросов Выполнение запросов занимает минимальное время, что приводит к повышению производительности. Выполнение запроса занимает больше времени, чем схема «звезда», что делает ее менее производительной, чем схема «звезда».
Сложность запроса Сложность запроса низкая. Сложность запроса выше, чем у звездообразной схемы.
Обслуживание Из-за высокой избыточности данных поддерживать звездообразную схему немного сложно. Из-за низкой избыточности данных легко поддерживать и изменять схему снежинки.
Целостность данных Целостность данных высока, поскольку данные хранятся избыточно, когда в таблицах измерений существует несколько копий. Целостность данных низкая, так как она полностью нормализует таблицы измерений.
Иерархии Иерархии для таблиц измерений в звездообразной схеме хранятся в таблице измерений. Иерархии разделены на отдельные таблицы измерений.
Дизайн БД Он имеет простой дизайн БД. Он имеет очень сложный дизайн БД.
Таблица фактов Таблицу фактов окружают несколько таблиц измерений. Таблица фактов окружена таблицами измерений, которые также окружены таблицами подизмерений.
Настраивать Схема «звезда» легко проектируется и настраивается, поскольку их представляют прямые отношения. С другой стороны, схема снежинки немного сложна в настройке.
Обработка куба Обработка куба происходит быстрее. Из-за сложного соединения обработка куба немного медленная.
Внешние ключи Он имеет минимальное количество внешних ключей. Он имеет максимальное количество внешних ключей.

Вывод

Обе схемы «звезда» и «снежинка» полезны в разных секторах. Таким образом, решение о том, какой из них лучше, зависит от их требований.

Схема «снежинка» является расширением схемы «звезда», где она нормализует таблицы измерений в схеме «звезда».

Схема «звезда» проста по дизайну, быстрее выполняет запросы и проста в настройке. С другой стороны, схему «снежинка» легче поддерживать, она занимает меньше места на диске и менее подвержена проблемам с целостностью данных.

Таким образом, схема «звезда» может быть лучшим вариантом, если вам нужен простой дизайн, меньше внешних ключей и более быстрая обработка куба. Но если вам нужно меньше места на диске, низкая целостность данных и низкие эксплуатационные расходы, схема «снежинка» может быть более подходящей.

Вы также можете изучить некоторые лучшие решения для баз данных графов.