2013年2月18日

[MySQL][Spider][VP]Spider-3.0 VP-0.18リリース

Spiderストレージエンジンのバージョン 3.0(beta)とVartical Partitioningのバージョン 0.18(beta)をリリースしました。
大変長らくお待たせしました。今回は1年分の更新をまとめてお送りさせて頂きます。
Spiderストレージエンジンは、database sharding用のストレージエンジンです。
http://spiderformysql.com/
Vertical Partitioningストレージエンジンは、テーブルのVertical Partitioning用のストレージエンジンです。
http://launchpad.net/vpformysql

バイナリのダウンロードにはこちらをご利用ください。
http://spiderformysql.com/download_spider.html

今回の主な変更は以下です。
Spider
・Oracleテーブルにリンクできるようになりました。
 テーブルパラメータで「server "oracle"」を指定することで、Spiderの接続先にOracleを選択できるようになりました。
 ただし、OracleのクライアントライブラリがGPLではない関係で、この機能を利用する場合には、Oracleクライアントライブラリインストール環境(環境変数に「ORACLE_HOME」が必要になります)での、MySQLのリビルドが必要なのでご注意ください。また、テーブルパラメータ「host」にはOracleのサービス名、「database」にはOracleのスキーマ名を指定してください。
・handlersocketのbulk access機能に対応しました。
 こちらは、以下のhandlersocketで説明させて頂きます。
・「insert on duplicate key update」(「direct_dup_insert=1」設定時)の性能を改善しました。
 insert on duplicate key updateをなるべく直接データノードで実行するようにしました。
・サーバパラメータに「spider_bulk_access_free」を追加しました。
 handlersocketを利用しており、Spiderノードのメモリに余裕がある場合は、このパラメータを「1」に設定するとリソースの再利用性が高まることにより、パフォーマンスが向上することがあります。
・テーブルパラメータに「pk_name」「sequence_name」「bulk_access_free」を追加しました。
 「pk_name」は、データノードのテーブルがOracleのテーブルである場合など、プライマリキーの名称が「PRIMARY」以外の場合にこのパラメータにその名称を設定してください。
 「sequence_name」は、データノードのテーブルがOracleで、auto increment値をシーケンスで設定したい場合(「auto_increment_mode=2or3」の場合)に、このパラメータに利用するシーケンス名を設定してください。
注意点
・このバージョンから「spider_force_commit=1」がデフォルトになっています。これまでのバージョンと同じ設定で利用する場合は「spider_force_commit=0」を設定してください。

Vertical Partitioning
・handlersocketのbulk access機能に対応しました。
 こちらは、以下のhandlersocketで説明させて頂きます。

handlersocket
バージョン1.2になりました。
・bulk access機能を追加しました。
 handlersocketの複数クライアントを1スレッドでまとめて処理するという特性を利用して、処理をバルク化する機能です。
 Spider経由でデータノードにアクセスする際に、複数のリクエストがバルク化されて送り出されるため、スループットがかなり向上します。
・サーバパラメータに「handlersocket_bulk_exec_size」を追加しました。
 bulk access機能でバルク化するリクエスト数です。この値を「0」に設定するとbulk access機能がOFFになります。
 1回のバルク化で処理しきれないリクエストがある場合は、複数回バルク化され、パイプラインで処理されます。
 このパラメータはグローバルパラメータで、SQLインターフェースから動的に変更することが可能です。

それ以外の変更については、ダウンロードドキュメント中の「99_change_logs.txt」をご確認下さい。

今回のリリースは、まだ5.5系を対象としたもので、5.6系対応は申し訳ございませんが次回リリースをお待ちください。

Ingoさん、Enidさん、Yihueyさん、宍倉さん、新谷さん、加藤さん、バグレポートありがとうございます。
樋口さん、アドバイスありがとうございます。