首页 | 联系我们 | 叶凡网络官方QQ群:323842844
游客,欢迎您! 请登录 免费注册 忘记密码
您所在的位置:首页 > 开发语言 > DataBase > 正文

合肥云主机:走进列数据库Infobright的世界

作者:cocomyyz 来源:转载 日期:2013-11-22 10:11:49 人气:0 加入收藏 评论:0 标签:合肥云主机:走进列数据库Infobright的世界

Sysbase可以说是列式数据库的先驱,Sysbase IQ 15 就是Sybase 目前最新的列式数据库。它具有强大的功能,包括数据的快速加载、超高速的分析性能、强大的业务智能分析、领先的数据建模能力等等。 Infobright是一个基于MySQL的数据仓库系统,共工的不周山的blog上有挺详细的介绍。

同样是列式数据库,但是Infobright和Sybase IQ系列还是有很大的不同。Infobright采用的Knowledge Grid来组织数据,Infobright内部是没有索引,就这点就节省了不少的空间。而Sybase IQ系列还是使用了索引,而这些索引我个人的理解就是位图索引的改进版。白皮书上说,Infobright的数据压缩比可以是10:1到40:1,个人拿庞大的日志数据库做了个小小实验,感觉压缩也没那么夸张。如果依据位图索引的思想,每列数据的相似度越高就会具有越高的压缩比。Infobright应该也是满足这一点的,但是具体Knowledge Grid内部如何实现还不清楚,有待继续考究。  

Infobright的优点有很多,简单列举如下:

Infobright的优点:

(1)高压缩比率

(2)快速响应复杂的分析查询语句

(3)随着数据库的逐渐增大,查询和装载性能基本保持稳定

(4)没有特殊的数据仓库模型(比如星状模型、雪花模型)要求

(5)无需要物化视图、复杂的数据分区策略、索引

(6)实施和管理简单,需要极少的管理

(7)和众多的BI套件相容,比如Pentaho、Cognos、Jaspersoft。

Infobright有两个版本ICE和IEE,目前ICE的版本是3.3.1,支持64位Linux和32位windows。ICE不支持DML,也就是不支持insert、update等操作。

粗糙集(Rough Sets)是Infobright的核心技术之一。Infobright在执行查询的时候会根据知识网络(Knowledge Grid)把DP分成三类:

相关的DP(Relevant Packs),满足查询条件限制的DP

不相关的DP(Irrelevant Packs),不满足查询条件限制的DP

可疑的DP(Suspect Packs),DP里面的数据部分满足查询条件的限制

下面是一个案例:

如图所示,每一列总共有5个DP,其中限制条件是A>6。所以A1、A2、A4就是不相关的DP,A3是相关的DP,A5是可疑的DP。那么执行查询的时候只需要计算B5中满足条件的记录的和然后加上Sum(B3),Sum(B3)是已知的。此时只需要解压缩B5这个DP。从上面的分析可以知道,Infobright能够很高效地执行一些查询,而且执行的时候where语句的区分度越高越好。where区分度高可以更精确地确认是否是相关DP或者是不相关DP亦或是可以DP,尽可能减少DP的数量、减少解压缩带来的性能损耗。在做条件判断的使用,一般会用到上一章所讲到的Histogram和CMAP,它们能够有效地提高查询性能。

多表连接的的时候原理也是相似的。先是利用Pack-To-Pack产生join的那两列的DP之间的关系。

比如:SELECT MAX(X.D) FROM T JOIN X ON T.B = X.C WHERE T.A > 6。Pack-To-Pack产生T.B和X.C的DP之间的关系矩阵M。假设T.B的第一个DP和X.C的第一个DP之间有元素交叉,那么M[1,1]=1,否则M[1,1]=0。这样就有效地减少了join操作时DP的数量。

前面降到了解压缩,顺便提一提DP的压缩。每个DP中的64K个元素被当成是一个序列,其中所有的null的位置都会被单独存储,然后其余的non-null的数据会被压缩。数据的压缩跟数据的类型有关,infobright会根据数据的类型选择压缩算法。infobright会自适应地调节算法的参数以达到最优的压缩比。


本文网址:http://www.mingyangnet.com/html/database/1043.html
读完这篇文章后,您心情如何?
  • 0
  • 0
  • 0
  • 0
  • 0
  • 0
  • 0
  • 0
更多>>网友评论
发表评论
编辑推荐
  • 没有资料