【问题标题】:Bigquery : Star schema or DenormalizedBigquery:星型模式或非规范化
【发布时间】:2019-11-18 06:44:38
【问题描述】:
我们正在将现有的数据仓库从 Netezza 迁移到 BigQuery。在 Netezza 中,我们拥有的数据模型是星型模式。尽管 BigQuery 支持星型模式,但它建议我们对表进行非规范化以避免产生更多成本。
我们有一些每天都会刷新的大维度(就行和列而言)(Slowly changing dimension Type 1)。
我们对这些维度进行非规范化或保持原样会更好吗?
如果我们进行非规范化,我们需要确保所有历史记录的所有事实表上的这些维度每天都更新。
此外,其中一些维度是conformed dimensions。
这里有什么更好的方法?
【问题讨论】:
标签:
database-design
google-bigquery
【解决方案1】:
一般来说,对于任何大型迁徙,尽量不要一次追逐两只兔子。
如果您保持一件事不变,那么您的迁移就不会那么令人头疼了。如果我必须说出关于迁移最重要的 3 件事,它们将是:Parity、Parity 和 Parity。
就你而言:
-
首先,保持架构固定并迁移数据和逻辑。
除非你是世界上最幸运的人之一,否则你会
迁移到具有不同 SQL 方言的 DWH 时面临足够的问题。
使您的查询/视图/ETL/报告逻辑与遗留系统相提并论
首先。
-
然后,一旦您在 BigQuery 上运行良好,尝试根据您的性能基准进行非规范化。
这实际上取决于您更新事实表的频率或频率。 例如,如果您每天刷新过去 2 年的数据是没有意义的。 您必须根据自己的数据和要求探索许多中间地带。 p>