aso和bso:多维数据库,由于是所有维度成员笛卡尔作为存储单元,当维度成员越多时候,占用存储越多,检索效率越低,试想下,如果有十个维度,每个维度五千个member,那么存储cell的数量为5000^10,这是一个多么恐怖的数字,如果你要插入一个数据进行排序,或存储这些数据,将花费多大空间,essbase为了解决这个问题,设计了一个高效的存储策略,将存储划分为aso和bso两种类型,因为在日常使用中,我们会有两种有倾向的诉求,例如主要专注于分析,另一种专注于分析计算,分摊等各种情况,aso叫做聚合存储,通常具有比较大的大纲,适合第一种,而bso则具有小的大纲,适合第二种。
维度和成员:
- 维度:数据的一个视点,比如一个箱子,重量、体积、颜色都是维度,成员是维度的构成
- 成员:维度的构成
- 成员可以是存储,动态计算,或者标签
- 维度区分为密集和稀疏,密集是基本都有成员的,稀疏是成员较少
块是什么
- 基本的存储单元,所有维度成员的每个交叉点是一个块
- 稀疏和密集属性决定了块的大小和存储形式
BSO数据是怎么存储的
- Ind/Pag 文件,ind是索引,pag是存储
- 密集维度决定存储单元
- 稀疏维度决定索引