Архитектура Data Warehouse (DWH) задаёт фундамент для всей аналитики компании. Продуманная структура слоёв, чётко реализованная логика загрузки и понятные модели данных помогают командам безопасно развивать отчётность и продукты на базе данных.
Правильная архитектура хранилища данных, будь то Data Warehouse, Data Lake или Data Lakehouse, решает всё или почти всё в аналитике компании. Непродуманная архитектура хранилища данных отражается на всей аналитике компании: влияет на отчёты, тормозит BI-инструменты и ограничивает возможности команд. В первую очередь, неизбежно страдает преобразования данных (ETL/ELT) — данные не стыкуются, процессы замедляются, а ценность информации теряется на каждом шаге.
В статье мы рассмотрим устройство DWH, разберём структуру слоёв и архитектурные подходы, а также узнаем, как работают основные схемы моделирования.
- Что такое Data Warehouse (DWH)
- Cтруктура DWH
- Источники данных (Data Source, DS)
- Извлечение, преобразование, загрузка данных (ETL/ELT)
- Маппинг данных (S2T)
- Ядро хранилища (CDS/DDS/EDW)
- Витрины данных (Data Marts, DM)
- Метаданные
- Управление качеством данных (Data Quality, DQ)
- Управление мастерами (Master Data Management, MDM)
- Хранилище истории (SCD, архивы, снапшоты)
- Слои данных DWH
- Источники данных
- Промежуточная зона (Staging/ODS)
- Ядро хранилища
- Витрины данных
- Семантический слой
- Слой потребления (Reporting/BI)
- Архитектура DWH
- Одноуровневая архитектура (1-Tier)
- Двухуровневая архитектура (2-Tier)
- Трехуровневая архитектура (3-Tier)
- Схемы моделирования данных
- Звезда (Snowflake Scheme)
- Снежинка (Snowflake Scheme)
- Заключение
Что такое Data Warehouse (DWH)
Хранилище данных (англ. Data Warehouse, DWH) — это предметно-ориентированная информационная база данных, созданная для подготовки отчётов и бизнес-анализа с целью поддержки принятия решений в организации. Строится на базе СУБД (PostgreSQL, MS SQL Server, MySQL и др.) и систем поддержки принятия решений. Данные, поступающие в хранилище, как правило, доступны только для чтения, что обеспечивает безопасную работу аналитиков без риска повлиять на операционные системы.

DWH можно представить как «единый архив бизнеса»: все данные собираются в одном месте и становятся готовыми для построения дашбордов, отчётов и аналитических моделей. Данные из транзакционных (OLTP) систем копируются в хранилище так, чтобы отчёты и OLAP-анализ не использовали ресурсы оперативных систем и не снижали их стабильность.
Обновление данных в DWH может осуществляться двумя способами:
- Полное обновление предполагает удаление старых данных и загрузку новых, что выполняется периодически и обеспечивает согласованность всей информации.
- Инкрементальное обновление ограничивается переносом только тех записей, которые были изменены, что ускоряет процессы синхронизации и снижает нагрузку на систему.
Современные хранилища данных всё чаще разворачиваются в облаке. Облачная инфраструктура позволяет оперативно увеличивать ёмкость хранилища при росте объёмов данных, распределять нагрузку между серверами и быстро подключать новые источники. Это упрощает управление ресурсами, ускоряет аналитические и ETL/ELT-процессы и снижает затраты на поддержку физической инфраструктуры.
Читайте подробнее: Хранилище данных Data Warehouse (DWH): что это такое и зачем оно нужно бизнесу
Cтруктура DWH
Структура хранилища данных (Data Warehouse, DWH) строится по многоуровневой логике, где каждая часть отвечает за отдельный аспект обработки и хранения информации. Правильная организация слоёв и компонентов обеспечивает целостность данных, их готовность к аналитике, отчётности и построению моделей машинного обучения.
Источники данных (Data Source, DS)
Источники данных (Data Source, DS) охватывают ключевые корпоративные системы, которые формируют поток информации для DWH. В инфраструктуру компании обычно входят разные классы приложений, работающих независимо друг от друга и поддерживающих свои собственные модели данных. В эту категорию входят операционные платформы, сервисные решения и файловые источники, формирующие основу для аналитики.

В составе источников встречаются типовые корпоративные системы (ERP, CRM, WMS, SCM, EAM и др.), а также веб-приложения, API-сервисы, мобильные продукты и внутренние модули учёта. К этому перечню добавляются структурированные таблицы (Excel-формат, выгрузки из СУБД, ведомости учёта) и отдельные файловые форматы (CSV, XML, JSON). Подобные источники создают устойчивый поток транзакций, событий и справочных данных, приходящих в неоднородном виде и требующих приведения к единому стандарту перед загрузкой в DWH.
Структура входящего потока обычно включает справочники, операционные данные, журналы действий пользователей, логи интеграций, файлы выгрузок и телеметрию.
Извлечение, преобразование, загрузка данных (ETL/ELT)
Загрузка данных (ETL/ELT) — это процесс извлечения, преобразования и загрузки информации из источников в хранилище данных. ETL (Extract, Transform, Load) предполагает сначала извлечение данных, затем их обработку и очистку, а после — загрузку в DWH. Вариант ELT (Extract, Load, Transform) меняет порядок: данные сначала загружаются в хранилище, а трансформации выполняются уже внутри него, что ускоряет обработку больших объёмов информации.

Извлечение данных (Extract) отвечает за сбор информации из разнородных источников: корпоративных систем, веб-приложений, API и файлов. На этом этапе важно корректно получить транзакции, события и справочные данные, учитывая их структуру и формат, чтобы последующая обработка была точной и непротиворечивой.
Трансформация данных (Transform) обеспечивает нормализацию, очистку и приведение информации к единому формату. Здесь применяются правила бизнес-логики, создаются вычисляемые поля, объединяются данные из разных источников и устраняются дубликаты. Этот процесс формирует согласованный и готовый к аналитике набор данных.
Загрузка данных (Load) помещает обработанные данные в ядро хранилища и витрины данных (Data Marts, BI-слои, ML-слои). Методы и частота загрузки влияют на актуальность информации, производительность DWH и удобство построения отчетов, дашбордов и аналитических моделей. Правильная организация загрузки минимизирует нагрузку на источники и поддерживает стабильность аналитической среды.
Каждый этап превращает разрозненные потоки данных в единый, структурированный ресурс, готовый к аналитике и отчётности. Чёткая организация ETL/ELT снижает дублирование, позволяет выявлять ошибки на ранних стадиях и поддерживает актуальность и достоверность информации. Благодаря этому аналитики и BI-специалисты могут работать с данными без лишних проверок и исправлений, концентрируясь на бизнес-ценности.
Читайте подробнее: ETL и ELT: что это, чем отличаются, что лучше выбрать
Маппинг данных (S2T)
Маппинг данных (S2T, Source-to-Target Mapping) описывает точные соответствия между исходными данными и полями целевого хранилища данных. Он фиксирует, какие таблицы и поля из систем-источников превращаются в элементы ядра или витрин, учитывая преобразования, нормализацию и бизнес-логику. Каждый атрибут источника связывается с атрибутом витрины или ядра, что обеспечивает согласованность информации, прозрачность процессов и надёжность аналитики.

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

Особенности процесса маппинга зависят от размеров датасетов, числа объединяемых источников, структуры данных, различий между исходной и целевой схемой, а также иерархии данных. Метаданные значительно облегчают работу: их публикация позволяет автоматизировать поиск и управление объектами. Этапы стандартного маппинга включают определение данных для переноса, сопоставление исходных и целевых полей, преобразование значений, тестирование и развертывание production-решений для регулярной интеграции.
Подходы к реализации маппинга данных разнообразны и зависят от масштаба проекта, сложности источников и требований к автоматизации. Они помогают обеспечить точное сопоставление данных между системами и целевым хранилищем, минимизировать ошибки и ускорить интеграцию.
- Ручное кодирование — создание программного кода или графических мэппингов в ETL-инструментах, таких как SAP BODS, Informatica PowerCenter, Talend Data Fabric. Позволяет контролировать каждое преобразование, но требует значительных усилий при больших объёмах данных.
- Data-driven маппинг — автоматическое сопоставление на основе статистики и эвристики. Используется для обнаружения сложных взаимосвязей, конкатенаций, математических зависимостей и условных преобразований. Часто применяется при подготовке данных для моделей машинного обучения в SAS, IBM SPSS и аналогичных системах.
- Семантический маппинг — интеллектуальное сопоставление с подключением реестра метаданных. Позволяет автоматически выявлять точные совпадения между полями разных систем, упрощает интеграцию реляционных баз данных и построение DWH.
Ядро хранилища (CDS/DDS/EDW)
Ядро хранилища формирует основу для аналитики и объединяет данные из различных источников. Состоит из трёх слоёв: CDS (Corporate Data Store), DDS (Data Delivery Store) и EDW (Enterprise Data Warehouse), каждый выполняет свои задачи.
- CDS собирает сырые данные из различных систем, обеспечивает консолидацию бизнес-ключей, первичную очистку и стандартизацию. Здесь данные ещё не агрегированы и сохраняются в максимально полной форме, что позволяет при необходимости построить новые аналитические модели без потери истории.
- DDS отвечает за подготовку данных для конкретных бизнес-ролей и отчетов. На этом уровне применяются трансформации, вычисление KPI, фильтрация и объединение источников, чтобы аналитики получали готовый набор данных для конкретной задачи. DDS часто строят с учётом оптимизации под запросы BI-инструментов и дашбордов.
- EDW является корпоративным хранилищем, где объединены данные всех подразделений, обеспечена согласованность показателей, историчность и возможность комплексного анализа. EDW поддерживает структурированные схемы данных, такие как многомерные модели, Data Vault или Anchor Modeling, и становится единой точкой правды для всей организации.
Витрины данных (Data Marts, DM)
Витрина данных (Data Mart, DM) — это специализированный сегмент хранилища, предназначенный для решения задач конкретного отдела, направления бизнеса или предметной области. В отличие от общего корпоративного хранилища (Data Warehouse), витрина фокусируется на одной сфере: например, на маркетинге, продажах, финансах или логистике. Она предоставляет быстрый доступ к целевым данным, структурированным для выполнения специализированных аналитических запросов, что ускоряет работу пользователей и снижает нагрузку на основное хранилище.

Если говорить проще, то Data Mart собирает, очищает и структурирует только ту информацию, которая действительно нужна конкретной команде, впоследствии предоставляя точные выборки с готовыми отчетами, сводками и фильтрами.
Пример: витрина для отдела продаж содержит показатели доходов, конверсий и ключевых клиентов, а маркетинговая — данные о рекламных кампаниях, кликах и охвате аудитории.
Основные элементы витрины включают источники данных — CRM, ERP и транзакционные системы; модель данных — логическую структуру, адаптированную под задачи пользователей; и интерфейс доступа — BI-инструменты, визуализацию или SQL-запросы.
Витрины позволяют ускорить доступ к информации, снизить затраты на обработку и быстро тестировать новые аналитические подходы без воздействия на корпоративное хранилище. Концепция Data Mart появилась ещё в 1970-х для поддержки продаж и сегодня является привычным инструментом бизнес-анализа, особенно в компаниях с распределённой структурой.
Применение витрин охватывает анализ продаж и маркетинга, финансовый анализ, управление персоналом и другие области, где требуется оперативный и точный доступ к данным для принятия решений.
Метаданные
Метаданные — это информация о данных, которая описывает их структуру, содержание и свойства. Они помогают отслеживать, классифицировать и управлять данными, обеспечивая контроль качества, целостности и безопасности. По сути, метаданные создают «контекст» для понимания данных, позволяя пользователям ориентироваться в огромных массивах информации.
В Data Warehouse метаданные документируют источники данных, структуру таблиц, многомерных кубов, правила агрегирования и настройки отчетности через BI-инструменты. Благодаря метаданным аналитики, разработчики и администраторы быстро находят нужные данные, понимают их происхождение и связи, а также обеспечивают корректность и сопоставимость показателей.
Типы метаданных:
- Служебные (Administrative) — содержат информацию о процессах ETL, расписании загрузки, правах доступа и журналах операций. Эти данные помогают контролировать качество информации и управлять безопасностью.
- Структурные (Structural) — описывают схемы таблиц, ключи, связи между таблицами и правила нормализации. Структурные метаданные необходимы для целостности и интеграции данных из разных источников.
- Описательные (Descriptive) — предоставляют сведения о содержании данных, например, названия полей, типы данных, форматы, единицы измерения и взаимосвязи между объектами.
- Интерфейсные — определяют экраны, отчеты и визуализации, обеспечивая корректное отображение данных для конечных пользователей.
Принято выделять несколько способы использования метаданных:
- Пассивно — метаданные служат документацией, обеспечивая понимание структуры данных и процессов для пользователей и разработчиков.
- Активно — хранение правил преобразования, агрегирования и бизнес-логики, которые используются системой во время выполнения ETL и отчетов.
- Полуактивно — статическая информация, доступная компонентам системы во время выполнения, например, проверка существования атрибутов или соответствия схем.
Технологии, такие как XML, позволяют хранить и обмениваться метаданными в стандартизированной форме. XML обеспечивает «самоописание» данных, делает их легко читаемыми и интегрируемыми в разные системы. Это особенно важно для крупных компаний с распределёнными хранилищами, где стандартизация и повторное использование данных критически необходимы.
Управление качеством данных (Data Quality, DQ)
Управление качеством данных (Data Quality, DQ) — комплекс процессов, технологий и практик, обеспечивающих точность, полноту, актуальность и согласованность информации в корпоративных системах. DQ включает профилирование данных, выявление и исправление ошибок, стандартизацию форматов, удаление дубликатов и проверку соответствия бизнес-правилам. Надёжное управление качеством данных снижает риск ошибок в аналитике и автоматизированных процессах, ускоряет интеграцию информации и повышает доверие пользователей.
Компании используют DQ для контроля источников данных, автоматизации корректировки, мониторинга показателей качества и соблюдения нормативных требований. Метрики качества данных выявляют проблемные зоны, помогают планировать улучшения и предотвращают накопление «грязной» информации — особенно важно при масштабировании аналитических систем и внедрении BI-платформ.
Ключевые характеристики качественных данных:
- Точность. Соответствие информации реальному положению дел.
- Полнота. Наличие всей необходимой информации без критических пропусков.
- Своевременность. Актуальность данных для текущих процессов.
- Согласованность. Единообразие представления в разных системах.
- Доступность. Возможность получить данные в нужное время.
- Уникальность. Отсутствие дублирующих записей, искажающих аналитику.
Качественные данные = качественные решения. Без DQ бизнес рискует принимать решения вслепую, тратить ресурсы на исправление ошибок и терять доверие клиентов.
Управление мастерами (Master Data Management, MDM)
Управление основными данными, или MDM (master data management), объединяет процессы и инструменты, обеспечивающие определение, контроль и поддержание целостности ключевых данных организации, включая справочные. Иногда используют термин RDM (reference data management) — управление справочными данными. На постсоветском пространстве встречается понятие управления нормативно-справочной информацией (НСИ), близкое к MDM, но изначально подразумевающее работу только с фиксированными справочниками, меняющимися крайне редко, что ближе к конфигурационным данным.
Мастер-данные (мастеры) содержат критически важную для бизнеса информацию о клиентах, контрагентах, продуктах, услугах, персонале, технологиях, материалах и других ключевых сущностях. Они не транзакционные и меняются относительно редко.

Процесс управления основными данными включает сбор и накопление информации, её очистку, сопоставление разных источников, консолидацию, проверку качества и распространение по организации. Это позволяет поддерживать согласованность данных между отделами и системами, обеспечивая единое понимание ключевых объектов.
Пример: компания ведёт несколько систем, где хранятся данные о клиентах. MDM-система помогает убедиться, что все данные согласованы: контакты совпадают, дубликаты исключены, а изменения в одной системе корректно отражаются во всех остальных.
Мастер-данные не транзакционные, то есть они не фиксируют отдельные события, как транзакционные данные (например, продажи или платежи). Исторически НСИ охватывает фиксированные справочники, которые редко меняются, но часто используются как синоним MDM для управляемых справочных объектов.
Хранилище истории (SCD, архивы, снапшоты)
Хранилище истории (SCD, архивы, снапшоты) играет ключевую роль в управлении мастер-данными и аналитикой, позволяя отслеживать, как меняются данные во времени. Этот подход обеспечивает сохранение предыдущих версий записей, поддерживает согласованность информации и делает возможным исторический анализ, аудит и восстановление состояния на любой момент.
Медленно меняющиеся измерения (Slowly Changing Dimensions, SCD) позволяют хранилищу данных фиксировать изменения ключевых атрибутов объектов. В зависимости от требований бизнеса применяются разные типы SCD:
- SCD Type 0 — значение атрибута фиксируется навсегда и не изменяется со временем; используется для константных характеристик объектов, которые не требуют истории.
- SCD Type 1 — старое значение перезаписывается новым; история изменений не сохраняется, что упрощает модель и снижает объём данных, но теряется аналитическая трассировка прошлых значений.
- SCD Type 2 — при каждом изменении создаётся новая запись с отдельным суррогатным ключом; фиксируются даты начала и окончания действия атрибута, а также индикатор текущей строки; позволяет полностью отслеживать эволюцию данных.
- SCD Type 3 — добавляется новый атрибут для сохранения предыдущего значения, при этом основное поле обновляется; ограничивает хранение истории, оставляя только последнюю версию и одну предыдущую.
- SCD Type 4 — часто изменяющиеся группы атрибутов выносятся в отдельное мини-измерение; основная таблица хранит только актуальные значения, а история ведётся в мини-измерении, что снижает нагрузку на основной слой.
- SCD Type 5 — расширяет Type 4, добавляя текущие ссылки на мини-измерение в основной таблице; обеспечивает одновременный доступ к актуальным и историческим значениям через разные связи.
- SCD Type 6 — гибридная модель, объединяющая элементы Types 1, 2 и 3; сохраняет полный исторический контекст, одновременно поддерживает актуальные значения и ограниченную историю в дополнительных столбцах.
- SCD Type 7 — реализует двойную модель измерения: одновременно поддерживает Type 1 для текущих значений и Type 2 для исторических данных; связь с фактами осуществляется через разные ключи, что позволяет аналитикам работать с разными точками зрения на данные.
Пример: если клиент изменил адрес или должность сотрудника обновилась, SCD Type 2 создаст новую запись с актуальными данными, а старые версии останутся доступными для аналитики.
Архивы позволяют хранить старые версии данных вне оперативной системы, освобождая ресурсы и обеспечивая возможность восстановления при необходимости. Снапшоты фиксируют состояние данных на определённый момент времени и удобны для отчётности и сверки.
Современные инструменты (Informatica MDM, SAP Master Data Governance, Talend Data Fabric) позволяют настраивать медленно меняющиеся измерения без программирования. Они обеспечивают:
- Исправлять ошибочные записи, используя SCD1 для перезаписи атрибутов, например, имени клиента.
- Сравнивать текущие и предыдущие значения в многомерных моделях, применяя SCD2 для отслеживания изменений регионов магазинов или продуктовых линейок.
- Вести сложную историю изменений атрибутов, используя комбинированные типы вроде SCD6, где одновременно отображаются текущие значения, даты действия и активный флаг.
Слои данных DWH
Слоистая архитектура упорядочивает движение данных так, чтобы каждый уровень выполнял чётко определённую функцию и не тянул за собой лишние технологические связи. Это создаёт контролируемую среду, в которой изменения не разрушают соседние компоненты и не требуют постоянных переработок.
Источники данных
Источники данных формируют сырьевой поток, который поступает в хранилище в исходном виде. Здесь задаются формат, структура, частота и качество данных. В предыдущих разделах уже звучала тема разнородности выгрузок, поэтому внимание смещается на то, как разные системы образуют единый информационный контур: операционные базы, CRM, ERP, рекламные платформы, логистические решения, финансовые модули, продуктовые сервисы и API формируют насыщенный и разнообразный набор структур.
Техническая согласованность импорта обеспечивает стабильный фундамент для последующей очистки и унификации. Корректно организованный первичный поток снижает нагрузку на стейджировании и повышает воспроизводимость загрузки.
Промежуточная зона (Staging/ODS)
Промежуточная зона включает несколько уровней подготовки данных и служит связующим звеном между внешними системаи и ядром хранилища. Архитекторы используют её как контролируемый буфер, где каждая партия проходит первичную обработку, сохраняет исходный контекст и укладывается в строгую последовательность загрузок. Такой слой снижает риск потери информации, упрощает аудит и формирует фундамент для корректного моделирования.
Стейджинг отвечает за фиксацию сырого материала без каких-либо изменений. Данные поступают в хранилище в исходном виде, благодаря чему сохраняется возможность восстанавливать события, повторно прогонять процедуры и анализировать ошибочные случаи. На этом уровне выполняются базовые проверки: соответствие структур, корректность типов, заполненность обязательных полей.
ODS располагается тесно над стейджингом и выравнивает материал до рабочей, более аккуратной формы. Лёгкая нормализация и первичная стыковка структур приводят к тому, что ключи, форматы и атрибуты начинают говорить на одном языке. Инженеры устраняют грубые дубликаты, приводят значения к согласованному виду и ловят расхождения между источниками. Благодаря этому ядро получает предсказуемый, уже проверенный слой, пригодный для дальнейшего моделирования и построения витрин.
Ядро хранилища
Ядро DWH формирует стабильный бизнес-каркас, на котором строятся витрины, отчёты и аналитические сервисы. Оно фиксирует ключевые сущности, связи между ними, историю изменений, правила расчётов и модель предметной области. Структура ядра не подстраивается под отдельные запросы, отражая фундаментальную логику бизнеса и обеспечивая единый стандарт данных для всех аналитических процессов.
Хранилище поддерживает историзацию и медленно меняющиеся измерения (SCD), что позволяет фиксировать состояние объектов с привязкой ко времени. Этот слой критически важен для точного анализа, воспроизводимости событий и контроля динамики ключевых показателей.
В ядре применяются три популярные модели данных:
- Модель Kimball — ориентирована на звёздные схемы (Star Schema) и используется для быстрого построения витрин и аналитики. Сосредоточена на фактах и измерениях, удобна для OLAP-запросов и поддерживает SCD для измерений.
- Модель Inmon — строит корпоративное хранилище как нормализованное ядро (3NF), создавая единое интегрированное представление данных. Такой подход упрощает консолидацию разных источников и историзацию, но требует дополнительной работы для создания витрин.
- Data Vault — гибкая архитектура для сложных, быстро меняющихся бизнес-процессов. Разделяет данные на хабы (ключевые сущности), ссылки (отношения) и сателлиты (атрибуты и история изменений), что облегчает масштабирование, автоматизацию ETL и ведение детальной истории.
Техническая аккуратность ядра напрямую влияет на скорость вывода витрин, корректность метрик и надёжность BI. Чем более продуманной и стандартизированной является модель, тем проще масштабировать хранилище, подключать новые источники данных и обеспечивать консистентность при сложных аналитических сценариях.
Витрины данных
Витрины создают целевые структуры для конкретных доменов: коммерция, маркетинг, финансы, продукт, операции. Ранее мы отмечали прикладную направленность витрин, поэтому внимание переключается на реализацию: агрегирование метрик, оптимизация под быстрые запросы, предобработка расчётов и изоляция различных бизнес-контекстов.
Витрины данных позволяют аналитикам получать показатели практически мгновенно, не погружаясь в сложную структуру ядра. Они снимают тяжёлые вычисления с BI-систем, обеспечивая стабильную производительность даже при больших объёмах запросов.
Семантический слой
Семантический слой формирует единый словарь бизнес-терминов и переводит технические модели в понятные категории. Этот уровень ещё не фигурировал ранее, поэтому описание расширено. Слой связывает метрики, модели, параметры и расчёты, создавая единый понятийный аппарат для всей компании.
Семантические модели скрывают SQL-логику, обеспечивают контроль доступа, устраняют расхождения в интерпретациях и задают стандарты для отчётов. Аналитики работают с категориями вроде «выручка», «активный клиент», «повторный заказ» — без необходимости разбираться в структуре витрин и ядра.
Компании используют этот слой как механизм унификации: показатели рассчитываются одинаково в любых BI-инструментах и в любых подразделениях.
Слой потребления (Reporting/BI)
Слой потребления отвечает за интерфейсы, в которых специалисты получают результаты обработки данных. Мы уже затрагивали тему отчётности, поэтому акцент делается на методах подачи: визуализации, дашборды, мониторинговые панели, аналитические сценарии, автоматизированные отчёты. BI подключается к витринам или семантическому слою и обеспечивает единый доступ к данным.
Финансовые специалисты, менеджеры, продуктовые команды и операционные службы используют отчёты для принятия решений, отслеживания динамики и контроля ключевых показателей. Слой завершает движение данных и делает работу хранилища видимой для бизнеса.
Архитектура DWH
С ростом объёма данных и сложности бизнес-процессов компании всё чаще сталкиваются с необходимостью выстраивания правильной архитектуры DWH. От выбора структуры зависит производительность, скорость обработки запросов, масштабируемость системы и удобство работы аналитиков.
Архитектура хранилища данных определяет, как данные собираются, хранятся, трансформируются и предоставляются конечным пользователям. Различают одноуровневую (1-Tier), двухуровневую (2-Tier) и трёхуровневую (3-Tier) архитектуры, каждая из которых имеет свои особенности, преимущества и ограничения.
Все архитектуры DWH преследуют одну цель — создавать качественные данные для анализа. Различия проявляются в масштабах, степени структурирования, способах разделения аналитики и бизнес-процессов.
Одноуровневая архитектура (1-Tier)
Одноуровневая архитектура DWH представляет собой простейшую модель, где все компоненты системы — хранение данных, обработка и аналитика — сосредоточены в одном уровне. Пользователь, база данных и аналитические инструменты находятся в едином пространстве, что делает эту архитектуру максимально компактной и лёгкой для внедрения.

Основной смысл 1-Tier заключается в том, что данные сразу загружаются в единый репозиторий, где их можно сразу обрабатывать и анализировать. Промежуточных слоёв или отдельных OLAP-серверов нет, а бизнес-аналитика выполняется напрямую на базе данных.
Особенности:
- Все компоненты сосредоточены на одном уровне. Хранение, обработка и аналитика данных находятся в единой базе.
- Отсутствие отдельного аналитического слоя. Пользовательский интерфейс и аналитические инструменты подключаются напрямую к репозиторию данных.
- Единая точка управления данными. Все процессы обработки и хранения происходят на одном сервере, без распределения между уровнями.
Преимущества:
Лёгкость внедрения и настройки. Простая установка системы и минимальная конфигурация позволяют быстро запустить DWH даже без большой команды специалистов.
Быстрый доступ к данным без посредников. Аналитики могут сразу выполнять запросы и получать результаты без дополнительных слоёв обработки или промежуточных баз.
Подходит для прототипирования и пилотных систем. Можно быстро протестировать идеи и создать прототип, чтобы оценить полезность DWH для бизнеса.
Простота резервного копирования и администрирования. Все операции выполняются на одном сервере, что облегчает управление, настройку и создание резервных копий.
Недостатки:
Ограниченная производительность при росте объёма данных. Система может тормозить при увеличении числа записей или пользователей, так как всё работает на одном уровне.
Плохо масштабируется в крупных корпоративных проектах. Плавно вытекает из первого недостатка. При расширении данных или внедрении сложной аналитики система может не выдерживать нагрузки.
Трудности с распределением нагрузки между пользователями. Одновременные запросы нескольких аналитиков могут замедлять работу базы данных.
Отсутствие резервирования и высокой доступности Big Data. При сбое сервера данные могут быть недоступны, а восстановление занимает много времени.
Где применяется:
1-Tier чаще всего применяется в малых компаниях с ограниченным числом источников данных. Она хорошо подходит для проектов с базовой аналитикой и для создания прототипов или пилотных систем DWH. Кроме того, такой подход удобен для отчетности небольших подразделений, где не требуется масштабирование или сложная интеграция потоков данных.
Двухуровневая архитектура (2-Tier)
Двухуровневая архитектура DWH, она же клиент-серверная, строится вокруг разделения функций хранения и использования данных. На нижнем уровне размещается база данных с механизмами хранения и агрегирования информации из разных источников. Верхний уровень отведён клиентским приложениям и аналитическим инструментам, которые обращаются к данным для построения отчётов и проведения анализа.

В 2-Tier данные сперва проходят частичную предварительную обработку на сервере DWH. Это снижает нагрузку на аналитические инструменты и ускоряет генерацию отчётов. Архитектура подходит для организаций, где нужно обслуживать несколько пользователей одновременно, но объёмы данных ещё не требуют полноценной трёхуровневой структуры.
Особенности:
- Разделение клиентского и серверного слоёв. Данные и обработка находятся на сервере, а пользователи работают через аналитические инструменты или интерфейсы.
- Минимизация нагрузки на клиентские устройства. Клиентские приложения остаются лёгкими, выполняя только отображение и ввод данных.
- Прямая интеграция с источниками данных через сервер. Клиент не подключается напрямую к базам данных, все соединения проходят через сервер DWH.
Преимущества:
Прямой доступ к данным. Пользователи могут выполнять запросы и получать результаты без промежуточных слоёв обработки.
Гибкость бизнес-логики на клиенте. «Толстый клиент» обрабатывает данные локально, разгружая сервер.
Достаточно быстрая реализация. Разработка и развертывание занимают меньше времени по сравнению с многоуровневыми системами.
Низкие требования к инфраструктуре. Для работы достаточно одного сервера базы данных и клиентских приложений.
Недостатки:
Повышенные требования к инфраструктуре. Наличие отдельного сервера увеличивает расходы на оборудование, память и дисковое пространство.
Нагрузка на сеть. Передача больших объёмов данных между сервером и клиентскими инструментами всё еще может заметно замедлять отклик аналитических запросов.
Ограниченная адаптивность к изменениям бизнес-логики. Любые модификации обычно требуют корректировок как на сервере, так и в клиентских приложениях.
Где применяется:
2-Tier отлично показывает себя в средних компанях с умеренным числом источников данных. Архитектура подходит для многопользовательской аналитики и построения корпоративных отчётов. Разделение обработки и анализа упрощает управление данными, но при этом не требует сложной трёхуровневой системы. Удобна для организаций с растущими требованиями к аналитике и объёмом данных.
Трехуровневая архитектура (3-Tier)
Как не сложно догадаться, трёхуровневая архитектура DWH разделяет систему на три уровня: нижний уровень хранения данных, средний уровень обработки и OLAP-сервер, а верхний уровень отвечает за визуализацию и работу с пользователем. Данные сначала собираются и хранятся в репозитории, затем проходят обработку, агрегацию и подготовку на промежуточном уровне, после чего аналитики получают доступ к готовой информации через клиентские инструменты.

Такое разделение позволяет оптимизировать производительность, повысить масштабируемость и облегчить управление системой. Каждый уровень изолирован, что снижает влияние ошибок на работу других компонентов и обеспечивает гибкость при расширении источников данных или аналитических возможностей.
Особенности:
- Разделение бизнес-логики и интерфейса. Каждый уровень изолирован и может масштабироваться независимо от других: клиент отвечает только за отображение и ввод данных, серверы — за хранение и обработку.
- OLAP-сервер как отдельный слой. Сосредотачивает вычислительные процессы и агрегацию данных, снижая нагрузку на базу и клиентский слой.
- Независимость клиентских приложений. Аналитические инструменты не затрагивают хранение и обработку данных напрямую.
- Централизованная интеграция источников. Новый источник подключается на уровне хранения, не влияя на логику обработки и клиентский слой.
Преимущества:
Чёткое разделение функциональных слоёв. Хранение данных, обработка и аналитика вынесены на разные уровни, что снижает нагрузку на каждый компонент и повышает общую производительность системы.
Высокая масштабируемость. Архитектура позволяет добавлять новые источники данных и пользователей без серьёзного влияния на производительность существующих слоёв.
Гибкость интеграции внешних систем. Различные базы данных, файлы и облачные сервисы можно подключать к DWH без изменения клиентской части, что ускоряет развертывание новых источников данных.
Повышенная отказоустойчивость. Разделение на уровни позволяет реализовать резервирование и балансировку нагрузки на каждом слое, снижая риск полного отказа системы.
Недостатки:
Сложность развертывания. Настройка трёх уровней и их взаимодействия требует точной конфигурации и согласования компонентов.
Высокая стоимость инфраструктуры. Для каждого уровня необходим отдельный сервер или кластер, что увеличивает расходы на оборудование и программное обеспечение.
Длительная поддержка. Обслуживание трёх уровней требует квалифицированного персонала и постоянного мониторинга работы всех компонентов.
Где применяется:
3-Tier архитектура DWH находит применение в крупных компаниях с множеством источников данных и высокими требованиями к аналитике. Она используется в корпоративных BI-системах, финансовых и страховых организациях, где нужно обрабатывать большие массивы информации и обеспечивать одновременную работу множества аналитиков.
Сравнительная таблица:
| Критерий | Одноуровневая (1-Tier) | Двухуровневая (2-Tier) | Трехуровневая (3-Tier) |
|---|---|---|---|
| Архитектура | Единый уровень хранения, обработки и аналитики | Клиент-серверная архитектура с разделением функций | Три независимых уровня: хранение, бизнес-логика, представление |
| Сложность внедрения | Минимальная, быстрое развертывание | Умеренная, требует настройки клиент-серверного взаимодействия | Высокая, сложная интеграция всех компонентов |
| Масштабируемость | Очень ограниченная, проблемы при росте данных | Умеренная, возможна вертикальная масштабируемость | Высокая, горизонтальное и вертикальное масштабирование |
| Производительность | Снижается при увеличении объема данных и пользователей | Стабильная при умеренных нагрузках | Оптимизированная для высоких нагрузок |
| Стоимость внедрения | Низкая (минимальная инфраструктура) | Средняя (отдельный сервер + клиентские лицензии) | Высокая (множество серверов, сложное ПО) |
| Поддержка пользователей | До 10-15 одновременных пользователей | До 50-100 пользователей | Сотни и тысячи пользователей |
| Гибкость изменений | Низкая, изменения затрагивают всю систему | Умеренная, разделение клиентской и серверной логики | Высокая, независимое изменение каждого уровня |
| Отказоустойчивость | Низкая (единая точка отказа) | Средняя (возможно резервирование сервера) | Высокая (резервирование на всех уровнях) |
| Безопасность | Базовая, централизованное управление | Разделение прав доступа между клиентом и сервером | Многоуровневая безопасность на каждом уровне |
| Обслуживание | Простое, но частые простои при обновлениях | Умеренное, возможна частичная модернизация | Сложное, но с минимальным временем простоя |
| Идеальные сценарии | Стартапы, тестовые среды, малый бизнес | Средний бизнес, отдельные подразделения | Крупные предприятия, финансовые организации |
| Интеграция с источниками | Ограниченное количество источников | Умеренное разнообразие источников данных | Множество разнородных источников данных |
Схемы моделирования данных
Схемы моделирования данных задают каркас хранилища и определяют, как информация организуется для аналитики и построения отчётов. Среди наиболее распространённых подходов организации данных в DWH выделяют схемы «Звезда» (Star Scheme) и «Снежинка» (Snowflake Scheme).
Выбор схемы моделирования определяет, насколько быстро будут выполняться запросы, насколько просто поддерживать хранилище и насколько легко масштабировать систему под растущие объёмы данных.
Звезда (Snowflake Scheme)
Схема «Звезда» (Star Scheme) — это логическая модель данных, используемая в многомерном хранилище данных. В ней используются два вида таблиц: центральная таблица фактов и несколько таблиц измерений, образующих «лучи». Такая организация упрощает навигацию по данным и позволяет аналитикам сосредоточиться на ключевых показателях, не углубляясь в сложные структуры.

Центральная таблица содержит ключевые количественные показатели бизнеса — продажи, транзакции, доходы, посещения — а измерения хранят описательные данные о клиентах, продуктах, времени или географии. Такая организация позволяет аналитикам быстро находить нужную информацию и строить отчёты без сложных соединений таблиц.
В Звезде таблицы измерений денормализованы, то есть все атрибуты одного измерения собраны вместе, что уменьшает количество соединений и ускоряет обработку запросов. Простая структура облегчает построение агрегированных данных и многомерного анализа, особенно в системах OLAP. Кроме того, добавление новых измерений или метрик не требует перестройки центральной таблицы фактов. Подходит для быстрых, интуитивно понятных сводных отчётов и анализа ключевых показателей.
Недостатком схемы «Звезда» является неудобство работы с иерархическими измерениями. Например, если товары объединены в группы, то для каждого товара необходимо явно указывать принадлежность к группе. Это приводит к многократному повторению названий, увеличивает избыточность и повышает риск противоречий, если один и тот же товар случайно будет отнесён к разным группам.
Снежинка (Snowflake Scheme)
Схема «Снежинка» (Snowflake Scheme) получила своё название из-за разветвлённой структуры таблиц измерений, напоминающей форму снежинки. Центральная таблица по-прежнему содержит количественные показатели бизнеса, но измерения организованы не в один, а в несколько уровней, отражающих иерархические зависимости. Такая структура позволяет хранить подробные данные о связях между элементами и строить запросы с высокой точностью.

Каждое измерение может иметь подизмерения, которые уточняют его содержание. Например, измерение «Категория товаров» может быть разделено на отдельные таблицы для групп и конкретных товаров.
Таблицы измерений могут напрямую связываться друг с другом, минуя таблицу фактов. Это даёт гибкость при построении сложных аналитических запросов и позволяет детально прослеживать связи между уровнями измерений. Подходит для крупных корпоративных хранилищ и проектов с глубокими иерархиями данных.
Учитывая свою ориентированность на детализацию, схема «Снежинка» оказывается более трудной для освоения и поддержки по сравнению со схемой «Звезда». Но за счёт точного отражения иерархий, минимизации повторов и компактного хранения данных она повышает согласованность информации и снижает риск ошибок, обеспечивая надёжную основу для аналитики и бизнес-отчётности.
Заключение
Хранилище данных (Data Warehouse, DWH) объединяет разрозненные источники информации в единую систему, где данные становятся доступными для анализа и принятия решений. Оно обеспечивает консистентность и целостность информации, позволяя организациям видеть полную картину происходящего.
Выбор структуры и моделей хранения данных влияет на скорость аналитики, удобство поддержки и возможности масштабирования. Грамотно спроектированный DWH упрощает работу с отчётами, агрегациями и сложными запросами, минимизируя ошибки и повышая точность бизнес-анализа.
Инвестиции в DWH превращают данные в стратегический ресурс. Централизованное хранилище позволяет быстро реагировать на изменения, принимать обоснованные решения и обеспечивать долгосрочный рост компании за счёт эффективного использования информации.








