面向列的mysql数据库引擎-BRIGHTHOUSE(infobright数据库)
brighthouse是infobright数据库的关键引擎。infobright数据库是基于mysql的,它的设计主要是用于大规模的数据仓库和分析优化。可以去www.infobright.org下载开源社区版。
它的安装非常简单:解开了下载的gz包后,直接运行install-infobright.sh就ok了,在redhat5下安装基本没有遇到任何麻烦。
安装之后,它的配置文件是/etc/my-ib.cnf.启动脚本是/etc/init.d/mysqld-ib.客户端命令是mysql-ib.
如果所安装的机器上同时安装有其他mysql,可能就有一点小麻烦了:没法正常使用mysql-ib命令。这只要是my.cnf搞的鬼。尽管infobright用的配置文件是/etc/my-ib.cnf,但是my.cnf也会干扰。比如,如果在my.cnf中有‘comment’的配置项,当运行mysql-ib,就会有这样的错误:unknownoption'--comment'。
装完之后试了试,果然不赖。导入了5000万行记录,一条count语句不到30秒。想想在innoDB上,没有个10分钟出不来。
当前的版本支持30T的数据,采用的是数据压缩的存储方式,压缩比例可达40:1。原来5000万行的数据,十多G呢,导入infobright之后,我一直到琢磨:它把我那5000多万行记录放哪去了^_^
这东西好是好,不过有不少不爽的地方:
开源版不支持insert等数据操作语句,导入数据只能用load语句(这个导入数据很快)
还不支持UTF-8(这个最烦人了,尽管它提供了一种方案来解决这个问题)
企业版可也不便宜$10000/T(mysql才600刀)(数据仓库类的软件都很贵,这已经算很便宜的了^_^)
跟我们平常用的其他引擎(如innodb)不是很兼容,比如不支持bit类型;position也是关键字,不能用来做字段名。反正是使用在innodb上的数据库脚本可能不能在这上直接使用。(这都算,太懒了^_^)