System Design Space
Граф знанийНастройки

Обновлено: 13 марта 2026 г. в 15:30

Feature Store & Model Serving

hard

Классическая задача: как спроектировать связку Feature Store и Model Serving для ML-платформы с online/offline parity, point-in-time корректностью и контролем training-serving skew.

Эта глава из темы 3 фокусируется на AI/ML workflows, feature pipelines и rollout-контуры. Здесь важно не только предложить рабочую схему, но и показать, как она ведёт себя при росте нагрузки и сбоях.

Используйте структуру разбора: требования -> архитектура -> критический deep dive -> эволюция. Такой подход делает решение прозрачным и интервью-устойчивым.

Offline/Online Parity

Контролируйте консистентность фичей и схему данных между training и serving слоями.

Rollout Safety

Canary, shadow, rollback и drift-alerting должны быть частью базовой архитектуры.

Data Quality

Нужны guardrails для freshness, lineage и предотвращения training-serving skew.

Platform Efficiency

Оптимизируйте стоимость pipelines, feature storage и inference latency.

Playbook прохождения кейса

1

Определите feature contract

Фаза 1

Согласуйте схему и семантику фичей между offline и online контурами.

2

Постройте rollout-политику

Фаза 2

Опишите canary/shadow/rollback и мониторинг качества модели.

3

Закройте data quality риски

Фаза 3

Добавьте проверки freshness, lineage и drift/скос распределений.

4

Оптимизируйте стоимость

Фаза 4

Покажите баланс между SLA инференса и ценой feature/model pipelines.

Контекст

Machine Learning System Design

Базовый обзор архитектуры ML-систем: после него проще аргументировать решения по Feature Store на интервью.

Открыть главу

Design a Feature Store - это классическая ML System Design задача. Интервьюер ждёт, что вы покажете, как обеспечить parity между training и inference, как контролировать freshness и что произойдёт при деградации online serving пути.

Границы скоупа главы

Покрываем в этой главе

  • Feature contracts и data plane: registry, offline/online stores, materialization и retrieval API.
  • Контроль online/offline parity, point-in-time корректности и training-serving skew.
  • Надёжность inference feature path: latency/freshness SLA, fallback и operational guardrails.

Что не покрываем

  • Оркестрация обучения, выбор модели и управление experiment lifecycle.
  • Release governance на уровне model registry: approval policy, canary/shadow rollout и rollback решений.
  • Сквозной retraining loop, drift-driven release cadence и ownership всей ML delivery цепочки.

Сквозной lifecycle и release governance разобраны в ML Ops Pipeline.

Problem & Context

Продукт запускает несколько ML-сценариев (персонализация, антифрод, риск-скоринг), но команды считают фичи в разных пайплайнах и получают несогласованные данные между обучением и продом. Нужно спроектировать Feature Store как платформенный слой с едиными контрактами и понятными SLA.

Functional requirements

  • Единый реестр фичей: owner, schema, entity keys, source-of-truth и версия трансформации.
  • Offline retrieval для train/validation с point-in-time корректностью без data leakage.
  • Online retrieval для inference с низкой задержкой и предсказуемым API-контрактом.
  • Materialization из batch/stream пайплайнов в online store с контролем freshness.
  • Backfill и переигрывание истории при изменении feature logic без ручных ad-hoc скриптов.

Non-functional requirements

  • Online read latency: p95 < 30 ms. Иначе Feature Store становится bottleneck для user-facing inference path.
  • Availability: 99.95%+. Недоступность online store блокирует модели в критичном продуктовой цепочке.
  • Freshness SLA: <= 5 минут для hot features. Старые фичи быстро ухудшают качество ранжирования/рекомендаций/антифрода.
  • Skew detection: 0 критичных skew без алерта. Training-serving skew должен выявляться до пользовательской деградации.

Scale & Capacity assumptions

Inference traffic

40k-120k RPS

Пиковая нагрузка в online store при recommendation/fraud сценариях.

Feature vectors

50-300 features/request

Требуется батчевый fetch по ключу сущности и эффективная сериализация.

Entity cardinality

100M+ users/devices/items

Большая кардинальность влияет на shard strategy и размер online индекса.

Streaming ingress

1M-3M events/s

Нужны backpressure controls и идемпотентная materialization логика.

Daily offline snapshots

2-8 TB/day

Backfill и point-in-time joins требуют продуманной partition/layout политики.

Связанная глава

ETL/ELT Architecture

Feature Store опирается на зрелые batch/stream pipelines и устойчивую orchestration-модель.

Открыть главу

Architecture

В архитектуре Feature Store важно явно разделить ingest-контур, offline контур для обучения и online контур для inference. Так проще контролировать training-serving skew и выдерживать SLA.

Feature Store Architecture

Подсветите контур: ingestion, offline, online или observability

Event Sources

Продуктовые события, CRM, billing, клики, логи

Batch ETL/ELT

Ежедневные/почасовые пайплайны и backfill

Stream Processing

Near real-time трансформации с watermark

Offline Store

Исторические snapshots для train/validation

Feature Registry

Схемы, owners, versions, SLA, lineage

Materialization Service

Upsert в online store, dedup и conflict policy

Online Store

Низколатентный key-value для inference

Serving SDK / Gateway

Стабильный API-контракт для моделей

Skew checks
Freshness SLA
Null-rate alerts

SLA

Latency budget: p95 < 30msFreshness budget: <= 5m (hot features)Replay window: 30-90 days

Layer responsibilities

Feature Registry

Каталог фичей с schema/versioning, owner, SLA, lineage и статусом готовности для production.

Ingestion & Transform

Batch ETL/ELT + stream processing. Логика расчёта фичей оформлена как переиспользуемые transformation contracts.

Offline Store

Хранение исторических фичей для обучения, replay и reproducible training datasets.

Online Store

Низколатентное key-value чтение для inference. Поддерживает TTL, частичную инвалидацию и hot-key защиту.

Materialization Service

Доставляет рассчитанные фичи в online store, контролирует watermark, late events и exactly-once semantics (где возможно).

Serving SDK / Gateway

Единый API для feature fetch, который фиксирует request schema и защищает клиентов от внутренних изменений.

Quality & Observability

Метрики freshness, availability, skew, null-rate, latency; алерты и дашборды по бизнес-критичным фичам.

Feature contract strategy

Фиксируйте в registry entity key, трансформацию, TTL, freshness SLA и ответственного owner. Это снижает риск hidden skew при обновлениях и упрощает rollback, если модель деградирует.

Deep dives

Point-in-time correctness

Training dataset должен включать только те значения фичей, которые были известны на момент события. Это требует event-time joins и жёстких time travel правил.

Materialization consistency

Batch и stream контуры могут пересекаться. Нужны idempotent upserts, дедупликация и политика разрешения конфликтов по времени/версии.

Training-serving skew control

Сравнивайте распределения фичей между offline train snapshots и online production трафиком; фиксируйте skew budget и авто-rollback при превышении.

Online degradation plan

При сбоях Feature Store сервис inference должен уметь переходить в fallback: cached features, reduced feature set или rule-based baseline.

Trade-offs

Сильная нормализация feature definitions уменьшает дублирование, но замедляет скорость локальных экспериментов команд.

Streaming-first улучшает freshness, но заметно повышает операционную сложность и стоимость on-call поддержки.

Единый global Feature Store упрощает governance, но увеличивает blast radius при ошибках materialization.

Aggressive TTL для online store снижает stale risk, но повышает вычислительную нагрузку и churn в кэше.

Рекомендации

  • Начинайте с ограниченного набора high-impact фичей и формализованного owner-моделя на каждую фичу.
  • Версионируйте transformations как код и делайте обязательные schema/skew проверки в CI/CD.
  • Декомпозируйте SLA на ingest, materialization и online read, чтобы быстро локализовать деградацию.
  • Проектируйте fallback path до production rollout, а не после первого инцидента.

Частые ошибки

  • Feature logic дублируется в ноутбуках и прод-коде без общего registry и versioning.
  • Training snapshots собираются без point-in-time правил и дают скрытый data leakage.
  • Online store обновляется без мониторинга freshness/skew, из-за чего деградация заметна только на бизнес-метриках.
  • Команда запускает модель без fail-open/fail-safe стратегии при недоступности Feature Store.

References

  • Feast documentation - Практический open-source reference по registry, offline/online stores и materialization jobs.
  • Hopsworks Feature Store docs - Подход к feature groups, training datasets и online serving в единой платформе.
  • Tecton docs - Production-паттерны feature engineering, realtime transformations и feature serving.
  • Google Cloud MLOps architecture guide - Системный взгляд на ML delivery pipelines и эксплуатационные контуры.

Связанные главы

Чтобы отмечать прохождение, включи трекинг в Настройки

System Design Space

© 2026 Александр Поломодов