本文主要基于Access数据库分区表作为MSTR数据仓库,讲解MSTR分区表的使用过程。
在DT时代,虽然大家都在讲大数据,很多企业都在向Hadoop生态圈转身,但是原有的关系型数据库在企业中的应用地位,仍无法被其他取而代之。但如何应对数据量的爆炸式增长,各个数据库厂商都提供了相应的技术活方法,比如分区。例如,Oracle提供了对表和索引进行分区的技术,以改善大型应用系统的性能。
使用分区主要有以下好处:
1.增强可用性:如果表的某个分区出现故障,在其它分区的数据仍然可用;
2.维护方便:如果表的某个分区出现故障,需要修复数据,只修复该分区即可;
3.均衡I/O:能把不同的分区映射到磁盘以平衡I/O,改善整个系统性能;
4.改善查询性能:对分区对象的查询能进行搜索自己关心的分区,提高检索速度,这点在BI中尤其重要,因为在BI中,以OLAP分析为核心。
MSTR对不同的数据库提供了相应的优化策略,比如调整VLDB属性、采用分区表等。
接下来,介绍基于Access数据库分区表作为MSTR业务数据源的应用过程。
首先,介绍MSTR中分区表相关内容:
1.概念:MSTR支持两种分区,一种是元数据库分区,另外一种是数据仓库分区(本文所讲);
2.注意事项:
1>在MSTR中,分区表的列(实体列)是不能作为查找表的!
2>在数据中的分区表别称为PBTs,即Partition Base Tables,同时要创建分区映射表,PMT,Partition Mapping Tables,用于管理分区表,在MSTR逻辑表中,用户看到的只是PMT。
在Access数据库中有两张分区表,即PBTs,结构和数据如下:
PMT如下:
在MSTR中,进入数据仓库目录:
将revenue_pbt(仅此表)拖入到MSTR逻辑表对象,会发现和其它逻辑表不同:
发现括号!!右击该表,如下图:
多了“查看分区”选项,而“显示样品数据”却是灰色的!从这里也是区分分区表与普通表的不同之处!
创建年份实体:此时要注意,一定不能将分区表作为查找表!!!
创建好“年份”实体后,在框架对象->分区映射文件夹下,右击revenue_pbt,将上步创建的“日期”实体作为分区级实体加入到该分区表的分区级实体。
接下来创建revenue事实和度量,然后以该度量和上步“年份”为报表对象创建报表,如下:
对应sql:
我们可以发现它的数据访问情况!
以上是对MSTR分区表的个人见解,如有误解还请指出!