機能紹介の最近のブログ記事

IEE-MySQLがインポート/エクスポートするファイルの形式はinfobright.cnfファイルのBH_DATAFORMATパラメーターで指定する事ができ、このパラメーターに指定する値により使用するローダーも変わります。

BH_DATAFORMATパラメーターには以下のいずれかの値を指定します。

・txt_variable 
・binary
・infobright
・mysql

txt_variableはテキスト形式のデータのインポート/エクスポートを行い、ロードにはInfobrightローダーが使用されます。

binaryはバイナリ形式のデータのインポート/エクスポートを行い、ロードにはInfobrightローダーが使用されます。

infobrightはDLPが生成する圧縮形式のデータのインポートを行い、ロードにはInfobrightローダーが使用されます。

mysqlは一般的なMySQLの形式のデータのインポート/エクスポートを行い、ロードにはMySQLローダーが使用されます。

txt_variableまたはbinaryを指定するとinfobrightエンジンが利用される為、より効果的にエクスポートを行う事ができます。MySQLを指定するとエクスポートにはMySQLエンジンが使用されます。

★Have a nice open source day★
KSK Analytics Infobright Team
InfobrightエンタープライズエディションではCHARカラム、VARCHARカラムに対してlookupという修飾子を設定する事ができ、lookupカラムを定義する事でカラムの圧縮率、クエリパフォーマンスが向上します。

lookupカラムは値を整数に置き換えて圧縮せずにメモリで保持するので、多くのユニークな値を保持するカラムにlookupを設定すると大量にRAMを消費してしまいます。(ユニークレコード全件をRAMにロードするので、例えば100万件の100文字のユニークなレコードは100MBのRAMを消費します。)

lookupは以下のようなカラムに設定する事が推奨されています。:

・ カラムのユニークな値は10,000件以下

・ 重複した値とユニークな値の行数の比率が10:1以上のカラム (以下の2つのクエリの結果を比較)

   - SELECT COUNT(<COLUMN>) FROM...  
   - SELECT COUNT (DISTINCT <COLUMN>) FROM...

・ よく使用するカラム(使用頻度の低いカラムに設定しても無駄にRAMを消費するだけ)

カラムにlookupを設定するには以下のようにcommentに'lookup'を追加します。

   mysql> create table ...
   (...
   <<column name>> <<column type>> ... comment 'lookup' ...
   ...)
   engine=brighthouse;

まとめると、メモリを十分確保できる環境では、使用頻度が高く、ユニークな値が10,000件以下、
重複とユニークレコードの比率が10:1以上のCHAR, VARCHARカラムに対するlookupの設定が
パフォーマンスの向上に有効だと言えます。

★Have a nice open source day★
KSK Analytics Infobright Team