好吧,有段时间没使用 infobright ,再一次的使用。
老老实实的落下个文档^_^
1. 搭建使用 [
参考] #官方社区版[]
a.安装 rpm -ivh infobright-4.0.7-0-x86_64-ice.rpm
b.运行 /usr/local/infobright/postconfig.sh
指定和初始化数据存放目录 - 这次测试我这修改为 /data/cache1/test/infob/data
还有以及会问是否修改服务端口等
结束后 脚本会生成 /etc/my-ib.cnf #mysql 服务相关配置
c. 初始化数据库
- $> /usr/local/infobright/scripts/mysql_install_db --user=mysql \
- --datadir=/data/cache1/test/infob/data \
- --basedir=/usr/local/infobright
- $> chown -R mysql:mysql /data/cache1/test/infob/data/
d. 启动服务 : /etc/init.d/mysqld-ib start
e. 好了开始欢喜的使用 : mysql-ib -u root
f. 创建新的远程用户newuser
- GRANT ALL PRIVILEGES ON *.* TO newuser@"%" IDENTIFIED BY '123456' WITH GRANT OPTION;
g. 在大数据的导入是总会碰见一些异常,在 load 中加个忽略异常就可以绕过
- 可以 跳过 异常 加关键字
- nohup time mysql-ib test -e "
- SET SQL_LOG_BIN = 0 ;
- LOAD DATA INFILE '/tmp/t07' ignore INTO TABLE tmpcity FIELDS TERMINATED BY ' ' ;
- " &
-
2.
原理[
参考 | [
不周山的参考] ]
infobright采用mysql一样的架构。上层SQL解析层,下层存储引擎。
infobright通过三层来组织数据,分别
*
DP(Data Pack) 真实存储数据
-- 每个Pack装着某
一列的64K个元素 # 这也就为什么叫 列存储 ^_^
-- 每一个数据块进行类型相关的压缩(即根据不同数据类型采用不同的压缩算法),压缩比很高。它上层的压缩器与解压缩器就做了这个事情
*
DPN(Data Pack Node) 对应单个DP建立了统计信息 min,max,avg等
*
KN(Knowledge Node) 知识网格
-- 提供快速查询关键模块是 ,则存储了一些更高级的统计信息,以及与其它表的连接信息
-- 这也算 bi 放弃索引的原因,以及 修改数据比较困难的原因
-- 不周山的参考中
查询原理(为什么infobright能处理大量数据的查询)大家可以好好看下。
--
Knowledge Grid构架是Infobright高性能的重要原因。 --
Knowledge Grid可分为四部分
---- DPN 存储智能网格物理文件
---- Histogram 用来提高数字类型 (max,min,avg)
---- CMAP 是针对于文本类型的查询
---- P-2-P 查询出现 join 优化
3. 配置调优 [
参考]
-- 就与 导入/查询时现场压缩/解压DP,加大我们的CPU肯定没错.
* brighthouse.ini
--- ServerMainHeapSize 主要使用内存大小,根据机器尽量给大。不过别去使用 swap 就可
--- LoaderMainHeapSize 列数比较多的适当调大;长文本字段,适当调大;
--- CacheFolder 临时文件的路径,可以和data目录放在不同的IO上,适当分担压力
--- AllowMySQLQueryPath 设置为0禁止,infobright无法优化的查询也不会使用Mysql优化
--- KNFolder
知识网格的存储地址,默认是在数据文件同目录下,约占数据文件容量的1%,有需要使用 SSD 硬盘
--- ControlMessages IB自身bh.err日志记录的详细度
4. 我们的应用场景 在hadoop统计平台还没搭建起来,对日/月统计报表 先合并到infob里使用 SQL 统计出报表
阅读(1742) | 评论(0) | 转发(0) |