infobright安装与配置

来源:互联网 发布:php网站流量统计代码 编辑:程序博客网 时间:2024/06/06 05:31


Infobright是基于专利技术的列式数据库,一个基于MySQL开发的开源数据仓库(Data Warehouse)软件,可作为MySQL的一个存储引擎来使用,SELECT查询与普通MySQL无区别。
一、几大优点:
1、高压缩比率,平均压缩比可达10:1。(经测试,我们的1500万条697M日志数据压缩比例为6:1,压缩后数据大小仅为114M)
2、列存储,即使数据量十分巨大,查询速度也很快。(经测试,一条在infobright中的复合查询要30秒,在mysql中要一分多)
3、不需要建索引,就避免了维护索引及索引随着数据膨胀的问题。把每列数据分块压缩存放,每块有知识网格节点记录块内的统计信息,代替索引,加速搜索。
4、单一台服务器可以高效地读写30T数据。具有可扩展性,这里是指对于同样的查询,当数据量是10T时,它耗费的时间不应该比1T数据量时慢太多,基本是一个数量级内。

注:实际上infobright取一条记录比mysql要慢很多,但它取100W条记录会比mysql快。所以比较适用于日志、或汇总的大量的数据。

二、infobright限制
1、不支持数据更新:社区版Infobright只能使用“LOAD DATA INFILE”的方式导入数据,不支持INSERT、UPDATE、DELETE
2、不支持高并发:只能支持10-18多个并发查询

rpm包方式安装infobright
安装rpm
1、 官方下载rpm包 
infobright网站及下载地址 http://www.infobright.org


2、 安装inforbright

  1. #rpm -ivh  infobright-4.0.6-0-x86_64-ice.rpm  --prefix=/data/infobright
  2. #(此处我们可只写一级目录,如/data,会默认建立infobright-version-x86_64目录)

提示安装完成,执行./postconfig.sh


3、 提示到/data/infobright/infobright-4.0.6-x86_64中,执行

  1. #./postconfig.sh

提示是否注册,选择“N”,不注册


4、 改infobright密码

  1. #/usr/local/infobright-3.4.2-x86_64/bin/mysqladmin -u root password ‘newpass’


5、 启动,关闭infobright

  1. #/etc/init.d/mysqld start/stop

查看进程 #ps aux |grep bright
infobright端口为5029


6、 进入infobright

  1. #/data/infobright/infobright-4.0.6-x86_64/bin/mysql -u root –p


7、infobright应用
因为infobright不支持insert,update等,只能用导入的方式将文件导入其中,要有正确的分隔符,才能确保数据正常插入。
要将文件导入到infobright中,要先建数据库,然后建表,然后导入文件

  1. sql>create database test;
  2. OK
  3. sql>CREATE TABLE `test`(
  4. sql> `uid` varchar(8) not null,
  5. sql>`testchar` varchar(500) not null
  6. sql>ENGINE=BRIGHTHOUSE;
  7. OK

*此处URL列,定义为varchar并设置大小1500,日志文件中URL一列有时候会比较大,如果此处设置较小,如255,刚插入时会在相应行数报错,并插入失败
*infobright与mysql建库语句相似,只是Infobright为BRIGHTHOUSE存储引擎


如上建立完表后,导入日志文件到数据库中

  1. load data infile '/data/8300.log1' into table acclog2 fields terminated by ' ' enclosed by '~';

测试日志格式 为

  1. 5.5.5.5 "GET/
  2. 1.1.1.1 "GET/tp/hd2011/2012/03-23/93202.shtml
  3. 2.2.2.2 "GET/tp/hd2011/2012/03-23/93154.shtml
  4. 3.3.3.3 "GET/jk/2012/02-01/3636363.shtml?bsh_bid=71499652
  5. 4.4.4.4 "GET/fz/2012/02-02/3638146.shtml?ts=1328178086

插入完成后,我们就可以做相应的查询操作
查询语句与MYSQL完全相同



infobright源码安装(安装过程中容易出错,且不同版本安装方式不同,详见各安装包中README)
安装前准备
1、        系统gcc版本为4.2.X 及以上
2、        一些必要的aclocal, autoheader, libtool(1.5.22), automake, autoconf (2.59), autoreconf (2.59), make (3.81), m4 - macro preprocessor(1.4.5), libncurses5, libncurses5-dev, zlib, zlib-devel, perl
3、        boost 1.42 以上包含(boost-regex*, boost-program-options*,boost_thread*, boost_filesystem*, boost_system*)

Boost安装

#wget http://sourceforge.net/projects/ ... 9_0.tar.gz/download
#tar zxvf boost_1_49_0.tar.gz
#./bootstrap.sh --prefix=/usr/local/boost_1_49_0
#./bjam install
#export BOOST_ROOT=/usr/local/boost_1_49_0
安装infobright
1、官方下载安装包 http://www.infobright.org/Downlo ... 1-x86_64-ice.tar.gz

2、建立用户
#groupadd mysql
#useradd -g mysql mysql


3、安装

tar zxvf infobright-3.3.1-x86_64-ice.tar.gz
cp -R infobright-3.3.1-x86_64 /usr/local/infobright
cd /usr/local/infobright
./install-infobright.sh --datadir=/usr/local/infobright/mysqldata/ 
#./install-infobright.sh --datadir=/usr/local/infobright/mysqldata/ --cachedir=/usr/local/infobright/cache/ --config=/usr/local/infobright/etc/my.cnf --port=33066 --socket=/tmp/mysql33066.sock --user=mysql --group=mysql
注:install说明:
所以参数目录值不需要新建,因为install会自动创建这些目录;
安装后会提示是否在线注册,选择N不注册


4、datadir目录中的brighthouse.ini,可改内存大小和等相应参数


5、启动infobright
socket方式启动:/usr/local/infobright/bin/mysql -u root -p -S /tmp/mysql33066.sock
TCP/IP方式启动:/usr/local/infobright/bin/mysql -u root -p

0 0