Infobright简介与实践

11-21 2,929 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
infobright的存储引擎为BRIGHTHOUSE。

装载数据

hadoop统计前一天全站每个页面的PV和UV,统计结果存储在文件中,每行包含7列,每列使用“\t”分隔,并且与表字段一一对应。
1
1
原始文件大小一般接近10G,使用以下语句加载数据至infobright:

对于表url_stat_20141117,infobright在data目录下使用文件url_stat_20141117.frm保存schema信息,使用目录url_stat_20141117.bht保存数据。装载数据后,url_stat_20141117.bht中的文件总大小约为1.3G,与原始文件相比,压缩比接近10:1。表中记录约有7000多万条。
1
1

PostgreSQL+PostGIS安装

PostgreSQL(http://www.postgresql.org/)与MySQL类似,也是一款开源、免费数据库。PostGIS(http://www.postgis.org/)是一款PostgreSQL插件,为PostgreSQL提供...

阅读全文

聚簇索引(摘自《高性能MySQL》)

InnoDB的聚簇索引实际上在同一个结构中保存了B-Tree索引和数据行。 当表有聚簇索引时,它的数据行实际上存放在索引的叶子页(leaf page)中。术语“聚簇”表示...

阅读全文