2013年10月7日

[MySQL][Spider][VP]Spider-3.1 VP-1.0 released

I'm pleased to announce the release of Spider storage engine version 3.1(beta) and Vertical Partitioning storage engine version 1.0(beta).
Spider is a Storage Engine for database sharding.
http://spiderformysql.com/
Vertical Partitioning is a Storage Engine for vertical partitioning for a table.
http://launchpad.net/vpformysql

Please use the following for downloading binary file.
http://spiderformysql.com/download_spider.html

The main changes in this version are following.
Spider
- Add server parameter "spider_general_log" and "spider_log_result_errors".
- Add table parameter "force_bulk_update" and "force_bulk_delete".
- Add "spider_bka_mode=2" and "bka_mode=2".
- Add "mysql.spider_xa_failed_log" table.
- Performance improvement for "COUNT", "MAX", "MIN" and "SUM" without join and distinct.
- Performance improvement for fulltext search.
- Add case of parallel searching.
Note: "semi_split_read=2" is default value from this version. If you want to use previous version's setting, please set "semi_split_read=0".

Vertical Partitioning
  This release is bug fix release.

MySQL
Becomes version 5.5.34.
- Add "log_result_errors".

Please see "99_change_logs.txt" in the download documents for checking other changes.

Thanks to memorycraft, Adrian, Stephane, Sergey, Elena, Enid, Koichi, Yutaro, Honda-san, Kanzaki-san for bug reporting.

Enjoy!

[MySQL][Spider][VP]Spider-3.1 VP-1.0リリース

Spiderストレージエンジンのバージョン 3.1(beta)とVartical Partitioningのバージョン 1.0(beta)をリリースしました。
Spiderストレージエンジンは、database sharding用のストレージエンジンです。
http://spiderformysql.com/
Vertical Partitioningストレージエンジンは、テーブルのVertical Partitioning用のストレージエンジンです。
http://launchpad.net/vpformysql

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

今回の主な変更は以下です。
Spider
・サーバパラメータに「spider_general_log」「spider_log_result_errors」を追加しました。
・テーブルパラメータに「force_bulk_update」「force_bulk_delete」を追加しました。
・「spider_bka_mode=2」「bka_mode=2」が追加されました。
・「mysql.spider_xa_failed_log」テーブルが追加されました。
・join、distinctなしCOUNT、MAX、MIN、SUMの性能が改善されました。
・全文検索を行った際の性能が改善されました。
・パラレル検索を実施するケースを追加しました。
注意点
・このバージョンから「semi_split_read=2」がデフォルトになっています。これまでのバージョンと同じ設定で利用する場合は「semi_split_read=0」を設定してください。

Vertical Partitioning
今回はバグフィックスリリースです。

MySQL
今回から5.5.34になっています。
・「log_result_errors」が追加になりました。

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

memorycraftさん、Adrianさん、Stephaneさん、Sergeyさん、Elenaさん、Enidさん、宍倉さん、島村さん、本多さん、神崎さん、バグレポートありがとうございます。

2013年9月12日

[MariaDB][MySQL][Spider]SkySQLが日本でコミュニティイベントを開催します

10/9にSkySQLが日本でMariaDB/MySQLのコミュニティイベントを開催します。
Colin Charles氏、Ivan Zoratti氏、Michael Carney氏が来日されます。
株式会社アシスト様より、SkySQLサポートの国内事例もご紹介いただけるようです。
また、私もそのイベントで登壇させて頂くことになりました。

このイベントは懇親会からの参加も可能ですので、ご都合に合わせてお越しいただければ幸いです。
皆様のお越しをお待ちしております。
http://atnd.org/event/E0019626

2013年8月23日

[MariaDB][Spider]SpiderがMariaDBにバンドルされました

SpiderストレージエンジンがMariaDB 10.0.4にバンドルされました。
https://downloads.mariadb.org/mariadb/10.0.4/

以降のMariaDBのバージョンでは、MariaDBをインストールすると
すぐにSpiderが利用可能です。
MariaDBインストール後、Spiderストレージエンジンを利用する場合には、
shareディレクトリ配下の「install_spider.sql」を実行してください。

MariaDB 10.0.4はまだアルファ版なので、利用にはご注意ください。
現在のMariaDBバンドル版Spiderは、MySQL版と比較して以下の点が異なります。

利用できるようになった機能
 batched key access
  joinを高速化するための機能です。
  「join_cache_level=5」以上を設定することで有効になります。
 assisted discovery
  dataノードのテーブル定義を自動的に引き継いでテーブルを作成する機能です。
  例えば、dataノードのテーブルが
CREATE TABLE `t1` (
  `id` bigint NOT NULL,
  `c1` varchar(100) NOT NULL,
  `c2` datetime NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
  のような場合に、Spiderノードで以下のようなDDLを実行することで、テーブルを作成することができます。
CREATE TABLE `t1` ENGINE=SPIDER DEFAULT CHARSET=latin1 CONNECTION='database "test", table "t1", server "s1"';
現在利用できない機能
 slave_transaction_retry_errorsを使ったスレーブのリトライ
 handlersocket経由でのSpiderテーブルの利用
 単一テーブルの更新の最適化
 partitionされたSpiderテーブルの
 ・engine condition pushsown
 ・fulltext index search
 ・spacial index search
 ・全件countの最適化
 ・parallel search


また、ご報告が遅くなりましたが、Spider 3.0のリリースのすぐ後に
日本OSS推進フォーラム様より「第8回 日本OSS奨励賞」を頂きました。
http://ossforum.jp/ossaward8th2
みなさまのご支援・ご協力に、厚く御礼申し上げます。

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さん、宍倉さん、新谷さん、加藤さん、バグレポートありがとうございます。
樋口さん、アドバイスありがとうございます。