mysql 数据仓库引擎_MySQL开源引擎infobright数据仓库解决方案

infobright是开源的MySQL数据仓库解决方案,它基于在MySQL上二次开发,infobright主要实现的就是一个存储引擎,但因为它自身存储逻辑跟关系型数据库根本不同,所以,它不能像InnoDB那样直接作为插件挂接到mysql,它的逻辑层是mysql的逻辑 层加上它自身的优化器。

infobright有以下几个特点:

1、高强度的数据压缩在普通10:1, 在极限情况下可以达到40:1 甚至更高,自己在使用infobright过程中曾把5.1G的数据可以压缩成152M左右;

2、优化的统计计算(使用sum/avg/group by/count等),特别适用于统计函数生成的报表数据;

3、不需要建索引,就避免了维护索引及索引随着数据膨胀的问题。把每列数据分块压缩存放,每块有知识网格节点记录块内的统计信息,代替索引,加速搜索;

4、列式存储,在没有索引的情况下同理也没有主键、自动递增字段、无符号。

infobright产品分为社区版ICE和企业版IEE,其使用的引擎是BRIGHTHOUSE,在使用IEE版本是没有限制的,但是使用ICE版本则有3个限制:

1、不支持数据更新,因此在导入数据的时候只能用“LOAD DATA INFILE”的方式导入数据,此外一旦入库后就不能在仓库中用UPDATE、INSERT等方式写入;

2、不支持对CPU多核的使用,使得性能极低,要知道入数据仓库的数据都是极大的数据,没有多核支持查询大量的数据极慢;

3、只能单机使用,不具备任何的复制以及扩展,这样就限制了大规模集群的可能性。

所以日常使用建议还是使用IEE版本,而infobright的安装部署也十分简单可以在官网下载rpm包来进行安装部署,可以把安装过的服务器上把文件打包后直接解压后修改参数部署,其配置文件my-ib.cnf可以事先写好,如果在安装后需要重新修改参数可以使用内置的postconfig.sh脚本修改默认参数,默认的配置文件在support-files中

[root@localhost local]# cd /usr/local/infobright/

[root@localhost infobright]# chmod +x ./*.sh && chmod +x bin/* && chmod +x scripts/mysql_install_db

[root@localhost infobright]# cp support-files/mysql.server /etc/init.d/mysqld-ib

[root@localhost infobright]# chmod +x /etc/init.d/mysqld-ib

[root@localhost infobright]# cp support-files/my-ib.cnf.in /etc/my-ib.cnf#其中参数变量需要修改

…略…

[client]

…略…

default_character_set=utf8

…略…

[mysqld]

user        = root#也可以用mysql用户

port            = 5029

socket          = /tmp/mysql-ib.sock

basedir = /usr/local/infobright

datadir = /data/infobright_data

log-error = /data/infobright_data/localhost.err

…略…

default_character_set=utf8

collation_server=utf8_general_ci

character_set_server=utf8

[root@localhost infobright]# vim /etc/profile.d/infobright.sh#在没有MySQL的服务器上添加环境变量

export PATH=$PATH:/usr/local/infobright/bin

[root@localhost infobright]# source /etc/profile.d/infobright.sh

[root@localhost infobright]# ./scripts/mysql_install_db --force --defaults-file=/etc/my-ib.cnf --datadir=/data/infobright_data --user=root

[root@localhost infobright]# cd /data/infobright_data/

[root@localhost infobright_data]# vim brighthouse.ini#修改BRIGHTHOUSE引擎参数

################## BrightHouse configuration file ####################

# To change values, uncomment the parameter and specify desired value.

############ Critical Disk Settings ############

# Data Folder: check where you installed brighthouse data folder (directory this file is in) - it should be on a fast disk.

# CacheFolder - a place in which temporary database objects (memory cache) are stored.

# Should be on a fast drive, possibly not the same as data. Allow at least 20 GB of free space (depending on database size).

CacheFolder = /data/infobright_data/cache

############  Critical Memory Settings ############

# System Memory    Server Main Heap Size    Server Compressed Heap Size  Loader Main Heap Size

# 32GB                24000                      4000                      800

# 16GB                10000                      1000                      800

#  8GB                  4000                      500                      800

#  4GB                  1300                      400                      400

#  2GB                  600                        250                      320

# The default values are set to 600, 250, and 320 respectively, and performance may be  impacted.

# ServerMainHeapSize - Size of the main memory heap in the server process, in MB

ServerMainHeapSize = 4000

# LoaderMainHeapSize - Size of the memory heap in the loader process, in MB.

LoaderMainHeapSize = 800

############ Logging Settings ############

# ControlMessages - Set to 2 to turn the control messages on. This is usually needed by Infobright to support performance investigation.

# ControlMessages = 0

############  Other Settings ############

# KNFolder - Directory where the Knowledge Grid is stored.

KNFolder = BH_RSI_Repository

# AllowMySQLQueryPath can be set to 0 to disable MySQL Query path or 1 to enable it.

AllowMySQLQueryPath = 1

[root@localhost infobright_data]# /etc/init.d/mysqld-ib start

[root@localhost infobright_data]# mysql -S /tmp/mysql-ib.sock -p

在这里需要注意的是修改BRIGHTHOUSE参数时重要的参数如下:

123456 CacheFolder 临时数据目录,用于缓存处理查询的中间结果集,与Datadir相异为宜,可用空间大于20G

ServerCompressedHeapSize 服务进程的压缩堆栈空间,存放压缩数据

LoaderMainHeapSize Bhloader数据导入缓冲区,随目标表的列数增加而调整,loader进程的堆栈空间,一般最大不超过800M

ControlMessages 控制盒查询日志的信息量级别(1-3之间)

KNFolder 知识网络目录,默认在datadir目录下

AllowMySQLQueryPath 是否支持Mysql原生的SQL查询,支持修改为1,否则0

0de907776c2ba599c39e9533adfdc538.png

最后在infobright尽可能使用的数据类型:TINYINT,SMALLINT,MEDIUMINT,INT,BIGINT,DECIMAL(尽量减少小数点位数),DATE ,TIME,而效率比较低的、不推荐使用的数据类型有:BINARY VARBINARY,FLOAT,DOUBLE,VARCHAR,TINYTEXT TEXT,在infobright要把数据导出成sql脚本则需要使用mysqldump的“--single-transaction”参数使用单事务的方式导出,及事务的REPEATABLE READ隔离模式,MySQL的事务以前有提及过需要可以参看: http://www.linuxidc.com/Linux/2017-09/146850.htm

0b1331709591d260c1c78e86d0c51c18.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值