Tinkoff: real-time fraud detection через ClickHouse + Materialized Views
seniorФинтех50 минСистемный дизайн
Ситуация: T-Bank обрабатывает миллионы транзакций/день. Нужно real-time fraud scoring: при каждой транзакции — проверить аномалии (velocity, geo, amount), вернуть risk_score <100ms. Стек: ClickHouse + Dictionary.
Tinkoff Tech blog описывает похожий паттерн. Real-time fraud detection — критичная задача для платёжного процессинга. Latency должна быть <100ms (включая network). ClickHouse — main analytics-storage.
Доступные данные
transactions: tx_id, user_id, tx_time, amount, merchant, country, ip
~50M transactions/day
user_profile (~50M юзеров) обновляется из MySQL CDC
fraud_labels (historical) для ML training
Latency target: P99 < 100ms
Задачи
Dictionary для user-info: account_age, kyc_level, trust_score (refresh каждые 30 мин)
SummingMergeTree для running per-hour aggregates (tx_count, sum_amount по user_id)
MV для auto-update aggregates при INSERT в transactions