Корпоративное хранилище данных под ключ - DWH на открытом стеке | WARP.D
WARP.D Lakehouse

Построение корпоративного хранилища данных

Хранилище, которое не превращается в болото: сырьё неприкосновенно, витрины переделываемы.

Почему большинство хранилищ не работают

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

Результат виден в каждой третьей компании: заброшенные хранилища, несогласованные метрики, отчёты, которым никто не верит, и аналитики, которые снова собирают цифры в Excel.

Что предлагаем

Мы называем эту архитектуру WARP.D Lakehouse. Три слоя, у каждого своё правило.

Raw - сырьё неприкосновенно

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

Stage - история не переписывается

Промежуточные формы, собранные аналитиками: широкие таблицы фактов с контекстом на момент события. Хранятся в неизменном виде - прошлое задним числом не редактируется.

Mart - витрины переделываемы

Витрина данных - слой для отчётов и дашбордов. Ошиблись в метрике, изменились требования - витрина пересобирается целиком из Stage, данные не рискуют ничем. Поверх витрин строится корпоративная отчётность и BI.

Схема источников меняется - хранилище адаптируется без ручных миграций. История изменений сущностей ведётся автоматически. Открытый стек без vendor lock-in: S3, Iceberg, Trino, ClickHouse.

Подход к моделированию выбираем на обследовании под вашу ситуацию: работаем и с классическими методологиями - Kimball, Data Vault, - если задача и команда говорят в их пользу.

Поток данных: Источники → Debezium/SeaTunnel (CDC) → S3/Iceberg (Raw) → Trino (Stage) → ClickHouse (Mart) → BI (Superset / Power BI / Metabase)

Про Data Mesh

Модель Lakehouse хорошо стыкуется с концепцией Data Mesh: домены данных и дата-продукты естественно ложатся на слои и витрины, и технически наша архитектура готовит компанию к такому переходу.

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

Готова ли ваша компания к доменам данных или правильнее укреплять текущую схему - разговор на консультации о дата-ландшафте. Ответ «пока рано» мы считаем нормальным результатом такого разговора.

Что это даёт

SCD Type 2 из коробки

Гранулярность факта - строка транзакции с денормализованным контекстом на момент события. Была «Канцелярия» - так и останется в фактах 2023 года, даже если в 2024 группу переименовали в «Офис». Отдельная dim-таблица для актуальной группировки подключается только если надо «посмотреть историю под сегодняшними глазами».

Schema evolution автоматически

Новое поле в источнике → коннектор видит изменение схемы → Iceberg добавляет колонку → Trino и ClickHouse подхватывают. Без ручных миграций, без простоев, без «переделки DWH на следующий квартал».

Витрины - disposable

Нужно пересчитать витрину под новые правила? Удалили в ClickHouse - перезалили из Stage. Никакого «страшно трогать, вдруг данные потеряем». Потерять нельзя - всё живёт в Iceberg.

Минимальный CDC-стек

Debezium и SeaTunnel для большинства источников. Обновляется только реально изменившееся - не «переливкой всего периода». История изменений доступна построчно на уровне Iceberg.

Чего это не делает

Real-time

Архитектура рассчитана на задержки от минут. Событиям, которым нужны секунды, - интеграционная шина данных.

Малый ландшафт

Если у вас две-три системы и их встроенной отчётности хватает, отдельное хранилище, скорее всего, не окупится. Мы говорим это прямо на обследовании.

Как начинаем

01
Обследование

Две линии: техническая - инвентаризация источников и оценка затрат; смысловая - сторителлинг с командами, которые данные порождают и используют. Результат - проектирование концептуальной схемы и документ на 15-25 страниц со сметой. Он остаётся вашей собственностью: с ним можно прийти к любому подрядчику, не только к нам. Стоимость обследования засчитывается в реализацию.

2-3 недели
02
Итеративная реализация

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

По плану из обследования
03
Сопровождение

Мониторинг, развитие витрин, адаптация к изменениям источников.

Минимум 6 месяцев
Обследование наполовину состоит из разговоров

Инвентаризация серверов и источников - только техническая часть. Вторая, не менее важная, - сторителлинг с командами: они рассказывают истории своих данных. Те, кто данные порождает, - как рождается сущность и что на самом деле означает каждое поле. Те, кто данными пользуется, - какие цели они преследуют, зачем им этот показатель и какой ответ они считают верным.

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

Почему сопровождение обязательно

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

Сценарии

Сценарий Источники Сроки
Небольшое корпоративное хранилище: минимальный трёхслойный стек, 1-2 витрины 2-3 1-2 месяца
DWH для холдинга: консолидированная отчётность, несколько витрин, CDC 5-15 4-6 месяцев
Миграция legacy DWH (Oracle, MS SQL, Teradata, Snowflake) на открытый стек по факту 5-7 месяцев
Enterprise-платформа: ML-готовность, многоуровневая агрегация, governance 15+ по запросу

Стоимость определяется после обследования.

Технологический стек

Apache IcebergTrinoClickHouseS3NessieDebeziumSeaTunnelApache AirflowdbtApache SupersetPower BIMetabasePostgreSQLMS SQL Server

Конкретный стек подбирается под задачу на этапе обследования.

Так мы думаем

Важные вопросы

Сколько стоит построить хранилище?

Смета появляется после обследования - оно занимает 2-3 недели, и его стоимость известна до старта и по ходу не меняется. Результат обследования остаётся вашей собственностью: документ на 15-25 страниц, с которым можно прийти к любому подрядчику. Стоимость обследования засчитывается в реализацию.

У нас уже есть хранилище, но ему не верят. Сносить или лечить?

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

Можно ли строить в нашем контуре, а не в облаке?

Да. Открытый стек ставится где угодно: ваше железо, ваше облако, гибрид, закрытый контур без доступа в интернет. Привязки к вендору или провайдеру не возникает - в этом половина смысла открытого стека.

Кому принадлежат код, модели и документация?

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

Что будет с текущими отчётами, пока строится хранилище?

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

Сколько времени потребуется от нашей команды?

Больше, чем принято думать, и время это в основном не техническое. Обследование включает сторителлинг с двумя группами людей: команды, которые данные порождают, рассказывают, как рождается сущность и что означает каждое поле; команды, которые данными пользуются, - какие цели преследуют, зачем им показатель и какой ответ считают верным. Это серия встреч, а не одна анкета: смысл показателя живёт у пользователя в голове, а не в структуре таблицы. Дальше нагрузка падает: приёмка на демонстрациях каждые две-три недели.

Придётся ли нанимать людей под сопровождение?

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

Мы присматривались к Data Vault. Вы возьмётесь?

Возьмёмся, если задача и команда говорят в его пользу - методологиями владеем и применяем их там, где они оправданы. Подход выбирается на обследовании, а не по нашим вкусам.

Требования у нас меняются постоянно. Проект не устареет к финалу?

Под это архитектура и построена: сырые данные неприкосновенны, витрины пересобираются. Изменились вопросы бизнеса - меняются витрины, а данные ничем не рискуют. Реализация идёт спринтами по две-три недели, курс корректируется на каждой демонстрации.

Мы хотим внедрять ИИ. При чём здесь хранилище?

ИИ работает ровно настолько, насколько в порядке данные под ним. Lakehouse с полным неизменным сырьём - готовая основа для ML-задач. Подробнее - в нашем разборе «Вам продают ИИ. Покупать нужно не его».

Не знаете, что именно вам нужно?

Расскажите о задаче - мы предложим подходящий формат.

Связаться