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."
— Head of Data, MarketHub