3/24/2014

[MySQL][Spider][VP]Spider-3.2 VP-1.1 released

I'm pleased to announce the release of Spider storage engine version 3.2(rc) and Vertical Partitioning storage engine version 1.1(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_log_result_error_with_sql", "spider_version", "spider_internal_xa_id_type", "spider_casual_read", "spider_dry_access" and "spider_delete_all_rows_type".
- Add table parameter "casual_read" and "delete_all_rows_type".

Vertical Partitioning
- Add server parameter "vp_version".

From this release, release target is not only MySQL 5.5 but also MariaDB 10.0. MariaDB 10.0 version is bundling Spider, VP and Mroonga. Please try to use this. You can use Bached Key Access by setting join_cache_level to 5 and more. So please set it.
Limited Spider features for MariaDB 10.0 which I announced are now available except "Using Spider table through handlersocket".

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

Thanks to Stephane, Nicolas, Koichi, Akihiko, Yasunori for supporting.

Enjoy!

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!

2/10/2012

[MySQL][Spider][VP]Spider-2.28 VP-0.17 released

I'm pleased to announce the release of Spider storage engine version 2.28(beta) and Vertical Partitioning storage engine version 0.17(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
- Support parallel searching. ("spider_bgs_mode > 0")
The table using the Spider bundled MySQL and table partitioning performs parallel search of each partition. However, parallel search is not performed in the case which does not make all the partitions applicable to search like sequential search with limit.
- Add server parameter "spider_use_default_database" and "spider_remote_default_database".
These parameter is added for using some replication parameters like "binlog-do-db" on data node. "spider_use_default_database=0" is same of previous versions.
- Add table parameter "access_balance".
This parameter is the weight of load balancing for Spider's redundancy feature.
- Add INFORMATION SCHEMA "spider_alloc_mem".
This INFORMATION SCHEMA plugin adds "information_schema.spider_alloc_mem" table for showing Spider's using memory status. "alloc_mem_count" and "free_mem_count" columns in "information_schema.spider_alloc_mem" table express the count of increasing and decreasing memory, so they do not necessarily become the same.
- Add value of 3 to "quick_mode"(table parameter) and "spider_quick_mode"(server parameter).
"quick_mode=3" is the mode of using temporary table for result set from data node. This mode is useful for searching a huge table.

Spider's management table was changed from previous version and add new plugin, please execute "install_spider.sql" for upgrading.

Vertical Partitioning
- Add UDF paramter "suppress_autoinc".
- Add table parameter "allow_bulk_autoinc" and "allow_different_column_type".
- Add server parameter "vp_allow_bulk_autoinc".

handlersocket
Becomes version 1.1.
- Add server parameter "handlersocket_slow_log", "handlersocket_long_exec_time" and "handlersocket_close_table_interval".
"handlersocket_slow_log" is logging handlersocket request with slow (spend over "handlersocket_long_exec_time" micro second) response into slow log with "slow_query_log=on".
"handlersocket_close_table_interval" is interval of closing table internally for releasing meta data lock for executing like "alter table". You can use this parameter "handlersocket_close_table_interval=0" (doesn't close) for normally and only change this parameter for executing like "alter table".
These parameters are global parameter and you can change them from SQL interface.

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

Thanks to Takafumi, Yukihiro, Jung, Adrian, leechangyeol, liuyanhong, Hisazumi, Hideyuki, Keisuke for bug reporting.
Thanks to Akira for your advice.

Enjoy!


--- 2/17 postscript ---
Spider binaries is updated for fixing getting no result bug of parallel searching. I'm sorry.
Updated version's handlersocket is added the following parameter.
- Add server parameter "handlersocket_get_lock".
This parameter makes handlersocket possible turning off get_lock for write threads. "handlersocket_get_lock=off" is useful for increasing "handlersocket_threads_wr" for some case as using Spider through handlersocket.

10/19/2011

[MySQL][Spider][VP]Spider-2.27 VP-0.16 released

I'm pleased to announce the release of Spider storage engine version 2.27(beta) and Vertical Partitioning storage engine version 0.16(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.
Q4M is bundled for Linux 64bit.
  Bundled Q4M supports replication, but please use it carefully.

Spider
- Support R-Tree index.
- Support direct updating for SQL access.
- Support handlersocket increment and decrement.
- Change table parameter from "net_timeout" to "connect_timeout", "net_read_timeout" and "net_write_timeout".
- Change server parameter from "spider_net_timeout" to "spider_connect_timeout", "spider_net_read_timeout" and "spider_net_write_timeout".
- Add UDF paramter "access_mode". "spider_direct_sql" support handlersocket access.
- Add server parameter "spider_hs_ping_interval", "spider_error_read_mode" and "spider_error_write_mode".
- Add table parameter "hs_write_to_read", "error_read_mode" and "error_write_mode".
- Performance improvement for "COUNT(*)", "MAX" and "MIN" without clause.
Note
- Change parameter from "net_timeout" and "spider_net_timeout" to "connect_timeout", "net_read_timeout", "net_write_timeout", "spider_connect_timeout", "spider_net_read_timeout" and "spider_net_write_timeout" from this version.
- From this version, you can't compile with static link option for Spider.

Vertical Partitioning
- Support R-Tree index.
- Support direct updating.
- Support handlersocket increment and decrement.
Note
- From this version, you can't compile with static link option for VP.

handlersocket
- Add server parameter "handlersocket_general_log".
  Logging handlersocket request into general log with "general_log=on". This parameter is global parameter and you can change it from SQL interface.

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

Enjoy!

7/22/2011

[MySQL][Spider][VP]Spider-2.26 VP-0.15 released

I'm pleased to announce the release of Spider storage engine version 2.26(beta) and Vertical Partitioning storage engine version 0.15(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

Recently, I can't upload the binary file to Launchpad, so I put the binary file at the following. Please use the following for downloading binary file.
http://spiderformysql.com/download_spider.html

The main changes in this version are following.
Spider
- Add table parameter "active_link_count", "read_only_mode", "first_read" and "second_read".
- Add server parameter "spider_read_only_mode", "spider_first_read", "spider_second_read", "spider_remote_time_zone" and "spider_sync_time_zone".
  "active_link_count" is a parameter for using Active-Standby database for data node. Normally, set "active_link_count" to 1 for using Active-Standby data node. Currently, this feature supports only Active-Standby that can switch immediately. For this changing, Spider's management table was changed from previous version, please execute "install_spider.sql" for upgrading.
- Reducing access to data nodes.
  By this change, even if a shard is crushed, you can continue accessing to other shard.

Vertical Partitioning
  This release is bug fix release.

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

Enjoy!