【问题标题】:Star Schema horizontal scalingStar Schema 水平缩放
【发布时间】:2019-12-29 20:48:22
【问题描述】:

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

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

我可以带来具体的用例,但我认为问题源于我对维度建模如何与横向扩展配对的误解。

【问题讨论】:

  • 您的用例是否与将所有维度数据移动到事实表中“兼容”?并且只有一张宽桌子?对于 redhsift 上的某些用例,这可能是最有效的方法。
  • @JonScott 我认为没有,因为 a) 维度的数量非常大,事实表的数量会显着增长 b) 我有 SCD 类型 2 c) 我将来会有多个事实表,并且想要有一致的尺寸,不知道如何用平板来实现这一点
  • 理论上我这道题的练习还不够)

标签: amazon-redshift rdbms data-warehouse dimensional-modeling star-schema


【解决方案1】:

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

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

【讨论】:

  • 感谢您的回答!当你添加新节点时你做了什么?你的仓库是否支持一些一致的散列和自动重新分段?还是手动完成的?
  • 这是手动完成的,iirc。但是根据您选择的数据库,您可能有工具可以自动执行此操作。
猜你喜欢
  • 2015-09-20
  • 2016-04-22
  • 1970-01-01
  • 1970-01-01
  • 2019-01-21
  • 1970-01-01
  • 2015-05-11
  • 1970-01-01
  • 2013-03-23
相关资源
最近更新 更多