BigQuery-DataWarehouse的维度表设计?

时间:2018-09-05 21:51:43

标签: google-bigquery bigtable google-cloud-bigtable

在设计Big Query表时,如我所见,它在维护历史数据时很有用,而且不适用于涉及单个记录更新的用例。

鉴于上述情况,在维度和事实范式中的Big Query中维护维度表的效果如何?我会考虑仅在定期定期刷新维度数据的情况下在Big Query中维护Dimension和Fact模型,因为Dimension表不能包含重复键,并且Big Query不用于记录级更新。

我还能在这些行上完成维表吗?我只能想到Big表是否要维护Dimension表。

2 个答案:

答案 0 :(得分:2)

根据“事实”和“维度”表中“事实”和“维度”的大小以及如何将两者关联起来,Bigtable也可能是一个很好的解决方案。

鉴于Bigtable非常适合点写入和批量提取,因此您可能会发现在“事实”表中维护非常细粒度的数据很容易做到,并且可以在应用程序级别快速进行交互。 / p>

  • 例如,如果您专注于零售,则“事实”表可以将Bigtable表用于客户购买的历史日志,其中的行包含有关从客户购买的信息。

根据“维度”表的大小,它也可能适用于Bigtable,尤其是在需要快速更新点的情况下。

  • 再次拉动零售,您的“维度”表可能是一个Bigtable表,其中包含存货的空房情况,描述了存在多少种类型的商品。

一个重要的警告是Bigtable不支持二级索引:查询中没有办法在这两个Bigtable表之间进行联接,您需要在应用程序端减小值。

有关更多信息,请参见Bigtable文档!

答案 1 :(得分:0)

对于BigQuery,better用于保持数据非规范化。由于它是列式存储,因此在使用大量数据时不会影响性能。在这里,您可以查看BigQuery中的managing数据。