我们知道 Snowflake 是一个压缩的列式存储数据库,并且经过调整可以使用 MPP 和自动缩放运行查询。我们还知道,为了创建数据集市和 DW,Kimball 和维度建模(星型模式)已经在市场和实践中使用了几十年。这是成功的,因为我们曾经为我们的 DW 拥有大量的 Row 存储 DB。
所以这里的问题是在 Snowflake 中创建数据集市和 DW,我们必须遵循 Kimball 吗?它是否为性能增加了任何价值,事实上我读到它增加了已经调整为处理列压缩数据的引擎的开销?我们是否仍然需要对列使用代理键并强制创建 Facts 和 Dimensions 以及星型模式,我们可以在其中简单地加入平面非规范化表以获得相似或更好的性能?
从建模的最佳实践的角度来看,像 Snowflake 这样的超级数据库推荐什么?Kimball 是必须拥有还是多余,因为它违背了柱状存储优势的目的?
我认为 SAP HANA / Redshift / Big Query 甚至 Azure SQL Datawarehouse,没有人推荐这个,我在任何地方都找不到推荐使用 Kimball 或星型模式的单行。很少有人提到“它也适用于星型模式”,这并不意味着必须使用星型模式?