10/07/2013

[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!

8/23/2013

[MariaDB][Spider]Spider is bundled in MariaDB!

Spider storage engine is bundled in MariaDB 10.0.4.
https://downloads.mariadb.org/mariadb/10.0.4/

After this release, you can use Spider immediately by installing MariaDB.
For using Spider after installing MariaDB, please execute "install_spider.sql"
which under share directory.

MariaDB 10.0.4 is still alpha version, so please don't use on production systems.
Currently, MariaDB bundled Spider has the following difference than MySQL bundled Spider.

New features
  batched key access
    This is a feature for join performance improvement.
    You can use BKA by setting join_cache_level to 5 and more.
  assisted discovery
    This is a feature for taking table structure from data node.
    For example, if there is a table structure as the following
CREATE TABLE `t1` (
  `id` bigint NOT NULL,
  `c1` varchar(100) NOT NULL,
  `c2` datetime NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
    you can create a Spider table by using the following DDL.
CREATE TABLE `t1` ENGINE=SPIDER DEFAULT CHARSET=latin1 CONNECTION='database "test", table "t1", server "s1"';

Current limited features
  Slave retring feature by using slave_transaction_retry_errors
  Using Spider table through handlersocket
  Optimization for single table updating
  Partitioned Spider table's
  - engine condition pushsown
  - fulltext index search
  - spacial index search
  - full table count optimization
  - parallel search


I and Groonga Developer Team were won the 8th Japan OSS incentive award after releasing Spider 3.0.
http://ossforum.jp/en/node/1277
Thank you for your cooperation!

2/18/2013

[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.
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
- 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.

handlersocket
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.

Enjoy!