1.在事实表中放入文本属性
2.限制使用冗长的描述符以节省空间
3.将层次(级联的多对一关系序列)划分为多个维度
4.忽略跟踪维度的变化
合理运用缓慢变化维度的类型,或者微型维度
5.使用更多的硬件解决遇到的性能问题
硬件昂贵,要考虑使用语句或调参层面的技术,主动调优。
6.使用操作型键连接维度和事实
不要使用包含日期的的操作型键声明为维度键。应考虑使用代理键(简单的整数型1到N顺序排列)。
日期维度是这一规则的唯一例外。
7.忽视对事实粒度的声明,并混淆事实粒度
8.使用报表设计维度模型(很重要!)
维度模型与预期的报表(原型,bi需求)没有任何关系。
目前项目上几乎都是采用产品原型为导向的建设方法,
维度模型将建立上百个事实表以向用户发布数据。
实践证明,如果构建事实表用于解决特定报表需求,同样的数据会分多次获取,以适应所有这些差异甚微的不同事实表。
毫无疑问,项目小组将面临需要在固定时间窗口更新庞大数据库的可怕局面。
不要陷入以报表为中心的模式的泥潭中,项目小组应该关注度量过程。
用户需求可以通过利用原子数据的良好设计模式以及使用部分(不是大量的)用于增强性能的聚集来处理。
9.希望用户查询规范化的原子数据
一定不要将规范化数据开放给客户。
10.违反事实和维度的一致性要求
保持维度的一致性,确认事实的技术定义能够精确匹配。
笔记:出自《数据仓库工具箱:第三版》