Microsegment.ru
  • Главная страница
  • О проекте
  • Портфолио
  • Блог
Системы

Гибридное хранилище данных

Гибридное хранилище данных
Системы

Гибридное хранилище данных (англ. Data Lakehouse, сокращенно DLH) — это архитектурный паттерн, реализующий возможности, аналогичные возможностям баз данных (далее БД), поверх масштабируемого объектного хранилища [1]. Этот паттерн предлагает многослойную конструкцию, где каждый слой отвечает за определённые функции [1]. Концепция Data Lakehouse является закономерным этапом эволюции архитектур управления корпоративными данными, обеспечивающий фундамент для построения AI-Ready платформы.

В современном корпоративном ландшафте данные перестали быть просто побочным продуктом операционной деятельности — они стали стратегическим активом и топливом для цифровой трансформации. Однако, организации сталкиваются с фундаментальной дилеммой: как совместить гибкость хранения любых форматов данных с дисциплиной, необходимой для получения надёжных аналитических выводов? Традиционные Data Warehouse (DWH) предлагали структурированность, высокую производительность запросов и дисциплину данных, но оказались дороги в масштабировании и негибки при работе с неструктурированными форматами [2]. Data Lake решили проблему стоимости хранения, позволив накапливать данные в любом виде, однако быстро превращались в «Data Swamp» (болото данных) из-за отсутствия ACID-транзакций, согласованности и эффективных механизмов управления [1][6].

Ответом на эти вызовы стала архитектура Data Lakehouse — конвергентное решение, которое наносит структуру и дисциплину хранилища поверх гибкости и масштабируемости озера данных. Как показывают исследования Harby и Zulkernine (2025), Lakehouse объединяет сильные стороны обеих парадигм, обеспечивая поддержку ACID-транзакций, управление схемой и эффективную аналитику без многократного копирования данных [4][8]. Эволюция архитектур управления данными [2]:

ХарактеристикаData Warehouse (1990-е)Data Lake (2010-е)Data Lakehouse (2020-е)
Основной фокусБизнес-аналитика, отчётностьBig Data, ML, неструктурированные данныеЕдиная платформа для BI и AI/ML
Формат данныхСтруктурированные, очищенныеЛюбые (сырые, структурированные и нет)Любые, с управляемой схемой
Стоимость храненияВысокаяНизкаяНизкая
ACID-транзакцииПолная поддержкаОтсутствуютПолная поддержка на уровне таблиц
ПроизводительностьВысокаяНизкая без доп. обработкиВысокая (индексы, кэширование)
Управление схемойSchema-on-writeSchema-on-readSchema-on-write с эволюцией

Концепция AI-Ready Data, определяемая IBM как данные с унифицированным доступом к структурированной и неструктурированной информации, единым семантическим слоем и возможностью безопасного масштабирования [3], находит свою естественную реализацию именно в архитектуре Lakehouse. Исследователи подчёркивают, что большинство GenAI-проектов останавливаются на стадии пилотов именно из-за неподготовленности данных [3]. Lakehouse для AI-Ready платформ обеспечивает:

  1. Прямой доступ к данным для фреймворков машинного обучения без необходимости предварительной выгрузки [1].
  2. Открытые форматы хранения (Parquet, Iceberg), исключающие привязку к вендору [1][7].
  3. Единый семантический слой для согласованной интерпретации данных бизнес-пользователями и AI-моделями.
  4. Поддержку как транзакционных, так и аналитических нагрузок в рамках единой платформы [3].

Пример практической реализации: Проект гибридного хранилища

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

Источник данных: операционная таблица table_1 в MS SQL Server (db_1) со следующими характеристиками:

  • Текущий объём: 3 ТБ
  • Ежегодный прирост: 2 ТБ
  • Структура: 5 колонок (включая UUID, дату-время, неструктурированные данные в формате JSON)
  • Режим работы: несколько тысяч пользователей 23/7, пик 9:00-18:00, окно обслуживания 7:00-8:00

Цель: обеспечить долгосрочное (5+ лет) хранение данных и доступ для аналитики, минимизируя влияние на операционную систему и создавая фундамент для AI-инициатив.

Архитектурное решение: Медальон-архитектура на PostgrSQL

В проекте сознательно использованы функциональные названия слоёв STAGING и RAW DATA LAKE, соответствующие их роли в медальон-архитектуре [2]:

Слой 1: STAGING (бронзовый/приёмочный слой)

  • Назначение: первичная загрузка свежих данных из источника
  • Характеристики: перезаписывается при каждой загрузке (интервал — сутки в окно 7:00-8:00), минимизирует нагрузку на операционную БД
  • Технология: временные таблицы PostgreSQL

Слой 2: RAW DATA LAKE (бронзовый/архивный слой)

  • Назначение: долговременное накопление сырых данных в неизменном виде (append-only)
  • Характеристики: партиционирование по кварталам, хранение 5+ лет (прогнозируемый объём 11 ТБ)
  • Технология: PostgreSQL с декларативным партиционированием и табличными пространствами на отдельных LVM-томах

Слой 3: COMMON DATA MARTS (золотой слой)

  • Назначение: витрины данных для аналитики и операционного использования
  • Характеристики: агрегированные, очищенные данные, оптимизированные для BI-инструментов
  • Технология: представления (views) и материализованные представления PostgreSQL

Трёхэтапный план реализации

ЭтапТехнологииСрокиРезультат
MVPPostgreSQL, cron, LVM, Python + ODBC2-3 дняАвтоматическая ежесуточная загрузка, двухслойное хранение, партиционирование
Промышленное внедрениеApache Airflow, Zabbix, Grafana, Docker (опционально)2-3 месяцаОркестрация, мониторинг, загрузка исторических данных чанками, резервное копирование
Развитиеdbt (опционально), расширение PostgreSQL6-12 месяцевВитрины данных, интеграция новых источников, SCD, семантический слой

Расчёт ресурсов проекта

Исходные данные и допущения

  • Источник: таблица table_1 (MS SQL Server) размером 3 ТБ на старте, ежегодный прирост 2 ТБ.
  • Сырые данные (RAW): хранятся без изменений. За 5 лет общий объем RAW достигнет 3 + 4×2 = 11 ТБ (с учетом начальных 3 ТБ и 4 лет прироста по 2 ТБ). В дальнейшем будем оперировать максимальным расчетным объемом 11 ТБ для сырых данных.
  • Производные слои: ODS, DDS, витрины (Common Data Marts). Их объем зависит от степени агрегации и нормализации. Примем коэффициент 1.5 от объема сырых данных (на основе опыта подобных проектов). Тогда общий объем данных в PostgreSQL составит: 11 × 1.5 ≈ 16.5 ТБ.
  • Индексы: для таблиц фактов и измерений необходимы индексы. В среднем индексы занимают 30% от объема таблиц. С учетом индексов общий объем БД: 16.5 × 1.3 ≈ 21.5 ТБ.
  • Партиционирование: данные разбиты по кварталам. Каждая квартальная партиция RAW содержит примерно 2 ТБ / 4 = 0.5 ТБ сырых данных. С индексами и накладными расходами – 0.65 ТБ. Для 5 лет (20 кварталов) – 13 ТБ только RAW. Остальные слои также будут партиционированы по датам, но их размер меньше.

Дисковая подсистема

Тома должны обеспечивать разделение данных по производительности и надежности. Используем комбинацию быстрых SSD (RAID10) для активных данных и медленных HDD (RAID6) для архивов и бэкапов.

Тома для данных PostgreSQL (активные партиции):

  • Назначение: хранение данных за последние 2 года (8 кварталов) — наиболее часто запрашиваемые для аналитики.
  • Объем:
    • Сырые данные за 2 года: 4 ТБ (2 года × 2 ТБ/год).
    • Производные слои за тот же период: примерно 4 × 1.5 = 6 ТБ (без индексов).
    • С индексами: 6 × 1.3 = 7.8 ТБ.
    • Итого активные данные: 4 + 7.8 = 11.8 ТБ.
  • Распределение по кварталам: 8 томов по ~1.5 ТБ каждый (с запасом на рост индексов и временные файлы).
  • Тип дисков: SSD (SAS или NVMe) – высокие IOPS для операций вставки (загрузка исторических данных) и аналитических запросов.
  • RAID: RAID10 (зеркало+полоса) – максимальная производительность и отказоустойчивость.
  • Ожидаемая нагрузка:
    • Пиковая запись: при загрузке исторических данных чанками до 100 ГБ/час.
    • Пиковое чтение: сложные аналитические запросы, сканирования больших таблиц.
  • Требуемые IOPS: не менее 5000 IOPS (случайное чтение/запись), лучше 10 000+.
  • Пропускная способность: не менее 500 МБ/с на последовательное чтение/запись.

Тома для данных PostgreSQL (архивные партиции старше 2 лет):

  • Назначение: данные с 3-го по 5-й год (12 кварталов), доступ к которым редок.
  • Объем: аналогично расчету для активных, но без производных слоев? Фактически производные слои тоже могут архивироваться, но для упрощения считаем, что они также хранятся, но на медленных дисках. Итого: за 3-5 годы (3 года) сырых данных 6 ТБ, производные слои 9 ТБ, с индексами ~12 ТБ. Всего архивных данных: ~18 ТБ.
  • Распределение: 12 томов по 1.5 ТБ.
  • Тип дисков: HDD (SAS 7.2k rpm) – достаточная емкость, низкая стоимость.
  • RAID: RAID6 (двойная четность) – эффективное использование емкости, защита от сбоев двух дисков.
  • Требования: низкие IOPS (достаточно 500-1000), пропускная способность 100-200 МБ/с.

Том для WAL (Write-Ahead Log):

  • Назначение: оперативный журнал транзакций PostgreSQL.
  • Размер: рекомендуется 100–200 ГБ для обеспечения бесперебойной работы при пиковых нагрузках. Расчет: средняя дневная запись данных ~5.5 ГБ (при 2 ТБ в год). WAL генерируется примерно в том же объеме, что и изменения, плюс накладные. За сутки ~10 ГБ. Для надежности и с учетом исторических загрузок (до 1 ТБ в день) нужно иметь запас. Берем 200 ГБ.
  • Тип дисков: SSD или NVMe с очень низкой задержкой.
  • RAID: RAID10.
  • IOPS: критически важна задержка записи (должна быть < 1 мс). Ожидаемая нагрузка до 1000-2000 IOPS.

Том для WAL-архивов (непрерывное архивирование):

  • Назначение: хранение архивных сегментов WAL для восстановления на любой момент времени.
  • Размер: хранение минимум 2 недели. При максимальной интенсивности записи (например, при загрузке исторических данных) за 2 недели может накопиться до 2 ТБ данных (если загружается 10 ТБ за 2 недели). Заложим 500 ГБ с запасом.
  • Тип дисков: SSD или HDD в RAID10 (для надежности).
  • RAID: RAID10.

Том для резервных копий (бэкапы):

  • Назначение: хранение полных и инкрементальных бэкапов.
  • Размер: требуется место для нескольких поколений бэкапов. Применяем политику:
    • Ежедневные полные бэкапы последних 14 дней (14 копий).
    • Еженедельные полные бэкапы последних 8 недель (8 копий).
    • Ежемесячные полные бэкапы за последние 12 месяцев (12 копий).
  • Объем полного бэкапа сжатого: обычно в 2-3 раза меньше исходных данных (за счет сжатия и отсутствия индексов). При размере БД 21.5 ТБ, сжатый бэкап может занимать ~8-10 ТБ. Для расчета возьмем 10 ТБ на один полный бэкап.
  • Необходимое место:
    • 14 ежедневных: 14 × 10 = 140 ТБ.
    • 8 еженедельных: 8 × 10 = 80 ТБ.
    • 12 ежемесячных: 12 × 10 = 120 ТБ.
    • Итого 340 ТБ. Это очень много, но обычно применяют инкрементальные бэкапы и ротацию. На практике можно использовать более эффективную стратегию, например, один полный бэкап в неделю + ежедневные дифференциальные. Рекомендуется выделить 30–50 ТБ для бэкапов, используя дедупликацию и сжатие на уровне системы резервного копирования. В требованиях закладываем 40 ТБ как минимальный объем с возможностью расширения.
  • Тип дисков: HDD (большие емкости) в RAID6.
  • RAID: RAID6.

Том для логов (системные, PostgreSQL, Airflow):

  • Назначение: хранение логов всех компонентов.
  • Размер: при интенсивной работе лог-файлы могут занимать до 100–200 ГБ с учетом ротации (например, logrotate).
  • Тип дисков: SSD (для быстрого доступа при анализе проблем).
  • RAID: RAID1.

Системные тома для ОС (каждой ВМ):

  • Размер: 50–100 ГБ.
  • Тип дисков: SSD.
  • RAID: RAID1.

Том для приложений (Airflow, скрипты):

  • Размер: 50–100 ГБ.
  • Тип дисков: SSD.
  • RAID: RAID1.

Суммарное дисковое пространство (физическое) с учетом RAID:

  • Активные данные (SSD RAID10): 11.8 ТБ полезных → с учетом зеркалирования (RAID10 требует 2× места) нужно 23.6 ТБ физических SSD.
  • Архивные данные (HDD RAID6): 18 ТБ полезных → при RAID6 с 8 дисками эффективность (N-2)/N, например, для 8 дисков эффективность 75% → потребуется 24 ТБ физических HDD.
  • WAL (SSD RAID10): 0.2 ТБ полезных → 0.4 ТБ физических.
  • WAL-архивы (HDD RAID10): 0.5 ТБ полезных → 1 ТБ физических (если RAID10, то 2×).
  • Бэкапы (HDD RAID6): 40 ТБ полезных → при RAID6 из 8 дисков эффективность 75% → 53.3 ТБ физических.
  • Логи (SSD RAID1): 0.2 ТБ полезных → 0.4 ТБ.
  • Системные (SSD RAID1): на каждую ВМ по 0.1 ТБ полезных → для 3 ВМ (БД, Airflow, мониторинг) нужно 0.3 ТБ полезных, физических 0.6 ТБ.
  • Приложения (SSD RAID1): 0.1 ТБ полезных → 0.2 ТБ физических.

Итоговые потребности в физических дисках:

  • SSD: 23.6 + 0.4 + 0.4 + 0.6 + 0.2 = 25.2 ТБ.
  • HDD: 24 + 1 + 53.3 = 78.3 ТБ.

Оперативная память (RAM)

Рекомендации для PostgreSQL:

  • Shared buffers: 25% RAM, но не более 16-32 ГБ для БД до 10 ТБ (по старым правилам). Современные версии могут использовать больше, но выделим 32 ГБ.
  • Эффективный кэш ОС: остальная память будет использоваться для кэширования данных файловой системы. Для активного набора данных (11.8 ТБ) кэшировать всё невозможно, но важно иметь достаточно для рабочих наборов запросов.
  • Рабочая память для сортировок/хешей: параметры work_mem и maintenance_work_mem. При большом количестве одновременных соединений нужно достаточно памяти. Рекомендуется 64–128 ГБ для БД.
  • Дополнительно: память для Airflow (8–16 ГБ), мониторинга (4–8 ГБ).

Итого: для сервера БД минимум 128 ГБ, лучше 256 ГБ. Для сервера Airflow: 16 ГБ. Для сервера мониторинга: 8 ГБ.

Общая RAM в системе виртуализации: 128+16+8 = 152 ГБ (минимум), лучше 256+32+16 = 304 ГБ.

Процессор (CPU)

  • Сервер БД: PostgreSQL хорошо масштабируется на многоядерных системах. Требуется параллельная обработка запросов, загрузка данных, создание индексов. Рекомендуется 16–32 физических ядра (или vCPU с учетом hyper-threading). При использовании виртуализации – 32 vCPU.
  • Сервер Airflow: 4–8 vCPU.
  • Сервер мониторинга: 2–4 vCPU.

Итого: около 44 vCPU.

Сеть

  • Связь с источником MS SQL: для загрузки исторических данных (например, 10 ТБ за неделю) потребуется пропускная способность: 10e12 / (7*86400) ≈ 16.5 МБ/с. Это легко покрывается 1 Гбит/с (125 МБ/с). Но для параллельной загрузки и ускорения процесса рекомендуется 10 Гбит/с.
  • Внутренняя сеть между компонентами: для репликации БД (если будет) и обмена данными между Airflow и БД достаточно 1 Гбит/с, но для надежности лучше заложить 10 Гбит/с на всех узлах.

Дополнительные соображения

  • LVM: все тома должны быть на LVM для возможности расширения.
  • Zabbix/Grafana: требуют незначительных ресурсов, но необходимо предусмотреть дисковое пространство под историю метрик (например, 100 ГБ).
  • Возможность роста: при увеличении объема данных до 10-15 ТБ потребуется пропорциональное увеличение RAM и CPU. Архитектура должна позволять добавление ресурсов без остановки.

Итоговые требования к ресурсам

Минимальные требования к ресурсам проекта:

КомпонентРесурсЗначение (минимум)
Сервер БД (PostgreSQL)CPU (vCPU)32
RAM128+ ГБ
Диски SSD (RAID10)25 ТБ (физических)
Диски HDD (RAID6)78 ТБ (физических)
Сервер AirflowCPU (vCPU)8
RAM16 ГБ
Диск SSD (RAID1)100 ГБ
Сервер мониторингаCPU (vCPU)4
RAM8 ГБ
Диск SSD (RAID1)100 ГБ + 100 ГБ для метрик
СетьИнтерконнект10 Гбит/с

Минимальные требования к дисковым томам:

ТомРазмер (полезный)Тип дисков / RAIDНазначение
Активные партиции (последние 2 года)11.8 ТБSSD / RAID10Горячие данные, высокие IOPS
Архивные партиции (старше 2 лет)18 ТБHDD / RAID6Холодные данные, редкие запросы
WAL (журнал транзакций)200 ГБSSD / RAID10Критически важная производительность записи
WAL-архивы500 ГБSSD или HDD / RAID10Непрерывное архивирование
Резервные копии40 ТБHDD / RAID6Полные и инкрементальные бэкапы
Логи200 ГБSSD / RAID1Системные логи, логи БД, Airflow

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

Почему вынос данных из операционной БД — единственно верное решение

У проекта создания Data Lakehouse на PostgreSQL есть альтернативное решение — оптимизировать хранение данных внутри исходной БД db_1 на MS SQL Server.

Подробное сравнение двух подходов

Описание подхода 1 (предложенное решение создания отдельного Data Lakehouse на PostgreSQL):

  • Данные выгружаются из table_1 в отдельное хранилище на базе PostgreSQL.
  • Используются слои: STAGING (перезаписываемый), RAW DATA LAKE (накопительный), в перспективе ODS, DDS, витрины.
  • Партиционирование по кварталам в PostgreSQL с размещением на отдельных томах LVM, архивация томов старше 2 лет.
  • Оркестрация: Airflow.
  • Мониторинг: Zabbix + Grafana.

Описание подхода 2 (оптимизация хранения внутри исходной MS SQL Server db_1):

  • Таблица table_1 остаётся в db_1, но к ней применяется партиционирование по дате (например, по кварталам).
  • Исторические партиции (старше 2 лет) перемещаются на медленные (архивные) диски, возможно, в другой файловой группе.
  • Используются возможности MS SQL Server: секционирование, перемещение секций между файловыми группами, сжатие данных, индексы.
  • Обеспечивается доступ к историческим данным через ту же таблицу (прозрачно для приложений) или через представления.
  • Для аналитики можно строить отчёты непосредственно по table_1 или создать отдельные индексы/представления.
  • Мониторинг осуществляется с помщью Zabbix и Grafana.

Сравнение подходов по ключевым критериям:

КритерийПодход 1: Отдельное Data Lakehouse (PostgreSQL)Подход 2: Оптимизация внутри исходной MS SQL Server
Влияние на операционную БДМинимальное. Выгрузка данных происходит в окно 7:00–8:00 через чтение из table_1. Исторические загрузки можно выполнять чанками вне пиковых часов. Сама операционная БД не нагружается дополнительными индексами или партиционированием.Существенное. Партиционирование больших таблиц в активно используемой БД может вызывать блокировки при переключении секций, обслуживании индексов, обновлении статистики. Операции по перемещению старых данных между дисками требуют времени и ресурсов, могут конфликтовать с рабочей нагрузкой.
Производительность операционной системыНе изменяется, т.к. все операции с историей вынесены.Может ухудшиться из-за фоновых задач обслуживания партиций, сжатия, перестроения индексов. Также запросы к историческим данным могут конкурировать за ресурсы с оперативными.
Доступность исторических данных для аналитикиПолноценная аналитика на отдельном сервере без риска повлиять на production. Можно строить сложные запросы, агрегации, витрины.Аналитика выполняется на том же сервере, что может создавать нагрузку и замедлять оперативную работу. Чтобы избежать этого, придётся использовать реплики чтения или изолировать нагрузку.
Управление жизненным циклом данных (архивация)Гибкое: тома с партициями старше 2 лет можно отмонтировать и хранить отдельно. Доступ по запросу через монтирование тома. В PostgreSQL можно отключать табличные пространства.В MS SQL Server можно перемещать партиции в другую файловую группу на медленных дисках, но отключение/включение файловых групп без остановки БД ограничено. Полное изъятие данных из БД (detach) сложнее и может потребовать создания архивных таблиц.
Резервное копирование и восстановлениеМожно выполнять независимо от production. Резервное копирование Data Lakehouse оптимизировано под большие объёмы (например, только изменения).Бэкапы db_1 будут включать и исторические данные, что увеличивает время бэкапа и восстановления. Приходится делать более частые бэкапы production, что дороже.
МасштабируемостьГоризонтальное масштабирование: можно вынести Data Lakehouse на отдельные мощные серверы, использовать реплики для отчётов.Масштабирование ограничено возможностями одного экземпляра MS SQL Server. Для больших объёмов придётся использовать дорогие редакции Enterprise с поддержкой секционирования и продвинутого сжатия.
Стоимость лицензированияPostgreSQL — бесплатен (GPL). Не требуется дополнительных лицензий. Airflow, Zabbix, Grafana — Open Source. Затраты только на оборудование и поддержку.MS SQL Server требует лицензий. Для партиционирования необходима редакция Enterprise (очень дорогая). Также могут потребоваться дополнительные лицензии на ядра для обработки исторических данных.
Сложность внедрения и поддержкиТребуется развернуть новый стек технологий (PostgreSQL, Airflow, мониторинг). Но это делается однократно и независимо от production.Меньше новых компонентов, но требуется глубокое знание MS SQL Server, тюнинг партиционирования, планирование окон обслуживания. Риск ошибок выше из-за работы на живой системе.
Гибкость аналитических слоёвМаксимальная: можно создавать любые промежуточные слои (ODS, DDS, витрины) без ограничений.Ограничена возможностями SQL Server. Для построения сложных витрин придётся либо создавать дополнительные таблицы в той же БД (увеличивая нагрузку), либо использовать ETL в другую БД (фактически подход 1).
Сохранение историчности (SCD)Реализуется на уровне DDS с поддержкой SCD типа 2.В исходной таблице, скорее всего, данные только добавляются или обновляются? Если нужна история изменений, придётся реализовывать триггеры или CDC, что дополнительно нагружает production.
Возможность добавления новых источниковЛегко расширяется: новые таблицы или внешние данные интегрируются в Data Lakehouse без влияния на production.Всё остаётся в одной БД, что может привести к её перегрузке и усложнению структуры.
Надёжность и риск для productionРиск минимален: выгрузка данных — только чтение. Сбой в Data Lakehouse не влияет на работу прикладной системы.Любые операции с историческими данми (обслуживание, резервное копирование) могут повлиять на production.
Архивация старых данныхПростое отмонтирование томов LVMТребуется сложное перемещение партиций внутри БД
Скорость доступа к историческим даннымМожет быть ниже, если данные на отмонтированных томах, но при подключении — приемлемо. На активных данных — высокая производительность благодаря отдельным ресурсам.Данные всегда в БД, но на медленных дисках. Запросы к ним могут тормозить, если не оптимизированы. Но доступ прозрачен.
AI/ML-готовностьПрямой доступ к данным для фреймворков ML [1][3]Требуется предварительная выгрузка данных

Анализ влияния на production при подходе 2:

  • Партиционирование в MS SQL Server требует начальной операции секционирования, которая может заблокировать таблицу на время (для больших таблиц это часы). Это нужно делать в окно обслуживания.
  • Перемещение исторических партиций между файловыми группами (например, на медленные диски) выполняется командой ALTER TABLE ... SWITCH — это быстрая метаданная операция, но требует, чтобы целевая партиция была пуста и находилась в нужной файловой группе. Однако сама файловая группа должна быть создана, и диски должны быть доступны.
  • Сжатие данных (ROW или PAGE) может снизить объём, но увеличивает нагрузку на CPU при чтении/записи.
  • Индексы на партиционированной таблице должны обслуживаться (перестроение, реорганизация), что также требует ресурсов.
  • Резервное копирование всей БД (включая историю) будет длительным и может перекрываться с рабочим временем.

Выводы из сравнения двух подходов

Подход 1 (отдельное Data Lakehouse на PostgreSQL) предпочтительнее по следующим причинам:

  1. Минимизация рисков для операционной системы. Производственная БД остаётся нетронутой, её производительность не страдает от фоновых задач по обслуживанию истории.
  2. Экономическая эффективность. Бесплатное ПО (PostgreSQL, Airflow) против дорогих лицензий MS SQL Server Enterprise по некоторым оценкам позволяют снизить совокупную стоимость владения до 53% [3], а по другим оценкам совокупная стоимость владения за 5 лет может быть снижена в 3-4 раза:
    • Экономия на лицензиях: MS SQL Server Enterprise для 32 ядер на 5 лет составляет ~7-10 млн руб. (оценка).
    • Затраты на оборудование: ~2-3 млн руб. однократно (дисковые массивы, серверы).
    • Трудозатраты: поэтапное внедрение позволяет распределить нагрузку на существующую команду.
  3. Гибкость и масштабируемость. Data Lakehouse можно развивать независимо, добавлять новые источники, строить сложные витрины без ограничений.
  4. Удобство архивации. Отмонтирование томов LVM с партициями старше 2 лет — простое и надёжное решение, не требующее сложных операций внутри СУБД.
  5. Разгрузка production. Аналитические запросы не конкурируют с оперативными.

Подход 2 может быть оправдан только в исключительных случаях:

  • Если в организации уже есть неиспользуемые мощности MS SQL Server и лицензии Enterprise.
  • Если требования к аналитике минимальны и достаточно простых отчётов по историческим данным.
  • Если невозможно развернуть дополнительную инфраструктуру из-за политик безопасности.

Однако в условиях задачи (несколько тысяч пользователей, 23-часовая работа, необходимость долгосрочного хранения и аналитики) риски и стоимость подхода 2 перевешивают его преимущества. Поэтому рекомендуется реализовать отдельное хранилище данных на PostgreSQL, как описано в первом решении.

Научное обоснование решения создания гибридного хранилища данных

Предложенное решение по созданию долгосрочного гибридного хранилища данных на базе PostgreSQL с поэтапным внедрением (MVP → промышленная эксплуатация → развитие) представляет собой архитектурный подход, который не только решает конкретную бизнес-задачу, но и соответствует ряду фундаментальных концепций и современных трендов, признанных авторитетными аналитическими и консалтинговыми компаниями. Настоящий анализ рассматривает соответствие проекта следующим ключевым направлениям: эволюция медальон-архитектуры (Medallion Architecture), принципы Data Mesh, тренды платформенной инженерии и самообслуживаемой инфраструктуры, концепция AI-Ready Data, а также фундаментальные принципы построения корпоративных хранилищ данных.

Соответствие медальон-архитектуре (Bronze-Silver-Gold)

Медальон-архитектура, популяризированная Databricks, определяет трёхслойную организацию данных: бронзовый слой (bronze) — сырые данные в исходном виде, серебряный слой (silver) — очищенные и структурированные данные, золотой слой (gold) — агрегированные витрины для бизнес-пользователей [13].

Предложенное решение полностью воспроизводит данную логику с учётом специфики закрытого контура и ограниченных ресурсов:

  • Слой RAW DATA LAKE соответствует бронзовому слою: данные сохраняются в исходном виде (включая JSON-поля), накапливаются за весь период хранения (5+ лет), обеспечивая возможность пересмотра бизнес-логики без повторного обращения к источникам.
  • Слой STAGING выполняет функции, близкие к серебряному слою: обеспечивает быструю загрузку свежих данных и их первичную подготовку.
  • Слой COMMON DATA MARTS (третий этап) — классический золотой слой с агрегированными витринами для аналитики и операционного использования.

Harby и Zulkernine (2025) подтверждают, что трёхслойная организация данных (бронза-серебро-золото) обеспечивает оптимальный баланс между гибкостью и производительностью [8]. Как отмечает эксперт DWHPro, «медальон-архитектура — это не новая идея, а ваш старый подход, работающий на новой инфраструктуре» [13]. Действительно, классические хранилища данных использовали аналогичные слои (staging, integration, presentation) на протяжении десятилетий. Однако современная интерпретация, реализованная в проекте, добавляет критически важные элементы:

  1. Постоянное хранение сырых данных — в традиционных подходах staging-слой часто был эфемерным из-за дороговизны дискового пространства [13]. В предложенном решении, благодаря современным экономическим моделям хранения (LVM на относительно недорогих носителях), сырые данные сохраняются постоянно, что обеспечивает возможность пересмотра трансформаций при изменении бизнес-требований.
  2. Партиционирование с возможностью архивации — использование отдельных томов для квартальных партиций с возможностью отмонтирования данных старше двух лет соответствует принципу разделения горячих и холодных данных (hot/cold data separation), который является ключевым для современных платформ данных [13][15]. Исследования подтверждают, что экономическая эффективность Lakehouse достигается за счёт интеллектуального управления жизненным циклом данных и размещения горячих данных на быстрых носителях, а холодных — на ёмких и дешёвых [1].
  3. Двухслойная структура на этапе MVP — подход «start small, experiment and remain flexible» [11] позволяет избежать «analysis paralysis» и начать с минимально жизнеспособного продукта, что полностью соответствует рекомендациям Thoughtworks по внедрению современных data-архитектур.

Соответствие принципам Data Mesh

Data Mesh — социотехнический подход к архитектуре данных, введённый Замак Дегхани в 2019 году, который основывается на четырёх принципах: предметно-ориентированное децентрализованное владение данными, данные как продукт, самообслуживаемая инфраструктура данных как платформа и федеративное вычислительное управление [11][18].

Хотя проект не предполагает полномасштабного внедрения Data Mesh, он содержит элементы, соответствующие этой парадигме:

  1. Данные как продукт (Data as a Product) — на третьем этапе предусмотрено создание витрин COMMON DATA MARTS, которые по своей сути являются data-продуктами: они имеют чётких потребителей (аналитики, операционные подразделения), определённое качество и метрики доступности. Как отмечается в анализе Thoughtworks, именно этот принцип делает ценность Data Mesh осязаемой [11].
  2. Самообслуживаемая инфраструктура (Self-Serve Data Platform) — в проекте заложено создание платформенных компонентов (Apache Airflow для оркестрации, Zabbix и Grafana для мониторинга), которые снижают когнитивную нагрузку на команды, работающие с данными. Это соответствует определению self-serve платформы как инструмента, который позволяет «убрать трение» для доменных команд [11].
  3. Эволюционный подход — Thoughtworks подчёркивает, что организации, успешно внедрившие Data Mesh, учились на том, что «изменение способов работы сложнее, чем изменение технологий» [11]. Предложенный поэтапный подход (MVP → промышленное внедрение → развитие) позволяет адаптировать организационные процессы постепенно.

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

Платформенная инженерия и самообслуживаемая инфраструктура

Платформенная инженерия (Platform Engineering) — emerging-тренд, направленный на создание внутренних платформ для разработчиков (Internal Developer Platforms), которые обеспечивают баланс между централизованным контролем и децентрализованной ценностью [11].

Реализация в проекте:

  1. Разделение инфраструктурных компонентов — выделение отдельных томов под данные, WAL-архивы, бэкапы и логи с использованием LVM соответствует лучшим практикам построения надёжных платформ данных [15].
  2. Инструментарий для мониторинга и оркестрации — включение Apache Airflow, Zabbix и Grafana создаёт основу для наблюдаемости (observability) данных, что в 2026 году становится не просто преимуществом, а базовым требованием [10].
  3. Баланс между централизацией и автономией — как отмечается в анализе Thoughtworks, наиболее эффективный паттерн — централизованная платформа, предоставляющая «инфраструктурный водопровод», при сохранении возможности доменных команд использовать инструменты, наилучшим образом подходящие для их задач [11]. Предложенное решение с PostgreSQL в качестве ядра и возможностью расширения на третьем этапе реализует именно такой подход.

Тренд на консолидацию data-инструментов (сокращение «стека из 50 инструментов до 5 платформ» [10]) полностью соответствует выбору ограниченного, но функционального набора технологий: PostgreSQL как единая платформа хранения, Airflow как единый оркестратор, Zabbix+Grafana как единая система мониторинга. Это позволяет минимизировать интеграционные издержки, которые, по данным исследований, составляют до 40% времени data-инженеров [10].

Соответствие концепции AI-Ready Data

IBM определяет AI-Ready Data как данные, которые обладают унифицированным доступом к структурированной и неструктурированной информации, единым семантическим слоем и возможностью безопасного масштабирования от пилотов до промышленной эксплуатации [12]. По данным Dell и Noventiq, Lakehouse-архитектура является единственным viable-решением для подготовки данных к использованию в AI/ML-нагрузках, поскольку обеспечивает прямой доступ к данным без их дублирования [3].

Реализация в проекте:

  1. Работа с неструктурированными данными — исходная таблица содержит JSON-данные, что представляет собой классический пример неструктурированной информации, составляющей до 90% корпоративных данных [12]. Сохранение этих данных в неизменном виде в RAW-слое позволяет в будущем применять к ним современные методы анализа, включая LLM.
  2. Семантический слой — на третьем этапе предусмотрено создание COMMON DATA MARTS, которые фактически являются реализацией семантического слоя (semantic layer). Как отмечается в прогнозах на 2026 год, семантический слой становится критически важным, поскольку «без него text-to-SQL — это просто угадывание» [10].
  3. Качество данных как бизнес-функция — согласно Gartner, плохое качество данных обходится предприятиям в среднем в $12,9 млн в год [10]. Заложенная в проекте поэтапная очистка данных (STAGING → ODS/DDS → витрины) создаёт основу для управления качеством на системном уровне.

IBM подчёркивает, что большинство GenAI-проектов останавливаются на стадии пилотов именно из-за неподготовленности данных [12]. Предложенное решение, обеспечивающее чистое, структурированное и документированное хранение данных, создаёт фундамент для будущего применения AI-технологий, даже если на текущем этапе это не является приоритетом.

Фундаментальные принципы построения хранилищ данных

Независимо от технологических трендов, базовые принципы построения хранилищ данных остаются неизменными: разделение слоёв, управление жизненным циклом данных, обеспечение качества, документирование и наблюдаемость [10][13].

Реализация в проекте:

  1. Управление жизненным циклом данных — партиционирование по кварталам с возможностью архивации томов старше двух лет обеспечивает экономически эффективное хранение больших объёмов данных (до 11 ТБ за 5 лет) без деградации производительности.
  2. Разделение транзакционных и аналитических нагрузок — выгрузка данных в отдельное хранилище полностью исключает влияние аналитических запросов на операционную систему, что критически важно при работе нескольких тысяч пользователей 23 часа в сутки.
  3. Резервное копирование и восстановление — выделение отдельных томов под WAL-архивы и бэкапы, использование RAID-массивов с учётом требований к надёжности и производительности соответствует enterprise-стандартам.
  4. Наблюдаемость (Observability) — включение Zabbix и Grafana обеспечивает переход от пассивного мониторинга к активному управлению качеством данных, что является ключевым трендом 2026 года [10].

Как подчёркивается в прогнозах на 2026 год, «архитектурные изменения всё ещё могут ломать пайплайны, NULL-значения всё ещё могут разрушать отчёты, аномалии трафика всё ещё могут происходить, когда никто не мониторит в выходные» [10]. Заложенные в проекте механизмы мониторинга, резервирования и контроля качества являются не просто «nice-to-have», а необходимыми компонентами промышленного решения.

Соответствие тренду упрощения и консолидации data-стека

Аналитики фиксируют тренд на сокращение количества инструментов в корпоративном data-стеке: от 15-30 разрозненных решений к 5 интегрированным платформам [10].

Реализация в проекте:

  1. Минималистичный стек на этапе MVP — только PostgreSQL и cron, что позволяет начать с минимальными компетенциями за 2-3 дня.
  2. Постепенное наращивание функциональности — добавление Airflow, Zabbix, Grafana только тогда, когда это действительно требуется.
  3. Отказ от избыточных компонентов — использование возможностей PostgreSQL для партиционирования и управления JSON-данными вместо внедрения специализированных NoSQL-решений.
  4. Открытые технологии — выбор PostgreSQL (open-source) вместо проприетарных СУБД соответствует тренду на использование открытых форматов и предотвращение vendor lock-in [14]. Использование открытых форматов хранения и PostgreSQL гарантирует, что организация сохраняет контроль над своими данными и может менять инфраструктуру без потери информации [7].

ClickHouse в своём анализе облачных хранилищ данных отмечает, что современные архитектуры должны обеспечивать «верифицируемую свободу» от привязки к вендору [14]. Использование PostgreSQL и LVM с открытыми форматами хранения даёт организации возможность контролировать свои данные и менять инфраструктуру при необходимости без потери информации.

Итоги анализа соответствия решения проекта существующим трендам

Предложенное решение по созданию долгосрочного хранилища данных на базе PostgreSQL демонстрирует соответствие следующим ключевым концепциям и трендам в области информационных технологий:

Концепция / ТрендСоответствие в проектеИсточник
Медальон-архитектура (Bronze-Silver-Gold)Слои RAW → STAGING → COMMON DATA MARTS[13]
Данные как продукт (Data as a Product)Витрины данных с чёткими потребителями[11], [17]
Платформенная инженерияСамообслуживаемая инфраструктура с Airflow и мониторингом[11]
AI-Ready DataСохранение неструктурированных данных, семантический слой[12]
Разделение hot/cold данныхПартиционирование по кварталам с отмонтированием томов[13], [15]
Наблюдаемость (Observability)Zabbix, Grafana, мониторинг метрик[10]
Консолидация data-стекаОграниченный набор технологий, поэтапное внедрение[10], [14]
Экономическая эффективностьИспользование open-source, LVM, поэтапное финансирование[11], [13]

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

Заключение

Представленный проект гибридного хранилища данных на базе PostgreSQL представляет собой не просто техническое решение конкретной задачи по долгосрочному хранению даных на базе гибридного хранилища данных, а первый шаг к созданию корпоративной AI-Ready платформы. Соответствуя современным архитектурным трендам и научным рекомендациям, он:

  1. Минимизирует влияние на операционную систему.
  2. Обеспечивает долгосрочное хранение данных с управляемым жизненным циклом.
  3. Создаёт фундамент для аналитики и машинного обучения.
  4. Экономически эффективен благодаря использованию открытого ПО и поэтапному внедрению.
  5. Защищает от вендор-локина за счёт открытых форматов.

Как показывают успешные кейсы (Members 1st Federal Credit Union с 20 ТБ данных и 89% ускорением ML-моделей [5]; NinjaVan с трансформацией legacy-архитектуры [9]), такой подход не только реализуем, но и даёт измеримые бизнес-результаты.

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


Список используемых источников:

  1. ClickHouse. (2026). Data Lakehouse: Озёрное хранилище данных. ClickHouse Documentation.
  2. Открытая школа Т1. (2024). Разработчик DWH: Сквозной проект №2. GitHub Repository.
  3. Шарипов, А. (2025). Data Lakehouse от Dell: Единая платформа для данных, аналитики и ИИ. Noventiq Blog.
  4. Harby, A. A., & Zulkernine, F. (2025). Data Lakehouse: A survey and experimental study. Information Systems, 127, 102460. Elsevier.
  5. Microsoft. (2025). Members 1st builds a modern data lakehouse with 3Cloud and Azure. Microsoft Partner Success Stories.
  6. Кальченко, И. (2021). Преимущества Hybrid Data Lake. Как сочетать Data Warehouse с Data Lake. Dou.ua.
  7. Oracle. (2025). Autonomous AI Database Data Studio. Oracle Documentation.
  8. Harby, A. A., & Zulkernine, F. (2024). From data warehouse to lakehouse: A comparative review. In Proceedings of CIDR.
  9. Singdata. (2025). NinjaVan’s Journey from Traditional Spark to Singdata Lakehouse. Singdata Customer Stories.
  10. 36Kr. (2026). Top 7 Predictions for Data and AI in 2026.
  11. Thoughtworks. (2026). The state of data mesh in 2026: From hype to hard-won maturity.
  12. IBM. (2026). The biggest data trends for 2026.
  13. DWHPro. (2026). The Medallion Architecture Is Not New. We Just Called It Something Else.
  14. ClickHouse. (2025). Top 5 cloud data warehouses in 2026: Architecture, cost, and open-source.
  15. Lark. (2026). Cloud Database Management Systems: The Complete Guide.
  16. Gartner. (2026). Data Lake, Lakehouse, Warehouse: How to Choose?
  17. Conduktor. (2026). Data Mesh Principles and Implementation.
  18. AllegroGraph. (2026). Data in 2026: Interchangeable Models, Clouds, and Specialization.
 

AI-Ready платформа Data Lakehouse ELT PostgreSQL гибридное хранилище данных корпоративная информационная система медальон-архитектура практика теория

Предыдущая статьяОбщая концепция анализа модели предоставления прав в информационной системе

Рубрики

Метки

abc abcd AI-Ready платформа Data Lakehouse ELT excel ms sql pandas PostgreSQL Python sql tessa VBA xyz анализ виртуальный помощник гибридное хранилище данных данные знания информационная система информация искусственный интеллект кластерный анализ комбинаторика компетенции корпоративная информационная система маркетинг математика медальон-архитектура модель предоставления прав мудрость о проекте оптимизация ошибка практика программное обеспечение пэст ролевая модель теория теория вероятностей тесса тест юмор языки программирования

Политика конфиденциальности

Продолжая использовать данный сайт вы подтверждаете свое согласие с условиями его политики конфиденциальности. Подробнее…




Администрация и владельцы данного информационного ресурса не несут ответственности за возможные последствия, связанные с использованием информации, размещенной на нем.


Все права защищены. При копировании материалов сайта обязательно указывать ссылку на © Microsegment.ru (2020-2026)