`
CtripMySQLDBA
  • 浏览: 57282 次
  • 来自: 上海
社区版块
存档分类
最新评论

Infobright与ToKuDB存储引擎对比测试

阅读更多

Infobright是开源的MySQL数据仓库解决方案,引入了列存储方案,高强度的数据压缩,优化的统计计算(类似sum/avg/group by之类)。
TokuDB是一个高性能、支持事务处理的MySQL和MariaDB的存储引擎,其主要特点是对高写压力的支持。
我们针对以上两种特殊引擎,和InnoDB作了个简单的对比测试。

 

压缩性能

 InnoDBInfobrightToKuDB占用存储空间

同等数据表history(zabbix后台数据表)占用空间情况如下:



 


 
从各引擎存储数据的大小看,Infobright引擎可以让数据获得更大限度的压缩,占用空间最少。

 

 

常用语句执行效率测试

table (rows)

Action

innodb

Infobright

ToKuDB

history(0)

load 427801328 rows

2 hours 5.96

23 min 29.03 sec

6 hours 57 min 1.08 sec

history(427801328)

insert 1million again

49.70 sec

/

55.07 sec

history(427801328)

select count(*) from

13 min 58.01 sec

0.11 sec

3 min 3.27 sec

history_str(27434968)

delete /274349 rows

24.16s

/

2 min 22.32 sec

history_str(27434968)

update/1million rows

21.22 sec

/

28.08 sec

history_str(27434968)

truncate table

4.63 sec

/

1.96 sec

 

 

常用查询性能测试比较

使用单表history_str,数据量27434968条:


 

 

Innodbtokudbinfobright的表结构,数据量,索引均一样(infobright无索引)

 

执行语句 innodb infobright TokuDB
select avg(clock) from history_str 11.54 sec 0.00 sec 8.67 sec
select max(itemid+clock) from history_str 14.36 sec 6.77 sec 12.21 sec
select max(length(clock)) from history_str 12.67 sec 4.44 sec 9.99 sec
select max(right(clock,4)) from history_str 14.07 sec 11.76 sec 11.09 sec
select count(distinct(clock)) from history_str 12.97 sec 2.68 sec 13.86 sec
       
select count(*) from (select clock from history_str group by clock) as a 14.63 sec 4.69 sec 15.92 sec
select count(*) from (select count(clock) from history_str group by clock) as a 10.51 sec 5.86 sec 7.84 sec
select count(*) from (select count(*) from history_str group by clock,itemid) as a 8 min 44.97 sec 29.00 sec 7 min 54.71 sec
select clock from history_str group by clock,itemid order by itemid desc limit 100; 8 min 12.07 sec 0.00 sec 7 min 24.31 sec
       
select count(*) from history_str where itemid+clock>1358134535 11.83 sec 15.33 sec 8.53 sec
       
select count(*) from history_str where clock>ns; 11.41 sec 0.00 sec 8.28 sec
select * from history_str where clock>itemid into outfile '/tmp/h.txt' 32.75 sec 50.06 sec 25.82 sec
       
select count(*) from history_str where right(clock,3)=100; 15.40 sec 18.18 sec 11.04 sec
select count(*) from history_str where position('m' in value)>0 15.41 sec 2.32 sec 8.72 sec
select count(*) from history_str where greatest(clock,1357868025)=clock 10.69 sec 10.88 sec 8.24 sec
       
select count(*) from history_str where value like '%true%' 13.89 sec 0.15 sec 8.16 sec
       
select count(*) from history_str where value in ('true','19ms','9ms'); 11.33 sec 0.12 sec 8.33 sec
select count(*) from history_str where value in ('true','19ms','9ms') and clock <1359808970; 1.70 sec 0.11 sec 5.62 sec
       
select count(*) from history_str as a join history_str as b on a.itemid=b.itemid where a.clock<1357908970; 1 min 34.35 sec 2.93 sec 2 min 17.89 sec
select count(*) from history_str as a join history_str as b on a.itemid=b.itemid where a.clock<1357908970 and b.itemid<266631; 41.61 sec 3.32 sec 1 min 0.66 sec

 

 

小结:

在大部分情况下,infobright具有很好查询性能,远胜innodbtokudb两种引擎,但是不支持DMLDDLalter tabletruncate table等)语句,语法比较简单,限制也比较多,Infobright还有很多查询注意事项,编写代码的时候需要注意。

Tokudb在走相同索引的情况下,部分情况会优胜innodb,但是数据量非海量的时候,查询优势并不明显。

 

 

  • 大小: 36.9 KB
  • 大小: 16.7 KB
  • 大小: 36.9 KB
  • 大小: 27.5 KB
0
1
分享到:
评论

相关推荐

    infobright-社区版.zip

    Infobright的核心技术是其专利的列式存储引擎,这使得它在处理大规模数据集时表现出色。与传统的行式数据库不同,列式存储允许快速查询特定列,大大提高了数据分析的速度。此外,Infobright还采用了数据压缩技术,...

    mysql.rar_infobright

    1. **列式存储**:与传统的行式存储不同,Infobright采用列式存储方式,这使得对大量数据的分析查询速度显著提高,因为列式存储可以只读取需要的列,而不是整个行。 2. **自动数据压缩**:Infobright能够自动对数据...

    infobright珍贵资料(官方)

    1. **列式数据库的优势**:与传统的行式数据库不同,列式数据库如Infobright将数据按列存储,这种布局在进行聚合查询和数据分析时具有显著优势。由于列式存储只读取需要的列,大大减少了I/O操作,提高了查询速度。 ...

    Infobright原理

    数据块(DP)是Infobright存储的最底层,每个DP包含64KB的列数据。这种分割方式既保证了压缩效果,又优化了查询性能。DPN与DP一对一对应,存储了DP的元数据,如最大值、最小值、null计数等,这些信息用于快速过滤和...

    infobright最新安装包.zip

    Infobright是一款开源的数据仓库系统,专为大数据分析设计,具有高效能、高并发和低存储成本的特点。本文将详细解析Infobright的核心技术、安装过程以及如何利用Infobright-4.0.7-0-x86_64-ice.rpm安装包进行部署。 ...

    infobright

    infobright-4.0.7,32位系统,32位。

    infobright4.0.7-win.zip

    Infobright的核心技术之一是其列式存储模式,与传统的行式存储不同,列式存储优化了数据分析,因为大多数数据分析任务都涉及到对特定列的操作。这种架构使得读取和处理大量数据时的性能显著提升。此外,Infobright还...

    infobright for windows 64 数据仓库

    1. **列式存储**:与传统的行式存储不同,Infobright采用列式存储方式,这有利于提高查询性能,特别是对于分析型查询。 2. **自动数据压缩**:Infobright能自动对数据进行高效压缩,降低存储需求,同时提高读取速度...

    Ubuntu安装Infobright及主从同步

    它的核心特性包括高度压缩的数据存储、列式存储以及优化的查询引擎。这使得Infobright在处理大数据时能提供出色的性能。 在Ubuntu上安装Infobright的第一步是确保系统满足必要的依赖。Ubuntu通常会提供MySQL的存储...

    infobright包

    兼容性这点主要依赖与 MySQL 的集成,作为 MySQL 的存储引擎自然地能够保证与 BI 分析工具的兼容。 除了上面的优点外,它也有一些限制: 1. 不支持数据更新。这使对数据的修改变得很困难,这样就限制了它作为实时...

    infobright-4.0.7-0-src-ice.tar.gz

    1. **源代码文件(Source Code)**:包含了数据库引擎的核心组件,如查询解析器、执行器、存储引擎等。 2. **构建系统(Build System)**:使用如Makefile或CMake等工具来管理编译过程,允许用户根据目标平台和需求...

    infobright-4.0.7-0-x86_64-ice.rpm

    Infobright的核心技术基于列式存储,这与传统的行式数据库存储方式不同。列式存储在处理大量数据分析时具有显著优势,因为它是为读取优化的,尤其适合于数据仓库和OLAP(在线分析处理)场景。Infobright的压缩算法...

    infobright.7z

    Infobright的列式存储方式与传统的行式存储不同,列式存储使得在处理大数据分析时可以只读取所需列,极大地提高了查询效率。此外,Infobright还支持数据自动去重,对于重复的数据,只存储一份,进一步节省了存储空间...

    infobright for windows 32 数据仓库

    它采用了列式存储的方式,这与传统的行式存储相比,对于数据分析和查询具有显著优势。列式存储允许快速读取大量数据,特别是在进行聚合操作时。 2. **压缩技术**:Infobright采用高级的压缩算法,能将数据压缩到极...

    infobright-rpm.zip

    此外,Infobright还支持SQL接口,易于与各种BI工具集成。 标签“IB rpm infobright”暗示了这是关于Infobright数据库的RPM包,IB是Infobright的缩写。在运维和管理Infobright数据库时,了解RPM包的管理和Infobright...

    安装infobright

    Infobright是一款高效的数据仓库系统,它以列式存储的方式设计,特别适合处理大量数据分析任务。列式存储的优势在于,对于查询操作,尤其是涉及多列的聚合查询,它能显著提高查询速度,因为只需读取所需列的数据,而...

    infobright-4.0.7-0-x86_64-ice.zip

    infobright-4.0.7-0-x86_64-ice.rpm infobright社区版,本来就是开源的东西,还要资源分,没办法了,只能选最低2分, csdn禁止重复上传,于是采用了压缩包加密上传,zip解压,密码是2CcMBzP8,云盘分享:htt去ps://...

Global site tag (gtag.js) - Google Analytics