data-warehouse - 为数据仓库设计一个关系船
问题描述
我将为 Northwind 数据库设计一个 DataWarehouse,但我的客户、产品和员工表有两个公共字段,称为国家和城市。想知道按照图表形式定义Geo维度与3个Other Dimensions的关系是否正确?如果您有任何意见,请分享
解决方案
这取决于您要实施的哲学。如果您遵循 Kimball,您需要一个星型模式,其中事实表连接到维度,而那些不连接到其他任何东西。在这种情况下,您最好将地理字段保留在每个维度中。
任何冗余都是没有意义的,因为通常所有维度组合的大小都比事实表小得多,可能是整个大小的几个百分点。
另一方面,在链中连接 3 个表比单个连接要昂贵得多。
以更多字节(或千字节或兆字节)为代价来节省 CPU 和查询时间计算通常是一个很好的折衷方案。
推荐阅读
- docker - Docker容器依赖
- azure-devops - Azure Devops 自定义电子邮件通知
- json - 如何将嵌套的 json 转换为 datafarme
- reactjs - 是否可以将 ag-grid 无限滚动与 react-redux 和钩子一起使用?
- javascript - 如果数字有差距,找到有差距的数字并不正确
- javascript - 使用带有 openlayers 的 javascript 导入
- oracle - 有没有办法从 PL/SQL 中的存储过程执行 robocopy cmd?
- pandas - 使用 pandas 加入多个软键和多个具有不同名称的硬键
- php - redirect() 将整个 URL 添加到根
- wpf - 将一个项目的数组加载到 WPF 列表框中