Содержание
VK Tech опубликовала детали реализации своей Data Lakehouse-платформы. Это помогает оценить, как именно отечественное решение справляется с хранением разнородных данных, потоковой обработкой и одновременной работой нескольких вычислительных движков без дублирования информации. Для инженеров важно понять, какие компоненты обеспечивают ACID-транзакции, Time Travel и федеративные запросы, а также какие ограничения появятся при переносе нагрузок из пилотных контуров в промышленную эксплуатацию. Платформа построена вокруг единого слоя данных, что позволяет избежать копирования при переходе между аналитикой, потоковой обработкой и машинным обучением. При принятии решения о внедрении стоит учитывать зрелость компонентов, наличие экспертизы внутри команды и совместимость с уже используемыми корпоративными системами.
Как устроен приём данных и управление метаданными
Платформа принимает события через Managed Kafka, который выступает буфером между источниками и дальнейшей обработкой. Потоки от приложений, сайтов и IoT-устройств попадают в Kafka, после чего их можно сразу направить в Managed ClickHouse для near real-time витрин или передать в хранилище для пакетной обработки. Такой подход снижает задержку при построении оперативных дашбордов, но требует отдельной настройки потребителей, чтобы избежать дублирования сообщений при сбоях. Kafka здесь обеспечивает надёжную доставку и возможность масштабирования при росте объёмов событий, однако в промышленной эксплуатации важно заранее оценить затраты на мониторинг очередей и обработку ошибок.
Управление метаданными Iceberg-таблиц отдано CedrusData Catalog. Каталог координирует доступ разных движков к одним и тем же таблицам, отслеживает снимки и обеспечивает согласованность при параллельных записях. Без него одновременная работа Spark, Trino и ClickHouse на одном слое данных быстро приводит к конфликтам и потере видимости свежих файлов. В российских условиях это особенно заметно при интеграции с уже существующими корпоративными каталогами: придётся настраивать синхронизацию прав и схем, чтобы не нарушить внутренние регламенты по защите информации. При выборе платформы стоит проверить, насколько CedrusData Catalog способен работать с текущими системами учёта пользователей и ролей, иначе интеграция может потребовать дополнительных ресурсов на этапе пилота.
Хранение и формат данных
В основе лежит VK Object Storage, способный масштабироваться до тысяч петабайт с пропускной способностью более 450 Гб/с. Данные записываются в Parquet, что даёт до десятикратное сжатие по сравнению с CSV и позволяет читать только нужные колонки при аналитических запросах. Поверх Parquet используется Apache Iceberg, который добавляет ACID-транзакции, откат к предыдущим версиям и эволюцию схемы без перезаписи файлов. ACID-транзакции гарантируют атомарность операций, согласованность данных, изолированность параллельных процессов и долговечность изменений. Time Travel даёт возможность обращаться к историческим снимкам таблиц, что полезно при аудите или исправлении ошибок. Data Pruning автоматически отсекает ненужные файлы при запросах, ускоряя выполнение.
Такой стек позволяет нескольким командам работать с единым слоем без копирования данных. Однако при переносе в закрытый контур нужно учитывать, что Object Storage должен поддерживать S3-совместимый API с нужным уровнем шифрования и аудита. Если компания уже использует другое S3-хранилище, придётся проверять совместимость Iceberg-метаданных и политик доступа, иначе часть преимуществ Data Pruning и Time Travel окажется недоступной. Для принятия решения важно понять, готово ли текущее хранилище обеспечить требуемый уровень отказоустойчивости и пропускной способности без дополнительных затрат на доработку.
Вычислительные движки и сценарии использования
Платформа предлагает четыре основных движка. Managed ClickHouse подходит для интерактивных дашбордов и горячих витрин с субсекундным откликом. Managed Trino берёт сложные запросы с множественными JOIN и федеративный доступ к внешним источникам. Managed Spark закрывает тяжёлые ETL-пайплайны, обслуживание Iceberg-таблиц и ML-задачи. CedrusData Engine даёт прирост 2-5 раз по сравнению с базовым Trino за счёт оптимизированных коннекторов.
Выбор движка определяется профилем нагрузки. Для повторяемых агрегатов выгоднее ClickHouse, а для ad-hoc-анализа и BI — Trino или CedrusData. При этом все движки читают одни и те же Iceberg-таблицы, что упрощает поддержку. В российских компаниях часто уже есть экспертиза по ClickHouse и Spark, поэтому внедрение платформы может пройти быстрее, чем при переходе на полностью новый стек. Нужно лишь убедиться, что Managed-версии поддерживают требуемые версии и патчи безопасности. При оценке стоит учитывать, что наличие внутренней экспертизы снижает риски, но требует проверки соответствия управляемых сервисов внутренним стандартам обновлений и мониторинга.
Безопасность и управление в российском контуре
Безопасность встроена на всех уровнях: контроль доступа, шифрование и аудит запросов. Централизованное управление выполняется через UI/API и Helm-операторы, что упрощает развёртывание в закрытых сетях. Платформа позволяет вести единый слой данных для аналитиков, Data Science и ML-команд без нарушения требований по защите информации.
При внедрении в российских компаниях важно проверить совместимость с существующими системами разграничения доступа и журналами событий. Если уже используются отечественные СУБД или системы аудита, потребуется интеграция через API. Это добавляет работы на этапе пилота, но в итоге снижает риски при прохождении проверок и аттестаций. Для итогового решения необходимо оценить объём предстоящих интеграций и наличие ресурсов на их выполнение.
Источник
Это краткий разбор материала VK. Полная версия с примерами кода, схемами и деталями реализации — в оригинале: Архитектура VK Data Platform для Lakehouse.
Курс по теме — Построение DWH на ClickHouse


