每个ID分区技术的Google BigQuery

Ale*_*x T 0 google-bigquery

我有BigQuery表与时间序列财务数据(价格,数量和其他东西):

ts:TIMESTAMP,
asset_id:INTEGER,
metric1:INTEGER,
metric2:INTEGER,
...
metricN:FLOAT
Run Code Online (Sandbox Code Playgroud)

id 是Postgres数据库中的外部ID.

最常见和最常见的查询是过滤id.例如:

SELECT ts, metric1, metric2 WHERE id = 12;
Run Code Online (Sandbox Code Playgroud)

是否有通过对数据进行分区的好方法timestamp,并id在同一时间?


我正在考虑创建每个id表(gc_project_name.per_id_dataset.{asset_id})并查询它们以获得更好的性价比.

哪些问题会导致这种方法?我们有~5k ids,10-20k就足够多年了.

小智 5

对于短期,您可以创建每个id日分区表,并使用通配符表执行查询.

从长远来看,我们将提供两级分区机制,敬请期待!