Pocket

列指向データベース Infobright のセットアップ方法

  • add this entry to hatena bookmark

データウェアハウスなどの分析用DBとして利用される、列指向データベース「Infobright」を使ってみたので、記録しておきます。

Infobright とは

MySQLインターフェースを使って利用できる列指向データベースです。

InnoDBやMyISAMは行指向データベースですが、Infobrightは MySQLのストレージエンジン(BRIGHTHOUSE)として組み込まれている列指向データベースエンジンです。

セットアップ環境

今回は、AWS EC2 で Infobright をセットアップしました。

Infobright は、無料で使える Infobright Community Edition (ICE) 4.0.7 となります。64bit rpm の infobright-4.0.7-0-x86_64-ice.rpm を使います。MySQLとしては 5.1.40 build を使っているようです。

インストール

まず、NSCDを先にインストールします。これが入っていないと、infobright インストール時に怒られます。

# yum install nscd

次に、Infobright をインストールします。

# rpm -ivh infobright-4.0.7-0-x86_64-ice.rpm

インストールは以上です。

利用前の設定

Infobright の起動・停止は、「/etc/init.d/mysqld-ib」スクリプトを利用します。このスクリプトでは、/etc/my-ib.cnf を利用します。(内容的には my.cnf の位置付けです。)

/etc/my-ib.cnf がないと、起動時にERRORとなります。

# /etc/init.d/mysqld-ib status
Error - /etc/my-ib.cnf was not found! Please make sure Infobright installation completed and activated successfully.
#
# cp /etc/my-ib.cnf.inactive /etc/my-ib.cnf
# /etc/init.d/mysqld-ib start
Starting MySQL. SUCCESS!
#

次に通常のMySQLと同じように、rootパスワードの設定やtest用DBを削除するスクリプトを実行します。

# /usr/local/infobright-4.0.7-x86_64/bin/mysql_secure_installation

ストレージエンジン確認

MySQL(Infobright)にログインしてストレージエンジンを確認してみます。

mysql> show engines;
+-------------+---------+-----------------------------------------------------------+--------------+------+------------+
| Engine      | Support | Comment                                                   | Transactions | XA   | Savepoints |
+-------------+---------+-----------------------------------------------------------+--------------+------+------------+
| BRIGHTHOUSE | DEFAULT | Brighthouse storage engine                                | YES          | NO   | NO         |
| MRG_MYISAM  | YES     | Collection of identical MyISAM tables                     | NO           | NO   | NO         |
| CSV         | YES     | CSV storage engine                                        | NO           | NO   | NO         |
| MyISAM      | YES     | Default engine as of MySQL 3.23 with great performance    | NO           | NO   | NO         |
| MEMORY      | YES     | Hash based, stored in memory, useful for temporary tables | NO           | NO   | NO         |
+-------------+---------+-----------------------------------------------------------+--------------+------+------------+
5 rows in set (0.00 sec)

mysql>

InnoDBはなく、BRIGHTHOUSE がデフォルトのストレージエンジンになっています。

あとがき

/etc/my-ib.cnf では、例えばデフォルト値で「character_set_server=latin1」となっていたりしますので、環境に合わせて幾つか修正が必要になると思います。

Infobright Community Edition では、INSERT、UPDATE、DELETE等のDMLが使えません。データは LOAD DATA で取り込む形となります。分析用の簡易DBという位置づけのようで、上位版に Infobright Enterprise Edition があります。

INSERT コマンドを発行してみると、以下のようなERRORになります。

mysql> insert into test values(1,'test');
ERROR 1031 (HY000): Table storage engine for 'test' doesn't have this option
mysql>

データのロードは問題なく行えますので、大量の分析対象ログなどを取り込む事ができます。

mysql> LOAD DATA INFILE '/tmp/test.csv' INTO TABLE test FIELDS TERMINATED BY ',' ENCLOSED BY '"';
Query OK, 4 rows affected (0.08 sec)
Records: 4  Deleted: 0  Skipped: 0  Warnings: 0

mysql>

今後、BIツールも含めて触ってみたいと思います。

Pocket

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です


*

チェックサイト RSS Feed読者登録はいかがでしょうか?RSS配信中です。