星型模式水平缩放

Star Schema horizontal scaling

AFAIK,对于 MPP 硬件上的关系数据库,性能的关键是正确的数据分布。虽然维度建模是关于查询灵活性的,但您甚至不知道将来数据将如何查询(打乱)。

例如,您有 MPP 数据仓库(Greenplum、Redshift、Synapse Analytics)。例如,在 1-2 年内,您预计事实 table 将增长到 100 亿行,并且您将拥有 15-30 个维度 table 的 1000 万行。 数据应该如何跨 DW 节点分布?有什么共同的技术吗? 比如分片事实 table 和复制维度 tables。或者我应该尽量减少 MPP DW 中的节点数量?

我可以提出具体的用例,但我认为问题源于我对维度建模如何与横向扩展相结合的误解。

我看到过去成功应用的一项技术是:分割事实 table(例如,通过 mod'ing 日期键),并在所有节点上分布所有维度.这样所有连接都可以在本地完成。

请注意,即使维度很大,它们在磁盘上的总大小也应该是事实 table 所需总大小的一小部分。