1. 程式人生 > >面向列的mysql資料庫引擎-BRIGHTHOUSE(infobright資料庫)

面向列的mysql資料庫引擎-BRIGHTHOUSE(infobright資料庫)

brighthouse 是infobright 資料庫的關鍵引擎。infobright 資料庫是基於mysql的,它的設計主要是用於大規模的資料倉庫和分析優化。可以去www.infobright.org下載開源社群版。 

       它的安裝非常簡單:解開了下載的gz包後,直接執行install-infobright.sh就ok了,在redhat5下安裝基本沒有遇到任何麻煩。 

       安裝之後,它的配置檔案是/etc/my-ib.cnf. 啟動指令碼是/etc/init.d/mysqld-ib. 客戶端命令是mysql-ib. 

       如果所安裝的機器上同時安裝有其他mysql,可能就有一點小麻煩了:沒法正常使用mysql-ib命令。這隻要是my.cnf搞的鬼。儘管infobright用的配置檔案是/etc/my-ib.cnf,但是my.cnf也會干擾。比如,如果在my.cnf中有‘comment’的配置項,當執行mysql-ib,就會有這樣的錯誤:unknown option '--comment'。 




       裝完之後試了試,果然不賴。匯入了5000萬行記錄,一條count語句不到30秒。想想在innoDB上,沒有個10分鐘出不來。 

      當前的版本支援30T的資料,採用的是資料壓縮的儲存方式,壓縮比例可達40:1。原來5000萬行的資料,十多G呢,匯入infobright之後,我一直到琢磨:它把我那5000多萬行記錄放哪去了^_^ 



      這東西好是好,不過有不少不爽的地方: 

開源版不支援insert等資料操作語句,匯入資料只能用load語句(這個匯入資料很快) 
還不支援UTF-8(這個最煩人了,儘管它提供了一種方案來解決這個問題) 
企業版可也不便宜$10000/T (mysql才600刀)(資料倉庫類的軟體都很貴,這已經算很便宜的了^_^) 

跟我們平常用的其他引擎(如innodb)不是很相容,比如不支援bit型別;position也是關鍵字,不能用來做欄位名。反正是使用在innodb上的資料庫指令碼可能不能在這上直接使用。(這都算,太懶了^_^)