由于周二要开会讨论,周一必须交掉初步的设计,来不及把书看完,首先把余下部分笔记粘贴上,再谈谈自己的看法。
7. 在Star Schema中,可以有Junk dimension table. 里面可以存一些flag,type这种distinct value较少的属性。
8. 如果两个fact 同时发生且属于同一粒度(不存在不同dimension 过滤属性),即存在于一个fact表中,否则存储于不同的fact表,不同的fact table 可以share 同一个dimension table
9. 不要试图去join 两张fact tables, 一者是慢,因为fact table 往往很多行,二者是结果有错.如果需要对比或者总结两张fact table, 必须使用drill across: 1. 第一步对两个fact table分别做query。2. 然后把两个结果做join.
10. 做 drill across, 有三种做法:
1) 在数据库中对不同的fact table做query,将几个结果发送给外部工具来合并作分析
2)在数据库中对不同的fact table做query,将几个结果作为临时表存在数据库中,之后在数据库中做merge。之后把最终结果发送给外部分析工具。
3) 利用复杂的SQL一次性搞定query和merge,但其实实际工作与2)基本一样。<
7. 在Star Schema中,可以有Junk dimension table. 里面可以存一些flag,type这种distinct value较少的属性。
8. 如果两个fact 同时发生且属于同一粒度(不存在不同dimension 过滤属性),即存在于一个fact表中,否则存储于不同的fact表,不同的fact table 可以share 同一个dimension table
9. 不要试图去join 两张fact tables, 一者是慢,因为fact table 往往很多行,二者是结果有错.如果需要对比或者总结两张fact table, 必须使用drill across: 1. 第一步对两个fact table分别做query。2. 然后把两个结果做join.
10. 做 drill across, 有三种做法:
1) 在数据库中对不同的fact table做query,将几个结果发送给外部工具来合并作分析
2)在数据库中对不同的fact table做query,将几个结果作为临时表存在数据库中,之后在数据库中做merge。之后把最终结果发送给外部分析工具。
3) 利用复杂的SQL一次性搞定query和merge,但其实实际工作与2)基本一样。<