一、infobright商业网站:http://www.infobright.com/
二、infobright社区交流网站:http://www.infobright.org/
三、mysql对infobright的介绍:http://dev.mysql.com/tech-resources/articles /datawarehousing_mysql_infobright.html
四、关于infobright的介绍视频:http://www.infobright.com/Resource-Library /Webcasts-Podcasts/?infobright_product_demo
1、Infobright的基本特征:
优势:
查询性能高:百万、千万、亿级记录数条件下,同等的SELECT查询语句,速度比MyISAM、InnoDB等普通的MySQL存储引擎快5~60倍
存储数据量大:TB级数据大小,几十亿条记录
高压缩比:在咱们的项目中为18:1,极大地节省了数据存储空间
基于列存储:无需建索引,无需分区
适合复杂的分析性SQL查询:SUM, COUNT, AVG, GROUP BY
限制:
不支持数据更新:社区版Infobright只能使用“LOAD DATA INFILE”的方式导入数据,不支持INSERT、UPDATE、DELETE
不支持高并发:只能支持10多个并发查询php
下载地址:
http://www.infobright.org/Download/ICE/
到这里,能够选择本身所须要的软件包。html
安装以前须要安装mysql
yum install gcc* cur* nscd -ylinux
service nscd restartsql
便可用 rpm来安装
shell
tar -zxvf infobright-4.0.4-0-linux-i686-ice.tar.gz mv infobright-4.0.4-i686/
/usr/local/ cd /usr/local ln -s infobright-4.0.4-i686/ infobright ./install-infobright.sh
--datadir=/usr/local/infobright/data --cachedir=/usr/local/infobright/cache --port=3307
--config=/etc/my-ib.cnf --socket=/tmp/mysql-ib.sock --user=mysql --group=mysql
里面会有不少提示,一步一步安装吧,把要写的写一下吧。
Enter number here[1-7]: 1
We successfully submitted your information to our server. Thank you for registration.
启动infobright /etc/init.d/mysqld-ib start
vi /etc/profile
export PATH=/usr/local/infobright/bin:$JAVA_HOME/bin:$PATH
source /etc/profile
这样就能够直接mysql进去了。数据库
如下来自http://blog.phpcxz.com/2012/10/infobright_install_config.htmlapache
2012年10月16日| 发布人:寒冰[phpqinsir]| 分类: Linux服务器, 数据库| 标签: infobright, mysqlcentos
原创文章,转载请注明出处。缓存
2012年10月24日更新,增长了数据导入方法。
近来为了统计游戏数据,用到了 infobright 这款软件。来看看你们对它的介绍:
Infobright是一个基于独特的专利知识网格技术的列式数据库,可以下降您90%的管理工做量。使用Infobright不须要建立特殊的数据库模式,无需建立和维护索引,无需对数据进行分区,甚至不须要手动调整,知识网格就会在原始数据导入时,自动建立和维护数据,并用以优化每个查询。在一台PC服务器上,Infobright企业版在对50TB甚至更多数据量进行多并发复杂查询时,可以显示出使人惊叹的速度,相比于MySQL,其查询速度提高了数倍甚至数十倍。在同类产品中,Infobright的单机性能处于领先地位。
Infobright是一个与MySQL集成的开源数据仓库(Data Warehouse)软件,可做为MySQL的一个存储引擎来使用,SELECT查询与普通MySQL无区别。
1、Infobright的基本特征:
优势:
查询性能高:百万、千万、亿级记录数条件下,同等的SELECT查询语句,速度比MyISAM、InnoDB等普通的MySQL存储引擎快5~60倍。
存储数据量大:TB级数据大小,几十亿条记录。
高压缩比:在咱们的项目中为18:1,极大地节省了数据存储空间。
基于列存储:无需建索引,无需分区。
适合复杂的分析性SQL查询:SUM, COUNT, AVG, GROUP BY。
限制:
不支持数据更新:社区版Infobright只能使用“LOAD DATA INFILE”的方式导入数据,不支持INSERT、UPDATE、DELETE。
不支持高并发:只能支持10多个并发查询。
2、Infobright 安装与基本用法:
一、之前的版本没有提供rpm包,如今针对red hat 系列产品提供了rpm的安装包。
cd /usr/local/srcwget http://www.infobright.org/downloads/ice/infobright-4.0.7-0-x86_64-ice.rpmrpm -i infobright-4.0.7-0-x86_64-ice.rpm
这样就下载安装OK了。
官方下载地址:http://www.infobright.org/Download/ICE/
个人centos 系统是64位的,因此,下载的是64位的infobright社区版本。企业版本是要收费的,并且费用很昂贵。
若是,你不知道本身的centos是否已经安装,能够经过以下命令来检测:
rpm -qa|grep infobright
或者:
rpm -q infobright
经过以上方式是默认的安装。做为学习研究,咱们确定不但愿默认安装。但愿,能更改软件的安装位置。好比,将infobright安装到/opt/infobrgiht 目录下面。那么能够在安装的时候经过以下命令实现:
rpm -ivh infobright-4.0.7-0-x86_64-ice.rpm --prefix=/opt/infobright
注意:不要把ICE安装在root或者home目录下面,可能会和mysql引发冲突。
二、相关的配置文件路径
默认安装状况下相关配置文件位置以下:
配置文件:[/etc/my-ib.cnf]brighthouse.ini文件:[/usr/local/infobright-4.0.7-x86_64/data/brighthouse.ini]数据存放目录datadir:[/usr/local/infobright-4.0.7-x86_64/data]缓存目录CacheFolder:[/usr/local/infobright-4.0.7-x86_64/cache]socket位置:[/tmp/mysql-ib.sock] port端口:[5029]
能够经过执行以下程序来设置以上配置:
/usr/local/infobright/postconfig.sh
而后,根据提示来进行更改配置吧。
注意:这个脚本的运行必须保证infobright没有运行。
三、启动和中止
启动命令:
/etc/init.d/mysqld-ib start
中止命令:
/etc/init.d/mysqld-ib stop
四、卸载
有时候配置出错,又或者学习使用,可能会遇到卸载的状况。命令以下:
rpm -e infobright
五、配置infobright
vi /usr/local/infobright/data/brighthouse.ini
ServerMainHeapSize为IB所使用内存的最大值(不包括bh_loader),若是是专用DB服务器,可适当调大,保证在业务最高峰,系统swap交换不高便可。
LoaderMainHeapSize因为是列式存储,IB须要将多行数据各列数据组合后写入数据块,若是导入表的列数不少,字段很长,将该值调高,加快导入速率(导入前set autocommit=0,完成后commit+复原,可大幅提升导入效率)。
ControlMessages 为IB错误日志记录类型,实验环境设为4有利于排错,成熟的生产环境设为2或3便可。
KNFolder 为知识网格所在目录,一般状况下大小都很小,直接放在data目录下便可。
根据自身的物理内存大小修改ServerMainHeapSize、ServerCompressedHeapSize、LoaderMainHeapSize的值,有参考:
############ Critical Memory Settings ############# System Memory Server Main Heap Size Server Compressed Heap Size Loader Main Heap Size# 32GB 24000 4000 800# 16GB 10000 1000 800# 8GB 4000 500 800# 4GB 1300 400 400# 2GB 600 250 320
六、进入infobright
infobright是以MYSQL存储引擎方式运行的。按照以往MYSQL存储引擎必须配置MYSQL才能使用。可是,infobright 不须要。默认自带了MYSQL主程序。经过如下命令便可进入infobright的操做界面:
mysql-ib
这个时候,咱们为infobright分配一个能远程链接的帐号,以下:
GRANT ALL PRIVILEGES ON *.* TO 'admin'@'%' IDENTIFIED BY '12345678';
这样,咱们就能够经过MYSQL的客户端程序,只须要装端口号修改成infobright的默认端口5029便可链接infobright仓库了。
七、建立一个Infobright表
请注意与MYSQL的其余存储引擎的区别。
DROP TABLE IF EXISTS `visit`;CREATE TABLE `visit`(`id`int(10) NOT NULL COMMENT '主键',`ip` varchar(15) NOT NULL COMMENT '访问IP')ENGINE = BRIGHTHOUSE DEFAULT CHARSET utf8 COMMENT '用户访问记录';
注:BRIGHTHOUSE存储引擎建表时不能有AUTO_INCREMENT自增、unsigned无符号、unique惟1、主键PRIMARY KEY、索引KEY。
八、数据导入。
由于咱们介绍的是infobright ICE社区版本,因此,导入数据只能使用MYSQL的load data file 的方式进行数据导入。由于,ICE社区版不支持upadte、delete、insert。因此,一旦数据导入出错,只能删掉表中全部数据重来。
1,"192.168.1.1"2,"192.168.1.1"
将上述两行保存为一个文本文件:data.txt。咱们把它放在linux下的 /opt/data/目录下。
登陆Infobright的shell界面。而后,执行以下代码:
load data infile '/opt/data/data.txt'into table visit fields terminated by',';
或如下这一句:
load data infile '/opt/ftp_dir/ftp002/data.txt'into table visit fields terminated by',' lines terminated by'\n';
这样就轻松将数据导入了。
关于infobright数据格式的一些默认值:
CLAUSE DEFAULT VALUE FIELDS TERMINATED BY ';'(semicolon) FIELDS ENCLOSED BY '"'(double quote) FIELDS ESCAPED BY ''(none)
就拿咱们上面的导入来讲吧。我刚开始的时候,把IP地址放到了单引号里面,结果死活搞不到表里面去。把度娘搜烂了都没有找到合适的答案。最后,经过infobright的英文手册才找到了答案。
注意:data.txt中每一个字段之间对应的分隔符根据不少的经验得出,只支持单个字节的字符。
九、其余
由于咱们只能安装infobright的社区版ICE,IEE是企业版,收费的,挺贵。因此,这个ICE社区版只能经过 LOAD DATA INFILE 导入数据。不支持:INSERT、UPDATE、DELETE。不支持高并发,因此这个只能做为线下数据分析。不能做为线上的对外的一个高并发的解决方案。
关于infobright的安装使用就介绍到这里。
由于,咱们公司恰好在使用这款软件来做游戏数据的统计。因此,就把个人研究和使用过程记录下来。
若是有遗漏和错误之处,请留言告诉我。谢谢!
寒冰[phpqinsir]
2012年11月16日10:37
<a class="comment-reply-link" addComment.moveForm("comment-138", "138", "respond", "148")" href="http://blog.phpcxz.com/2012/10/infobright_install_config.html?replytocom=138#respond">回复 | 引用 | #1
我再补充一点:若是在启动infobright的时候,若是提示:Error – /etc/my-ib.cnf was not found! Please make sure Infobright installation completed and activated successfully.那么,去执行一下:/usr/local/infobright/postconfig.sh