Statist в DLH: что изменил один датасет
Statist — один из ключевых источников событийных данных, на которых строится аналитика и продуктовые решения. Через него проходят сотни миллиардов событий и запросы сотен пользователей ежедневно, поэтому его миграция в DLH стала приоритетной: от стабильности и производительности этого датасета зависит работа многих команд.
В DLH производительность зависит от устройства общего табличного слоя. В случае Statist в работу одновременно включились S3, ingest, организация Iceberg-таблицы и вычислительные движки.
На момент переноса объем этого event log'а превышал 300 ТБ. При этом исходная инфраструктура была рассчитана на существенно меньшие объемы данных, что потребовало пересмотра подходов к хранению и обработке. Для его размещения расширили возможности S3-инфраструктуры. Для поставки разработали дедупликацию с иерархией bloom-фильтров, которая исключает дублирующиеся данные. Пользовательские запросы изначально работали медленно, поэтому команда проанализировала типовые фильтры, пересортировала историю и применила Z-order по наиболее востребованным колонкам. Это позволило существенно сократить объем сканируемых данных: например, один из запросов ускорился с получаса до четырех секунд.
Такие крупные датасеты сами по себе становятся драйвером изменений инфраструктуры: из‑за объема и нагрузки вскрываются узкие места в хранении, поставке и чтении данных. При работе со Statist приходилось решать проблемы с масштабированием S3, оптимизацией ingest-пайплайнов, дедупликацией на больших объемах и эффективной организацией файлов для ускорения запросов. Именно за счет количества и сложности этих задач инфраструктура эволюционирует и приобретает большую устойчивость и предсказуемость.