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
2、 安裝inforbright
#rpm -ivh infobright-4.0.6-0-x86_64-ice.rpm --prefix=/data/infobright
#(此處我們可只寫一級目錄,如/data,會預設建立infobright-version-x86_64目錄)
提示安裝完成,執行./postconfig.sh
3、 提示到/data/infobright/infobright-4.0.6-x86_64中,執行
#./postconfig.sh
提示是否註冊,選擇「n」,不註冊
4、 改infobright密碼
#/usr/local/infobright-3.4.2-x86_64/bin/mysqladmin -u root password 『newpass』
5、 啟動,關閉infobright
#/etc/init.d/mysqld start/stop
檢視程序 #ps aux |grep bright
infobright埠為5029
6、 進入infobright
#/data/infobright/infobright-4.0.6-x86_64/bin/mysql -u root –p
7、infobright應用
因為infobright不支援insert,update等,只能用匯入的方式將檔案匯入其中,要有正確的分隔符,才能確保資料正常插入。
要將檔案匯入到infobright中,要先建資料庫,然後建表,然後匯入檔案
sql>create database test;
oksql>create table `test`(
sql> `uid` varchar(8) not null,
sql>`testchar` varchar(500) not null
sql>engine=brighthouse;ok
*此處url列,定義為varchar並設定大小1500,日誌檔案中url一列有時候會比較大,如果此處設定較小,如255,剛插入時會在相應行數報錯,並插入失敗
*infobright與mysql建庫語句相似,只是infobright為brighthouse儲存引擎
如上建立完錶後,匯入日誌檔案到資料庫中
load data infile '/data/8300.log1' into table acclog2 fields terminated by ' ' enclosed by '~';
測試日誌格式 為
5.5.5.5 "get/
1.1.1.1 "get/tp/hd2011/2012/03-23/93202.shtml
2.2.2.2 "get/tp/hd2011/2012/03-23/93154.shtml
3.3.3.3 "get/jk/2012/02-01/3636363.shtml?bsh_bid=71499652
4.4.4.4 "get/fz/2012/02-02/3638146.shtml?ts=1328178086
插入完成後,我們就可以做相應的查詢操作
查詢語句與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
... 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
/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會自動建立這些目錄;
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
infobright 安裝到建立資料表到匯入資料
cd etc init.d mysqld ib stop mysqld ib start cd etc init.d iptables stop 2.解壓直接安裝 3.進入infobright command line client 4.建立本地許可權使用者 mysql grant all priv...
安裝與配置php,PHP的安裝以及配置
安裝以及配置 1.安裝apache 2.2.4 apache dir d myspace apache 2.2.4 2.解壓安裝php 5.2.11 php dir d myspace php 5.2.11 3.找到php 5.2.11下的php.ini dist,改名為php.ini 4.開啟ph...
honeyd安裝與配置
所需構件如下 按以下順序安裝 libdnet 1.11.tar.gz tar xvzf libdnet 1.11.tar.gz cd libdnet 1.11 configure make make install libevent 1.1a.tar.gz cd libevent 1.1a conf...