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 提示安装完成,执行./postconfig.sh
3、 提示到/data/infobright/infobright-4.0.6-x86_64中,执行 提示是否注册,选择“N”,不注册
4、 改infobright密码 5、 启动,关闭infobright 查看进程 #ps aux |grep bright
infobright端口为5029
6、 进入infobright 7、infobright应用
因为infobright不支持insert,update等,只能用导入的方式将文件导入其中,要有正确的分隔符,才能确保数据正常插入。
要将文件导入到infobright中,要先建数据库,然后建表,然后导入文件 *此处URL列,定义为varchar并设置大小1500,日志文件中URL一列有时候会比较大,如果此处设置较小,如255,刚插入时会在相应行数报错,并插入失败
*infobright与mysql建库语句相似,只是Infobright为BRIGHTHOUSE存储引擎
如上建立完表后,导入日志文件到数据库中 测试日志格式 为 插入完成后,我们就可以做相应的查询操作
查询语句与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
一、几大优点:
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 提示安装完成,执行./postconfig.sh
3、 提示到/data/infobright/infobright-4.0.6-x86_64中,执行 提示是否注册,选择“N”,不注册
4、 改infobright密码 5、 启动,关闭infobright 查看进程 #ps aux |grep bright
infobright端口为5029
6、 进入infobright 7、infobright应用
因为infobright不支持insert,update等,只能用导入的方式将文件导入其中,要有正确的分隔符,才能确保数据正常插入。
要将文件导入到infobright中,要先建数据库,然后建表,然后导入文件 *此处URL列,定义为varchar并设置大小1500,日志文件中URL一列有时候会比较大,如果此处设置较小,如255,刚插入时会在相应行数报错,并插入失败
*infobright与mysql建库语句相似,只是Infobright为BRIGHTHOUSE存储引擎
如上建立完表后,导入日志文件到数据库中 测试日志格式 为 插入完成后,我们就可以做相应的查询操作
查询语句与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