Sharding?

Posted on May 1, 2007 by Guy Snir
Filed Under Open Source, Java, Database |

“Shard” is just another word for “segment” or “partition,” but it’s the term of choice within Google - That is the statement noted in the Hibernate Shards documentation.

I like to describe Sharding as physical  partitioning. Unlike “usual” partitioning where the different segments of the DB table(s) are on the same physical machine, with “Sharding” you would be segmenting your table(s) across several physically different servers (This is also not the same as Oracle RAC implementations where the storage is common to all servers).

You could consider implementing a shard architecture in a high volume environment, in an attempt to improve performance, note that this will naturally have implications on your application and its implementation.

Google Developers (Max Ross, Tomislav Nad, Maulik Shah, and others) where kind enough to contribute their sharding implementation to the Hibernate project (the module is named “Hibernate Shards“), currently in a beta-testing phase.

The Hibernate Shards attempts to keep the development process as similar as possible to your usual Hibernate implementation with the standard API’s. According to the documentation you have to configure and control the shards you will use, how they are accessed, updated, etc. (You can enhance and customize the default implementations for your needs).

You can find some posts on Shards around the internet (mainly about Google and Digg).

AddThis Social Bookmark Button

Comments

3 Responses to “Sharding?”

  1. tomcarroll.org » links for 2007-05-10 on May 10th, 2007 12:22 am

    […] Sharding? | Open Source Guy with “Sharding” you would be segmenting your table(s) across several physically different servers (This is also not the same as Oracle RAC implementations where the storage is common to all servers). (tags: sharding database architecture) Tags:   Leave a comment […]

  2. fresh wordpress installation » ● Twitter’s not growing so fast after all on May 10th, 2007 6:15 pm

    […] suggested via email that could be an artifact of database sharding and lo and behold, if you take off the last digit of the post ID, they seem to become sequential […]

  3. Scalable web architectures » Blog Archive » Sharding: Different from Partitioning and Federation ? on September 9th, 2007 4:40 pm

    […] Sharding? […]