Výzva
MarketHub (názov zmenený) je obojstranný marketplace spájajúci poskytovateľov služieb so zákazníkmi. S 2M mesačne aktívnymi používateľmi a 500M udalosťami mesačne ich náklady na BigQuery špirálovito rástli a výkon dotazov sa zhoršoval.
Kľúčové problémy
- Pomalé dashboardy: Executive dashboardy trvali 30+ sekúnd na načítanie
- Vysoké náklady: BigQuery on-demand pricing dosiahol $15K/mesiac
- Limitovaný real-time: Streaming inserts pridávali latenciu a náklady
- Bottleneck analytikov: Komplexné dotazy vyžadovali zásah dátového tímu
Riešenie
Migrovali sme ich analytický warehouse z BigQuery na ClickHouse Cloud, používajúc Jitsu pre ingestion udalostí.
Prehľad architektúry
- Jitsu: Zber udalostí z webu, mobilu a backend služieb
- ClickHouse Cloud: Primárny analytický warehouse
- dbt: Dátové transformácie a modelovanie
- Metabase: Samoobslužné dashboardy pre všetky tímy
Proces implementácie
Týždeň 1-2: Návrh schémy
Prepracovali sme ich dátový model pre stĺpcové úložisko ClickHouse. Zahŕňalo to výber optimálnych partition keys, sorting keys a compression codecov pre každý typ tabuľky.
Týždeň 3-4: Migrácia pipeline
Nasadili sme Jitsu na nahradenie ich vlastného Kafka-to-BigQuery pipeline. Vstavaná schéma inference a ClickHouse konektor Jitsu významne zjednodušili architektúru.
Týždeň 5-6: Historický backfill
Spätne sme naplnili 18 mesiacov historických dát z BigQuery do ClickHouse pomocou paralelných batch exportov. Integrita dát bola validovaná pri každom kroku.
Týždeň 7-8: Migrácia dashboardov
Prepísali sme SQL dotazy pre syntax ClickHouse a prebudovali dashboardy v Metabase. Väčšina dotazov bola 10-50x rýchlejšia bez optimalizácie.
Technické detaily
Návrh tabuliek: Pre ich hlavnú tabuľku udalostí (200M riadkov/mesiac) sme použili: Partition by: toYYYYMM(event_time), Order by: (user_id, event_time), Compression: LZ4 pre real-time, ZSTD pre historické.
Optimalizácia dotazov: Bežné agregačné dotazy, ktoré trvali 30 sekúnd v BigQuery, teraz bežia pod 1 sekundu. Vytvorili sme materializované views pre najdrahšie agregácie.
Štruktúra nákladov: Cenník ClickHouse Cloud (compute + storage) vs. scan-based cenník BigQuery viedol k predvídateľným, nižším nákladom pri ich objeme dotazov.
Výsledky
- 10x rýchlejšie dotazy: P95 čas načítania dashboardu z 30s na 3s
- 65% zníženie nákladov: Z $15K na $5K mesačne
- Real-time analytika: Pod-sekundová freshness dát s Jitsu streamingom
- Samoobslužná analýza: Biznis tímy teraz môžu spúšťať vlastné dotazy
„Platili sme BigQuery za skenovanie tých istých dát znova a znova. Stĺpcové úložisko ClickHouse a správne indexovanie znamená, že dostávame odpovede v sekundách, nie minútach. Samotná úspora nákladov ospravedlnila migráciu."