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里面的数据部分满足查询条件的限制
Infobright使用高效的查询语句。
这里涉及的内容比较多了,总结如下:
尽量不适用or,可以采用in或者union取而代之
减少IO操作,原因是infobright里面数据是压缩的,解压缩的过程要消耗很多的时间。
查询的时候尽量条件选择差异化更明显的语句
Select中尽量使用where中出现的字段。原因是Infobright按照列处理的,每一列都是单独处理的。所以避免使用where中未出现的字段可以得到较好的性能。
限制在结果中的表的数量,也就是限制select中出现表的数量。
尽量使用独立的子查询和join操作代替非独立的子查询
尽量不在where里面使用MySQL函数和类型转换符
尽量避免会使用MySQL优化器的查询操作
使用跨越Infobright表和MySQL表的查询操作
尽量不在group by 里或者子查询里面使用数学操作,如sum(a*b)。
select里面尽量剔除不要的字段。