Доклад

Контракты данных: когда схема становится договором

Мы расскажем о data contracts как о практическом способе договориться между командами о данных. Часто контракт воспринимают как схему события или документ, но на масштабе этого уже недостаточно. Мы покажем паттерн, в котором контракт становится частью delivery-процесса: его проверяют, ревьюят, версионируют и используют для автоматической доставки данных. Такой контракт описывает не только поля и типы, но и смысл данных, владельца, правила совместимости, metadata и ожидания от downstream-потребителей.

Сначала разберем, какие проблемы возникают без такого подхода: ручной onboarding, schema drift, breaking changes, потеря контекста и таблицы без понятного owner'а. Затем покажем общий процесс: команда создает PR со спецификацией, CI проверяет контракт, платформа генерирует нужные артефакты, запускает ingestion и обновляет каталог данных.

На примере Uzum покажем, как эта идея работает в production: из одного контракта появляются Avro-схема, Kafka ingestion, Bronze/Silver streaming, Iceberg-таблица, DLQ и lineage в OpenMetadata. Отдельно разберем, где подход оказался сложнее, чем выглядел на бумаге: schema evolution, nullable/default, вложенные структуры, type mapping и границы автогенерации. Поговорим и про внедрение в команды: как объяснять ценность контрактов, вводить ownership, строить ревью и измерять эффект через time-to-data, lead time onboarding и число schema-mismatch incidents. В итоге слушатели уйдут не с рассказом про внутренний инструмент Uzum, а с понятным плейбуком, как использовать data contracts как основу управляемой доставки данных.

Спикеры

Доклады