我们正在将现有的数据仓库从Netezza转移到Bigquery。在netezza中,我们拥有的数据模型是星型模式。即使bigquery支持星型模式,它也建议我们对表进行规范化处理,以避免产生更多费用。
我们有一些较大的维度(按行和列),每天都会刷新(SCD1类型),所以最好对这些维度进行非规范化或保持原样更好?
如果要进行非规范化,则需要确保所有历史记录每天都在所有事实表上更新这些维度。
此外,其中一些维度是一致的维度。
这里有什么更好的方法?
答案 0 :(得分:1)
一般来说,对于任何大规模的迁徙,都不要一次追逐两只兔子。保持一件事不变,将使您的迁移不再麻烦。如果我不得不说出关于迁移的3个最重要的事情,它们将是:奇偶校验,奇偶校验,奇偶校验。
在您的情况下:
保持模式固定并迁移数据和逻辑。除非您是世界上最幸运的人之一,否则使用不同的SQL方言迁移到DWH时将面临足够的问题。首先使您的查询/视图/ ETL /报告逻辑与传统系统相同。
在BigQuery上一切正常运行之后。尝试根据性能基准进行非规范化。这实际上取决于您更新事实表的频率或频率。如果您每天必须刷新过去2年的数据,这没有任何意义。您必须根据自己的数据和要求探索许多中间立场。