有谁知道基于星型模式数据仓库获取 OLAP 多维数据集的粗略大小的方法。基于维度的数量,维度表中的记录数量和事实记录的数量,最后是聚合或不同记录的数量等。
我正在查看的数据库有一个超过 200 亿行的事实表和一些 2000 万、7000 万和 13 亿行的维度表。
谢谢尼古拉斯
有谁知道基于星型模式数据仓库获取 OLAP 多维数据集的粗略大小的方法。基于维度的数量,维度表中的记录数量和事实记录的数量,最后是聚合或不同记录的数量等。
我正在查看的数据库有一个超过 200 亿行的事实表和一些 2000 万、7000 万和 13 亿行的维度表。
谢谢尼古拉斯
我可以看到创建此估算的一些障碍。单独了解维度表的行数和基数并不像它们之间的关系那么重要。
n
想象两个分别具有和m
唯一值的低基数维度。在这些维度上缓存 OLAP 聚合会产生从n + m
值到n * m
值的任何位置,具体取决于关系与纯双射的相似程度。仅给定您提供的信息,您只能说最终会得到比值更少的3.64 * 10^34
值,这不是很有用。
我很悲观,有一个足够快的算法,当你完成后生成立方体并称重它不会更有意义。
我们写了一篇似乎相关的研究论文:
Kamel Aouiche 和 Daniel Lemire,OLAP 中五种概率视图大小估计技术的比较,DOLAP 2007,第 17-24 页,2007。http: //arxiv.org/abs/cs.DB/0703058
好。您可以使用 Analysis Services 数据的一般规则,即存储在关系数据库中的相同数据的大小约为 1/4 - 1/3。
爱德华。