试用mysql的infobright引擎
试用mysql的infobright引擎
换了新的单位我现在也从oracle从业者变成了mysql从业者,当然放弃oracle的原因主要是因为在新单位可以尽量少的写代码了。
现在我面对的是一个数据仓库,和上一家公司一样,数据仓库最让我们技术人员受不鸟的是数据量太大,存储,I/O,效率都让人想死,每次有些统计分析要求,在清单表里查询简直是让我等到花儿都谢了。那么会有什么好的办法呢?我想这个问题提出来会有很多人告诉我用hadoop。是的,hadoop是现在最流行的大数据解决方案,但是hadoop有一个问题,就是我们小组现在没有人会,还需要很长的时间去学习,去搭建,而且我也不愿意轻易放弃传统的关系型数据库,说真的我连Mango都很抵制。
我想起来以前在单位的时候有人推荐给我们用Greenplum,据我搜索到的资料显示,Greenplum速度很快,而且是基于PostgreSQL的,本来就是关系型数据库,学习起来没有什么压力,但是商业授权是要钱的,我们现在可没办法申请经费,于是作罢。
我自然而然的就想到了列式数据库SybaseIQ,当然也是要钱的,不过mySQL的Infobright引擎不要钱,起码社区版本不要钱。这就是插件式数据库的好处,总有一款引擎适合你。社区版的Infobright不支持DML,但是对于我测试来说没什么,以后上生产了也没什么,因为每天才导一次数据,loaddata完全能hold住。
下载地址在这里http://www.infobright.org/,看到org我就舒服,肯定不要钱。关于安装,这个东西下载好以后直接安装,不需要安装mySQL,因为它自带了一个。貌似自带的这个除了infobright之外只支持MyISAM和Memory引擎,但是这都不是问题,需要InnoDB可以另外下载一个mySQL用。linux版本的安装可能稍微复杂点,网上能搜索到的都是基于一个叫张宴的人写的复制的,我没测试也就没有发言权。我用的是windows版本的,一路下一步就可以了,安装好之后只需要改动它的配置文件my-ib.ini就可以了,里面写的很明白。
下面说说测试结果,我是在单位机器上测试的,根据单位的保密原则,我没办法把截图带回来。但是通过我三天的简单测试,在我的PC上(i5处理器,2G内存,WindowsXP SP2, 500G硬盘(7200rpm))。用loaddata导入2G的数据大概需要2分钟;一个1亿条数据的表,自己关联自己查询count(*),也不过就是2分钟。性能相当彪悍。如果把这个数据库测试拿到Pc服务器上去做,估计效果会让人眼前一亮。
如果需要看比较科学的测试,可以参考这个网站:http://www.actionsky.com/infobright/styles/performance/default.html。这个好像是infobright在国内的代理。
下面说点闲话。在上一家公司的时候,我做的最多的事情就是优化SQL,我之前也在oracle的框架下作了好多事情,但是随着数据量的暴增,就算再怎么优化,IO也是个瓶颈,索引也就没什么用了,我感到了无助。当时我想是不是真的关系型数据库要完蛋了,以后就是mongo这些noSQL的天下了?这几天测试之后我发现noSQL取代关系型数据库还是需要一段时间的。在weibo这种需要实时相应的系统里,可能noSQL会很吃香,但是在数据仓库领域,我想以列式数据库为代表的关系型数据会大放异彩,现在比较主流的大家可以去看看:SybaseIQ,这可能是最早的列式数据库了;南大通用的GBase,国货精品;Infobright,开源的,如果有能力,可以自己改了。顺便提一句,上面说到了Greenplum很快,但是Greenplum是在PostgreSQL之上构建的,pg是开源的,如果公司实力强大,甚至可以做一个不亚于gp性能的数据库,我希望以后能用上国产的。
试用mysql的infobright引擎的更多相关文章
- 【转】MySQL 数据库存储引擎
原文地址:http://blog.jobbole.com/94385/ 简单介绍 存储引擎就是指表的类型.数据库的存储引擎决定了表在计算机中的存储方式.存储引擎的概念是MySQl的特点,而且是一个插入 ...
- MySQL 数据库存储引擎
简单介绍 存储引擎就是指表的类型.数据库的存储引擎决定了表在计算机中的存储方式.存储引擎的概念是MySQl的特点,而且是一个插入式的存储引擎概念.这就决定了MySQl数据库中的表可以使用不同的存储方式 ...
- (转)Mysql数据库存储引擎
什么是MySql数据库 通常意义上,数据库也就是数据的集合,具体到计算机上数据库可以是存储器上一些文件的集合或者一些内存数据的集合. 我们通常说的MySql数据库,sql server数据库等 ...
- MySQL常用存储引擎及如何选择
一.MySQL的存储引擎 完整的引擎说明还是看官方文档:http://dev.mysql.com/doc/refman/5.6/en/storage-engines.html 这里介绍一些主要的引擎 ...
- MySQL之存储引擎(表类型)的选择
和大部分的数据库不同,MySQL中有一个存储引擎的概念,用户可以根据数据存储的需求来选择不同的存储引擎.本次博客就来介绍一下MySQL中的存储引擎.MySQL版本 5.7.19. 概述 MySQL的存 ...
- MySql 扩展存储引擎
MySql 扩展存储引擎 下面介绍几个列式存储引擎(都有两个版本:社区版.商业版): 一:TokuDB TokuDB 是一个高性能.支持事务处理的 MySQL 和 MariaDB 的存储引擎.Toku ...
- Mysql数据库存储引擎--转
原文地址:http://pangge.blog.51cto.com/6013757/1303893 简单介绍 存储引擎就是指表的类型.数据库的存储引擎决定了表在计算机中的存储方式.存储引擎的概念是My ...
- Mysql部分存储引擎介绍
Mysql存储引擎 什么是存储引擎 mysql中建立的库 --> 文件夹 库中建立的表 --> 文件 现实生活中我们用来存储数据的文件有不同的类型,每种文件类型对应各自不同的处理机制: ...
- Mysql基础(二):MySQL之存储引擎
目录 MySQL之存储引擎 1.MySQL存储引擎介绍 2.MySQL结构 3.MySQL存储引擎分类 4.存储引擎的使用 5.总结 MySQL之存储引擎 1.MySQL存储引擎介绍 MySQL中的数 ...
随机推荐
- BZOJ3713: [PA2014]Iloczyn
3713: [PA2014]Iloczyn Time Limit: 1 Sec Memory Limit: 128 MBSubmit: 206 Solved: 112[Submit][Status ...
- 深入理解Java的protected修饰符
其实Java的protected修饰符,权限定义的很微妙,大致有以下几种: (1)protected控制符用于修饰方法和成员变量: (2)一个类的protected方法或成员变量,在包外是不能通过该类 ...
- ZZY的困惑
Description ZZY有很多爱好~~比如足球.电影.三国杀.A题,而他希望在这些爱好中能收获一些东西~~但是并不是所有爱好对所有目标都是起积极作用的..ZZY十分的困惑..于是列了下自己想获得 ...
- 【剑指offer】面试题44:扑克牌的顺子
题目: LL今天心情特别好,因为他去买了一副扑克牌,发现里面居然有2个大王,2个小王(一副牌原本是54张^_^)...他随机从中抽出了5张牌,想测测自己的手气,看看能不能抽到顺子,如果抽到的话,他决定 ...
- TCP头分析+面试题
一.测试程序 我们先用python来写两个测试脚本,非常简单,看代码: 服务端: from socket import * def accept(): sock = socket(AF_INET, S ...
- oracle 格式化数字 to_char
转:http://blog.csdn.net/chinarenzhou/article/details/5748965 Postgres 格式化函数提供一套有效的工具用于把各种数据类型(日期/时间,i ...
- OLE操作Excel编译错误处理
Excel在公司用的很多,而这个东西我用的不是很好,就想用程序来处理,遇到很多错误.这几天研究了下OLE操作Excel.环境:VS2008 SP1+Excel 2007 加入OLE Type Li ...
- IO中手机旋转事件的传递
UIApplication -> delegate -> widnow -> rootViewController
- Sass函数--列表函数
列表函数简介 列表函数主要包括一些对列表参数的函数使用,主要包括以下几种: length($list):返回一个列表的长度值: nth($list, $n):返回一个列表中指定的某个标签值 join ...
- SQL Server 2005中的分区表(三):将普通表转换成分区表
在设计数据库时,经常没有考虑到表分区的问题,往往在数据表承重的负担越来越重时,才会考虑到分区方式,这时,就涉及到如何将普通表转换成分区表的问题了. 那么,如何将一个普通表转换成一个分区表 呢?说到底, ...