开源MySQL高效数据仓库解决方案:Infobright详细介绍
2019-01-05 09:58:50 来源:易采站长站 作者:刘景俊
与MySQL对比
-
infobright适用于数据仓库场合:即非事务、非实时、非多并发;分析为主;存放既定的事实,例如日志,或汇总的大量的数据。所以它并不适合于应对来自网站用户的请求。实际上它取一条记录比mysql要慢很多,但它取100W条记录会比mysql快。
mysql的总数据文件占用空间通常会比实际数据多,因为它还有索引。infobright的压缩能力很强大,按列按不同类型的数据来压缩。
服务形式与接口跟mysql一致,可以用类似mysql的方式启用infobright服务,然后原来连接mysql的应用程序都可以以类似的方式连接与查询infobright。这对熟练mysql者来说是个福音,学习成本基本为0。
infobright有两个发布版:开源的ICE及闭源商用的IEE。ICE提供了足够用的功能,但不能 INSERT,DELETE,UPDATE,只能LOAD DATA INFILE。IEE除提供更充分的功能外,据说查询速度也要更快。
社区ICE版,国内各大企业均有测试,投入生成系统的较少,主要有以下原因:
-
对DML、alter语句限制
需定时增量load导出导入
自带的MyISAM难以支持高并发,若想充分利用服务器资源,需开启另外的MySQL实例
对中文等多字节文字支持不好
仅支持单核调度
缺少原厂的支持
ICE与IEE版本区别
IEE包含针对大多数企业工作需求的附加特性,如:更好的查询性能、DML语句支持、分布式导入等。另外,IEE版本还包含了一定级别的Infobright原厂或代理商的支持救援服务、产品培训等。
-
明显的查询性能差异。虽然IEE和ICE版本均具有明显超出例如Oracle、SQL Server、MySQL等行式数据库的查询性能,但IEE还要比ICE版本快50-500%。这个明显差距来自于IEE核心引擎中特有的——多线程调度模块(自IEE3.5引入).而在ICE中,一个独立的查询只能使用单个CPU核心,其他的查询进程只能使用其他核心。对于需要筛选和区分大量数据的复杂查询,使用IEE多线程调度模块可以显著地节约查询时间。
支持DML语句。IEE支持标准的SQL 数据操作语言,使用insert、update、delete操控数据。而ICE只支持Load data infile进行数据导入,任何数据的变化都需要重新导入全部数据。DML语句的使用会降低数据查询性能,随次数递增。
支持DDL语句。包括alter table rename,add column,drop column(但是列操作只能对最后列生效)
支持Hadoop接口(通过DLP)
高级复制和高可用。IEE版本包含主从功能,基于SQL statement
更简易的导入和更快的导入速度。IEE支持分布式导入工具-DLP;且包含标准的MySQL原生loader,用于处理一些复杂数据的导入,另一方面也说明IBloader的容错性较差
Load或DML同时的一致性查询
支持临时表
其他商业授权,售后支持等
架构
基于MySQL的内部架构 – Infobright采取与MySQL相似的内部架构,下面是Infobright的架构图:
- 热点聚合:
暂时禁止评论













闽公网安备 35020302000061号