Основные подходы к архитектуре

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

  • Модель звезды (Star Schema)

  • Модель снежинки (Snowflake Schema)

  • Таблица фактов (Fact Table) и таблицы изменений (Dimension Tables)

Таблицы измерений

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

Модель звезды (Star Schema)

Центральный мост "Звезды" - это таблица, в которую добавлены блоки ключевых полей из таблиц измерений, связанных друг с другом.

Характеристики:

  • Каждое измерение в звёздообразной схеме представлено единственной одномерной таблицей

  • Таблица измерений должна содержать набор атрибутов

  • Таблица измерений присоединяется к таблице фактов с помощью внешнего ключа

  • Таблицы измерений не соединены друг с другом

  • Таблица фактов будет содержать ключ и меру

  • Схема Звезда проста для понимания и обеспечивает оптимальное использование диска.

  • Таблица измерений не нормализованы.

  • Схема широко поддерживается BI Tools

Модель снежинки (Snowflake Schema)

Снежинка - это та же Модель звезды (Star Schema), только измерения могут зависеть от измерений следующего уровня, а те в свою очередь могут включать ещё уровни.

  • Основное преимущество этой схемы - использование меньшего дискового пространства

  • Проще реализовать добавление измерения в схему

  • Из-за нескольких таблиц производительность запросов снижается

  • Основная проблема, с которой вы столкнётесь при использовании схемы "Снежинка", заключается в том, что вам нужно выполнять больше усилий по обслуживанию из-за большего количества таблиц поиска

Сравнительная характеристика Звезды и Снежинки

Схема звезды

Схема снежинки

Иерархии для измерений хранятся в таблице измерений.

Иерархии разделены на отдельные таблицы.

Он содержит таблицу фактов, окруженную таблицами измерений.

Одна таблица фактов, окруженная таблицей измерений, которая в свою очередь окружена таблицей измерений

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

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

Простой дизайн БД.

Очень сложный дизайн БД.

Денормализованная структура данных и запрос также выполняются быстрее.

Нормализованная структура данных.

Высокий уровень избыточности данных

Очень низкоуровневая избыточность данных

Таблица одного измерения содержитагрегированные данные.

Данные разбиты на разные таблицы измерений.

Обработка куба происходит быстрее.

Обработка куба может быть медленной из-за сложного соединения.

Предлагает более эффективные запросы,используя Star Join Query Optimization. Таблицы могут быть связаны с несколькими измерениями.

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

Таблица фактов (Fact Table) и таблицы измерений (Dimension Tables)

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

Таблицы измерений

AGV_vUd-PGTUmIjVubxnC8djAo78XTDpaU-63ll6fm963vxAQGFCtXCFDB_1qQc0J37KiLsUTvv59nSMAd_D8qRqOzxLQGX45VP_wapIAgN4U8QKrUj9KQXCJWaoutFmB_JHbNaAezF8CQ=s2048?key=30qOc8xKqqfHYUc-aTUB_dVr

Хранение ссылочных данных, таких как таблицы подстановки, от идентификатора сущности до её свойств. Хранение данных, подобных snapshot, в таблицах, все содержимое которых изменяется в одной транзакции Таблицы измерений не регулярно помечаются с новыми данными. Вместо этого все содержимое данных обновляется одновременно с помощью таких операций, как .set-or-replace, .move extents или .rename tables. Иногда таблицы измерений могут быть производными от таблиц фактов. Этот процесс можно выполнить с помощью политики обновления в таблице фактов с запросом к таблице, которая принимает последнюю запись для каждой сущности.

Основные принципы проектирования хранилищ данных

  • Нормализация

  • Денормализация

  • Разделение данных

  • Использование индексов

  • Управление изменениями

  • Использование ETL

  • Обеспечение безопасности и конфиденциальности

Разделение данных

При разделении базы данных она реорганизуется в два файла: серверную базу данных, которая содержит таблицы данных, и клиентскую базу данных, в которой содержатся все остальные объекты базы данных (например, запросы, формы, отчеты). Каждый пользователь взаимодействует с данными с помощью локальной копии внешней базы данных.
Для разделения базы данных используется мастер разделения базы данных. После разделения базы данных ее необходимо распространить среди пользователей.

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

  • Улучшенная производительность

  • Большая доступность

  • Улучшенная безопасность

Комментарии (2)


  1. AVF_613
    16.01.2025 10:25

    Снежинки, звёздочки, облачка -белогривые лошадки))... Какая разница какой нотацией для описания пользоваться?? Про разделение данных не спорю, а даже поддерживаю, НО по стандарту. Требования к безопасности вообще нужно на уровне Компании прописывать, а не БД... Если у вас украдут сервер, то разделение данных не спасёт.

    ГОСТ Р ИСО 10303-239-2008 Системы автоматизации производства и их интеграция. Прикладные протоколы. Поддержка жизненного цикла изделий
    ГОСТ Р ИСО 10303-239-2008 Системы автоматизации производства и их интеграция. Прикладные протоколы. Поддержка жизненного цикла изделий
    ГОСТ Р ИСО 10303-239-2008 Системы автоматизации производства и их интеграция. Прикладные протоколы. Поддержка жизненного цикла изделий
    ГОСТ Р ИСО 10303-239-2008 Системы автоматизации производства и их интеграция. Прикладные протоколы. Поддержка жизненного цикла изделий


    1. stepansvift Автор
      16.01.2025 10:25

      Спасибо за ваш комментарий! Этот материал ориентирован на начинающих и предназначен для того, чтобы в простой и понятной форме объяснить основные подходы к проектированию хранилищ данных.

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

      Что касается защиты данных, вы абсолютно правы: безопасность должна строиться на уровне компании. Разделение базы данных — это лишь один из инструментов, который помогает минимизировать риски, но не заменяет комплексную стратегию защиты.