April 24, 2014
Posted by on
Shard-Query 2.5 has been a long time coming, but the release is finally officially out the door.
There are numerous changes from the last major release including:
- Improved parser – fully handles complex expressions
- LOAD DATA INFILE support and S3 support
- Semi-join materialization for IN and NOT IN subqueries
- Improved support for subqueries in the FROM clause
- INSERT .. SELECT and CREATE TABLE .. SELECT support
- Ability to do range lookups on the shard key (IN/BETWEEN/etc)
- Improved proxy – supports SHOW commands too
- Support for all MySQL SELECT dialect including WITH ROLLUP
- Custom aggregate function support
- Asynchronous query support
- Numerous bug fixes
You can find it here
May 21, 2013
Posted by on
It is finally here. After three years of development, the new version of Shard-Query is finally available for broad testing.
This new version of Shard-Query is vastly improved over previous versions in many ways. This is in large part due to the fact that the previous version of Shard-Query (version 1.1) entered into production at a large company. Their feedback during implementation was invaluable in building the new Shard-Query features. The great thing is that this means that many of the new 2.0 features have already been tested in at least one production environment.
This post is intended to highlight the new features in Shard-Query 2.0. I will be making posts about individual features as well as posting benchmark results.
Shard-Query 1.x stored the configuration in a .ini file. In an installation with many nodes, keeping the .ini file in sync was difficult. There was no way to guarantee that all of Shard-Query saw the state of the cluster (in terms of node composition) as an entire unit. Shard-Query 2.0 solves this problem and makes configuration and bootstrapping of new nodes simpler. Shard-Query 2.0 stores the configuration inside of a database schema, rather than in a flat file. Each node is made aware of the configuration repository through the node setup process. The cluster configuration is then read from the repository each time Shard-Query initializes. Read more of this post