// data & ai · giornale tecnico MILANO ● LIVE 00:00:00

ClickHouse per i dati storici di mercato: 16 miliardi di righe a 1,88 dollari al mese

ClickHouse carica miliardi di tick record di Binance, comprime i dati di trade e quote 19 volte e gestisce VWAP, candele OHLC e as-of join con SQL standard.

Nei financial services i sistemi di market data si dividono di solito in due livelli: quello real-time, che serve il flusso live con latenze da microsecondi, e quello storico, l’archivio di ogni giornata passata usato per research, backtesting, transaction-cost analysis e ricostruzione regolatoria. Il tier storico è anche il posto più a basso rischio per provare un nuovo database, perché non tocca il percorso di trading live. In un post tecnico, Mark Needham di ClickHouse carica i tick data reali dall’archivio pubblico di Binance e mostra come ClickHouse li archivi a basso costo e li interroghi con SQL standard.

Storage columnar e compressione 19x

ClickHouse memorizza i dati per colonne, applicando codec specifici: dictionary encoding per le colonne a bassa cardinalità, delta encoding per i timestamp che crescono a passi regolari, run-length encoding per i valori ripetuti, oltre a compressori generici come ZSTD e LZ4. I tick data si comprimono particolarmente bene perché hanno esattamente queste proprietà: timestamp monotoni, prezzi che si muovono lentamente, simboli che si ripetono milioni di volte. Nel test con un mese di perpetual futures su cinque coppie (BTC, ETH, SOL, BNB, XRP), i circa 373 milioni di trade vengono ingeriti in poco più di 80 secondi e i quasi 2 miliardi di quote in circa 8 minuti. Il dato passa da 191 GiB di CSV grezzi a 10 GiB su disco, una riduzione di 19 volte.

Analisi in SQL puro, indice primario che salta i dati

Tutte le operazioni tipiche di un trading desk sono semplici query SQL: VWAP, candele OHLC e as-of join. L’esempio più interessante usa un ASOF JOIN per abbinare ogni trade alla quota più recente e misurare lo slippage: in una finestra di 15 secondi del 16 gennaio 2024, con il prezzo di Bitcoin in caduta, lo slippage medio schizza a 13,05 dollari, 260 volte la baseline, per poi rientrare quando i buyer tornano. Scalando a 10 mesi di dati (da maggio 2023 a marzo 2024) su ClickHouse Cloud, si arriva a 16,2 miliardi di righe compresse in 76 GiB, sempre con una riduzione di circa 19 volte, per un costo di 1,88 dollari al mese. Le query mantengono la stessa latency perché l’indice primario ordinato per (symbol, ts) filtra via la quasi totalità dei dati: nella JOIN ASOF il motore legge solo 4 dei 383.083 granuli della tabella trades.

  • I codec di ClickHouse sono tarati sulla struttura dei tick data: timestamp ordinati, prezzi a deriva lenta, simboli a bassa cardinalità.
  • Le analisi restano SQL standard, senza linguaggi specialistici e senza colli di bottiglia sul personale.
  • Su dataset da miliardi di righe l’indice primario per (symbol, ts) mantiene la latency delle query sul workload tipico “questo simbolo, in questo intervallo”.

Fonte: Replacing the HDB: ClickHouse for historical ticker data — https://clickhouse.com/blog/historical-ticker-data

Condividi X Facebook LinkedIn WhatsApp Email

// scritto da

Fernando

Hai qualcosa da aggiungere? Unisciti alla discussione.

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Altri dell'autore

dalla stessa firma