VPストレージエンジンのドキュメント発見


 昨日、突然MySQLのVPストレージエンジンに目覚めて、少し触ってみていました。
http://d.hatena.ne.jp/sakaik/20110915/vp1
http://d.hatena.ne.jp/sakaik/20110915/vp2


 ドキュメントが見あたらずに、手探りで遊んでいたのですが、なんとちゃんとありました!


VPのバイナリをダウンロードをしたのが、http://spiderformysql.com/download_spider.html だったので、ずっとこちらのサイトばかり見ていたのですが、実はドキュメントは、↓にあります。
  https://launchpad.net/vpformysql
      (vp-doc-*.tgz というファイルがそうです)


#ちなみに、spiderは、こちら: https://launchpad.net/spiderformysql



 ドキュメントには、VPの開発ポリシー(使い方によっては問題を引き起こす可能性があるものでも、安易にフタをせず、便利であると判断したものは注意喚起付の上で実装する)も記述されているので、VPを使いたい人は必見です。
また、パラメタについても詳細に記述してあります。パラメタの指定によって、随分といろいろなことができるのですね。どんなパラメタがあるのか、以下に整理しました(基本的にはドキュメントの整形です。読みやすさのために一部表現を変更している部分があります)


サーバパラメタ

パラメタ名 説明
vp_bgi_mode  バックグラウンド挿入のモード
vp_bgs_mode  バックグラウンド検索のモード
vp_bgu_mode  バックグラウンド更新のモード
vp_udf_ct_bulk_insert_interval(*) bulk insertから次のbulk insertまでのインターバル
vp_udf_ct_bulk_insert_rows(*)  1回のbulk insertでコピーする行数
vp_child_binlog  行レベルレプリケーション選択時に、子テーブルに個々に対するバイナリログの出力有無
vp_choose_table_mode  検索時に利用するテーブルの選択モード
vp_choose_table_mode_for_lock  更新などのロック時に利用するテーブルの選択モード
vp_multi_range_mode  multi_range検索の際に子テーブルに対してmulti_rangeを引き渡す際のモード
vp_support_xa(*) Vertical Partitioningストレージエンジンのxaサポートの有無

(*)記号がついているもの意外は、セッションパラメタとして個別設定が可能

テーブルパラメタ

パラメタ名 短名 説明 デフォルト値
auto_increment_table ait テーブルにauto incrementカラムを追加した際に、採番を行うために利用する子テーブルの番号 1(table_listに記載した最初のテーブル)
bgi_mode bgi バックグラウンド挿入のモード 0:利用しない
bgs_mode bgs バックグラウンド検索のモード 0:利用しない
bgu_mode bgu バックグラウンド更新のモード 0:利用しない
child_binlog cbl 行レベルレプリケーション選択時に、子テーブルに個々に対するバイナリログの出力有無 0:子個々のbinlogを出力しない
choose_ignore_table_list cit 検索時に利用するテーブルの選択から指定した番号のテーブルを除外する 指定なし
choose_ignore_table_list_for_lock cil ロック付検索時に利用するテーブルの選択から指定した番号のテーブルを除外する。更新は行われる 指定なし
choose_table_mode ctm 検索時に利用するテーブルの選択モード 0:最適化モード。
choose_table_mode_for_lock cml 更新などのロック時に利用するテーブルの選択モード 1:「table_list」の前から順
default_database ddb 子テーブルのデータベース 親テーブルDBと同じ
infomation_source_table ist テーブルステータス取得のモード 0:全ての子テーブルからテーブルステータス取得を行う
multi_range_mode mrm multi_range検索の際に子テーブルに対して引き渡す際のモード 1:multi_range検索のまま引き渡す
pk_correspond_mode pcm 親テーブルと子テーブルのPK照合のモード 0:完全照合
support_table_cache stc テーブルキャッシュ対応のモード 1:クエリキャッシュ非対応
table_count_mode tcm テーブルの全件数を取得する際のモード 0:通常通り全件数をカウント
table_name_list tnl 子テーブル名のリスト。「table_name_list "tbl_a db_b.tbl_b"」のように指定する -
table_name_prefix tnp 子テーブル名につける接頭語 なし
table_name_suffix tns 子テーブル名につける接尾語 なし
zero_record_update_mode zru 0件更新の際のモード 0:何もしない

 一覧を眺めているだけでも、どんなことができるんだろう、何のためにこのパラメタをつけたのだろうと、想像が膨らみますね。


.