APP下载

OLAP聚集计算中的维存储技术

2012-06-28宋爱波张若儒赵经华何战国

东南大学学报(自然科学版) 2012年5期

宋爱波 张若儒 赵经华 何战国

(东南大学计算机科学与工程学院,南京211189)

OLAP是一种针对数据仓库中的数据进行联 机访问和分析的主要技术[1].然而,传统DBMS的行存储结构严重制约了OLAP聚集计算效率.按行存储和读取数据适合以写操作为主的事务处理,不适于以读操作为主的OLAP.早期的列存储模型DSM 是由 Copeland等[2]在1985年提出的.DSM将每个关系按列进行垂直划分,将每个列值以(元组ID,列值)对形式进行存储.在列存储中,只有被查询的列才会读入内存,而行存储需要读入所有列,因此列存储比行存储具有更高的数据查询效率.此外,列存储还具有更高的数据压缩比.如今,商业 列 数 据 库 有 SenSage[3],Sybase IQ[4],Big-Table[5]等,开 源 列 数 据 库 有 MonetDB[6],C-store[7],HBase[8]等.根据 Feinberg 等[9]在 2011年1月关于数据仓库的分析报告,与传统关系型数据库相比,列数据库在数据分析(包括OLAP等)方面表现出卓越的性能.

目前,Sybase IQ还不能很好地支持高维OLAP数据的维层次特性,可扩展性较差.Zou等[10]建立在HBase上的索引表CCindex能较好地支持范围查询,但没有考虑数据的层次性.文献[11]提出的维层次编码能够支持OLAP的多维层次性,但是其B+树的传统构建方法产生的开销太大,且仍采用行存储结构,读取大规模列数据时效率不高.

HBase是BigTable的开源实现,以HDFS(Hadoop分布式文件系统)为底层存储,是一个提供高可靠性、高性能、列存储、实时读写的大规模分布式数据库系统.在HBase中,列可动态扩展,能较好地支持OLAP数据的维层次属性;它还能利用Hadoop系统的MapReduce框架对列数据进行高效并行计算.鉴于此……

登录APP查看全文