[MySQL][Spider][VP]Spider-3.0 VP-0.18 released

I'm pleased to announce the release of Spider storage engine version 3.0(beta) and Vertical Partitioning storage engine version 0.18(beta).
Thank you for waiting such a long time! This release includes my 1 year development.
Spider is a Storage Engine for database sharding.
Vertical Partitioning is a Storage Engine for vertical partitioning for a table.

Please use the following for downloading binary file.

The main changes in this version are following.
- Support link to oracle tables.
  Connection from Spider to Oracle is now available by using table parameter 'server "oracle"'. For using this feature, please build from source code on Oracle client library installed server with 'ORACLE_HOME'. I can't bundle Oracle client library because Oracle client library isn't GPL. And please set service name of Oracle to table parameter 'host', schema name of Oracle to table parameter 'database'.
- Support handlersocket bulk access feature.
  Please read the following 'handlersocket' section.
- Performance improvement for "insert on duplicate key update" with "direct_dup_insert=1".
  'insert on duplicate key update' is sent to data node directly as much as possible.
- Add server parameter "spider_bulk_access_free".
  If Spider server using handlersocket has enough memory, there is possibility of performance improvement by setting this parameter to '1' for growing memory reusability.
- Add table parameter "pk_name", "sequence_name", "bulk_access_free".
  Please set primary key name of data node table to 'pk_name', if primary key name of data node table is not 'PRIMARY' like using Oracle table.
  Please set sequence name of data node to 'sequence_name', if you want to use sequence of data node table for auto increment value like using Oracle table with 'auto_increment_mode=2or3'.
Note: "spider_force_commit=1" is default value from this version. If you want to use previous version's setting, please set "spider_force_commit=0".

Vertical Partitioning
- Support handlersocket bulk access feature.
  Please read the following 'handlersocket' section.

Becomes version 1.2.
- Add bulk access feature.
  Handlersocket is multiple clients 1 therad model, so 1 thread can make a bulk request from multiple clients requests. Bulk request can improvement throughput extremely by using Spider.
- Add server parameter "handlersocket_bulk_exec_size".
  This parameter is bulk access size of requests. '0' means turning off bulk access feature. If there is a lot of requests greater than this parameter, requests divide multiple bulk requests and send to data node using pipelining by Spider.
  This parameter is global parameter and you can change it from SQL interface any time.

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

This release is for 5.5 yet, please wait for next release for 5.6.

Thanks to Ingo, Enid, Yihuey, Koichi, Hideyuki, Keisuke for bug reporting.
Thanks to Akira for your advice.



  1. Great to see the project alive and kicking! As a big fanboy I would like to see your work integrated into i.e. MariaDB \o/
    Would make a lot of things much easier :)

  2. Thanks for the release! I've been waiting for a new version of Spider for ages :-) And I agree, MariaDB support would be awesome (if you still continue to support MySQL though...).
    Thanks again!