Y-Ken Studio

新しもの好きのデータエンジニアが四方山話をお届けします。

mroongaのテーブルを、ストレージモードからラッパーモードに変換する方法

storageモードだとデータ型の扱いがMySQLでのそれと違い困っている。
そうだ、wrapperモードにしよう、と思い立った方向けの記事です。

StorageモードからWrapperモードに変換する

InnoDBのWrapperモードへ変更する場合はこうします。

ALTER TABLE foo_table ENGINE=mroonga COMMENT='engine "innodb"';

ダブルクォートの中は大文字小文字の指定はありませんので、以下のように記述しても動きます。

ALTER TABLE foo_table ENGINE=mroonga COMMENT='engine "InnoDB"';

そして、InnoDB以外にも、任意のストレージエンジンを選択することも出来ます。
MyISAMなどのトランザクションに対応していないストレージエンジンでも動きます。

ALTER TABLE foo_table ENGINE=mroonga COMMENT='engine "myisam"';

もしspiderエンジンを使う場合には、spider-3.0系を使いましょう。

WrapperモードからStorageモードに変換する

逆にStorageモードに変換したい場合は、コメントを空にすることで、変換できます。

ALTER TABLE foo_table ENGINE=mroonga COMMENT='';

なお、ラッパーモードで利用するストレージエンジン変更を行う場合にもこのクエリが使えます。