试用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中的数 ...
随机推荐
- rpm -qs查看包信息
rpm -qs mysql-connector-c-devel Query options (with -q or --query): -c, --configfiles ...
- C/C++捕获段错误,打印出错的具体位置(精确到哪一行)
修订:2013-02-16 其实还可以使用 glibc 的 backtrace_symbols 函数,把栈帧各返回地址里面的数字地址翻译成符号描述的 修订:2011-06-11 背景知识: · 在li ...
- 我的四年建站故事(X)
今天版主们有在群里聊建站的事情了,似乎他们每个人都很热衷于搭建一个自己的网站或者博客,我突然之间觉得非常有必要做一些经验的分享. 首先我想先介绍一下CMS( 网站内容管理系统, 即 Co ...
- PHP数据结构:栈、队列、堆、固定数组
数据结构:栈 队列: 堆: 固定尺寸的数组:
- 上传图片代码(chuantouxiang.php+touxiangchuli.php)
<body> <form action="touxiangchuli.php" method="post" enctype="mul ...
- Hive 7、Hive 的内表、外表、分区
1.Hive的内表 Hive 的内表,就是正常创建的表,在 http://www.cnblogs.com/raphael5200/p/5208437.html 中已经提到: 2.Hive的外表 创建H ...
- (转)iOS7界面设计规范(10) - UI基础 - 文字排版与配色
明天就是周四了.貌似前几天还在恨周一呢.话说今天几乎开了一整天的会,正经事情没做多少:这种感觉比一整天从早到晚12个小时的忙碌于一件事情还要让人感到疲惫的对叭?那今天的iOS7设计规范更新又是一篇很简 ...
- (转)iOS Wow体验 - 第七章 - 操作图例与触屏人机工学
本文是<iOS Wow Factor:Apps and UX Design Techniques for iPhone and iPad>第七章译文精选,其余章节将陆续放出.上一篇:Wow ...
- CF Zepto Code Rush 2014 B. Om Nom and Spiders
Om Nom and Spiders time limit per test 3 seconds memory limit per test 256 megabytes input standard ...
- JavaScript学习笔记之 数组方法一 堆栈 和队列
数组的方法 以及 堆栈的操作的方法 JavaScript是一种弱类型语言,不像其它程序语言需要严格定义数据类型.在JavaScript中数组可以任意修改变动,这样也就出现了一个问题,如果边遍历数组边操 ...