Infobright存储引擎的特点

2022-04-28 00:00:00 查询 字段 专区 操作 条件

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里面尽量剔除不要的字段。

相关文章