前面已经简要分析了Infobright的构架,现在来介绍Infobright的工作原理。
粗糙集(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.cnblogs.com/inmanhust/archive/2010/05/08/1730343.html
相关推荐
主要介绍Infobright的工作原理,和性能高的原理
infobright-4.0.7,32位系统,32位。
主要是对Infobright的概念、功能、应用进行了阐述。
https://www.infobright.org/downloads/ice/infobright-4.0.7-0-x86_64-ice.rpm
infobright-4.0.7-0-x86_64-ice.rpm安装包,官网没有 最优惠给大家使用
Infobright最近有部分工作涉及到了 Infobright 数据仓库,就浏览了一些相关的资料,感觉很受启发。下面写一些感想,如有谬误,还请指正。 简单的来讲,Infobright 主要有下面的一些优点: 1. TB 级的数据存储和...
infobright-4.0.7-0-win_64-ice可执行win安装包 造福大家,安装配置的教程可以到我的blog里看看嗷
infobright-4.0.7-0-x86_64-ice.rpm infobright社区版,本来就是开源的东西,还要资源分,没办法了,只能选最低2分, csdn禁止重复上传,于是采用了压缩包加密上传,zip解压,密码是2CcMBzP8,云盘分享:htt去ps://...
infobright for windows 64 数据仓库 快速安装包
集齐了mysql官方网站和infobright官方网站的所有珍贵资料,对于学习和研究有很大的帮助
infobright.7z
下载解压后即可获得 infobright-4.0.7-0-x86_64-ice.rpm
infobright-4.0.7-0-src-ice.tar.gz infobright的源代码,好东西需要解释的吗?
NULL 博文链接:https://wangqiaowqo.iteye.com/blog/1606734
infobright-rpm.zip
infobright ,一个基于mysql的数据仓库系统实现,它已经是很多开源或商用BI系统的底层存储引擎。
infobright for windows 32 数据仓库 快速安装包
实现了mysql数据库以及infobright数据仓库值减表的转存!压缩了空间!使其效率更好!
nfobright 社区版,现在官方已经停止社区版,企业版太贵