ซีรีส์ย้ายระบบ

BigQuery to ClickHouse

The dashboard BigQuery cannot serve.

Three hours: export a BigQuery public dataset, query it in place from object storage, then take the schema BigQuery hands you and beat it three times over -- on compressed bytes, on rows read for a lookup, and on a per-minute conversion funnel no sort key can rescue.

3 hoursIntermediate9 modules
BigQueryClickPipesMaterialized ViewsMigration

What you will do

9 modules, in order

  1. 00

    Create a free ClickHouse Cloud account and service and confirm SQL console access -- nothing else to install.

  2. 01

    The same question asked of BigQuery and, later, of ClickHouse -- two pre-measured answers, no explanation yet, and a straight statement of where BigQuery genuinely wins.

  3. 02

    Read the GA4 export directly out of object storage with no ingestion at all, and feel why that is not how you want to run a dashboard.

  4. 03

    Let ClickHouse infer BigQuery's own export schema, ingest it unchanged, and see a working, unremarkable migration.

  5. 04

    Five concrete changes to the naive schema, run one at a time, each with the compressed-byte count that proves whether it helped.

  6. 05

    One column choice, made concrete with real DDL, that turns a lookup reading almost the whole table into one reading two granules -- measured server-side, not on the console's clock.

  7. 06

    A dashboard that groups every row in its window, not one user's history. No sort key rescues it -- the fix is an incremental materialized view with no BigQuery equivalent, built here with real DDL.

  8. 07

    Use the SQL console's built-in agent against the schema you designed, and see why the answers are only as good as the columns you gave it to reason about.

  9. 08

    Why migrate at all, backed by ClickHouse's own published cost-performance benchmark rather than this workshop's sample dataset, then what changes between a one-off bucket load and a real pipeline, and where to send your own schema for a real answer.

TH