mysql 数据仓库的实现_infobright: 基于mysql的数据仓库(data warehouse)

日志分析原来一直用:

Archive存储引擎+Partition分区

Archive存储引擎只支持INSERT和SELECT操作,MySQL 5.1开始支持索引。其使用zlib算法将数据行(row)进行压缩后存储,压缩比率一般可达1∶10。正如其名称所示,Archive存储引擎非常适合存储归档数据,如日志信息。Archive存储引擎使用行锁来实现高并发的插入操作,但是本身并不是事物安全的存储引擎,其设计目标主要是提供高速的插入和压缩功能。

前些天捧起hongqn拿给我的<mysql性能调优与架构设计>,翻起第一章,还没进入mysql的主题,就被另一个名字吸引住了:infobright,一个基于mysql的数据仓库系统实现,它已经是很多开源或商用BI系统的底层存储引擎。

根据这几天看到的介绍与白皮书,又做了些试验,依据自己的理解先作一个概述性的介绍,下次再描述一下infobright的技术架构。

infobright是基于mysql的,但不装mysql亦可,因为它本身就自带了一个。mysql可以粗分为逻辑层和物理存储引擎,infobright主要实现的就是一 个存储引擎,但因为它自身存储逻辑跟关系型数据库根本不同,所以,它不能像InnoDB那样直接作为插件挂接到mysql,它的逻辑层是mysql的逻辑 层加上它自身的优化器。

几大优点:

1、高压缩比率,平均压缩比可达10:1,甚至可以达到40:1,我用infobright把3.1G的数据存成不足300M。

2、列存储,即使数据量十分巨大,查询速度也很快。用于数据仓库,处理海量数据没一套可不行。

3、不需要建索引,就避免了维护索引及索引随着数据膨胀的问题。把每列数据分块压缩存放,每块有知识网格节点记录块内的统计信息,代替索引,加速搜索。

4、单一台服务器可以高效地读写30T数据。具有可扩展性,这里是指对于同样的查询,当数据量是10T时,它耗费的时间不应该比1T数据量时慢太多,基本是一个数量级内。

与mysql对比:

1、infobright适用于数据仓库场合,即非事务、非实时、非多并发;分析为主;存放既定的事实(基本不会再变),例如日志,或汇总的大量的 数据。所以它并不适合于应对来自网站用户的请求。实际上它取一条记录比mysql要慢很多,但它取100W条记录会比mysql快。

2、mysql的总数据文件占用空间通常会比实际数据多,因为它还有索引。infobright的压缩能力很强大,按列按不同类型的数据来压缩。

3、服务形式与接口跟mysql一致,可以用类似mysql的方式启用infobright服务,然后原来连接mysql的应用程序都可以以类似的方式连接与查询infobright。这对熟练mysql者来说是个福音,学习成本基本为0。

infobright有两个发布版:开源的ICE及闭源商用的IEE。ICE提供了足够用的功能,但不能INSERT,DELETE,UPDATE,只能LOAD DATA INFILE。IEE除提供更充分的功能外,据说查询速度也要更快。

参考:

1、infobright商业网站:http://www.infobright.com/

2、infobright社区交流网站:http://www.infobright.org/

3、mysql对infobright的介绍:http://dev.mysql.com/tech-resources/articles/datawarehousing_mysql_infobright.html

4、关于infobright的介绍视频:http://www.infobright.com/Resource-Library/Webcasts-Podcasts/?infobright_product_demo

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值