11-21 3,403 views
infobright(https://www.infobright.org/)是一款基于MySQL的数据仓库,它采用列式存储,压缩比高,查询速度快。
infobright提供社区(ICE)和商业(IEE)两个版本,ICE版本不支持DML,无法执行insert、update、delete和alter操作。
在工作中,我们每天会通过hadoop统计出前一天全站每个页面的PV和UV,约有数几千万条记录。我们使用infobright来存储这些数据并提供快速查询。
安装
在Linux 64位系统中,下载infobright-4.0.7-0-x86_64-ice.rpm,执行以下语句进行安装:
rpm -ivh infobright-4.0.7-0-x86_64-ice.rpm
infobright默认安装在/usr/local/infobright-4.0.7-x86_64,执行该目录下的postconfig.sh可以修改相关配置,默认配置如下所示:
Current config file: [/etc/my-ib.cnf]
Current brighthouse.ini file: [/usr/local/infobright-4.0.7-x86_64/data/brighthouse.ini]
Current datadir: [/usr/local/infobright-4.0.7-x86_64/data]
Current CacheFolder in brighthouse.ini file: [/usr/local/infobright-4.0.7-x86_64/cache]
Current socket: [/tmp/mysql-ib.sock]
Current port: [5029]
修改相关配置后,执行以下语句启动服务:
/usr/local/infobright-4.0.7-x86_64/bin/mysqld_safe &
使用
创建表
1 2 3 4 5 6 7 8 9 |
create table if not exists url_stat_20141117 ( refer_type int , id int , id_type int , url_type int , url text , uv int , pv int ); |
装载数据
hadoop统计前一天全站每个页面的PV和UV,统计结果存储在文件中,每行包含7列,每列使用“\t”分隔,并且与表字段一一对应。
原始文件大小一般接近10G,使用以下语句加载数据至infobright:
1 |
load data infile '/opt/data/url_stat_20141117.txt' into table url_stat_20141117 fields terminated by '\t' enclosed by 'NULL' lines terminated by '\n'; |
对于表url_stat_20141117,infobright在data目录下使用文件url_stat_20141117.frm保存schema信息,使用目录url_stat_20141117.bht保存数据。装载数据后,url_stat_20141117.bht中的文件总大小约为1.3G,与原始文件相比,压缩比接近10:1。表中记录约有7000多万条。
版权属于: 我爱我家
原文地址: http://magicwt.com/2014/11/21/infobright%e7%ae%80%e4%bb%8b%e4%b8%8e%e5%ae%9e%e8%b7%b5/
转载时必须以链接形式注明原始出处及本声明。