Access Keys:
Skip to content (Access Key - 0)

Sharding in Hibernate: funny word, serious scaling

Tools in Action Abstract

Sharding, or horizontal partitioning, is the process of splitting a database into separate instances (or shards) based on row data (as opposed to columns, which is the process of normalization). This process makes huge amounts of data more manageable and consequently, can increase system performance (i.e. queries are faster due to smaller table data). In fact, sharding also can increase system availability in that if one shard goes down, other shards can continue to operate. Sharding, however, is by no means easy to do-- that's where Hibernate Shards comes in.

Hibernate Shards is a framework that is designed to encapsulate and minimize this complexity by adding support for horizontal partitioning to Hibernate Core. In this talk, we'll look at sharding strategies, how to create them, and ultimately, how to utilize them with the Hibernate Shards framework.

Speaker

Andrew Glover is a developer who writes for multiple online publications including IBM's DeveloperWorks, Oreilly's ONJava and ONLamp portals, Dev2Dev, and InfoQ; additionally, he is the co-author of Java Testing Patterns (Wiley, 2004), Groovy in Action (Manning, 2007), and Continuous Integration: Improving Software Quality and Reducing Risk (Addison-Wesley, June 2007). He is a frequent speaker at various conferences around the country as well as a speaker for the No Fluff Just Stuff Software Symposium group. You can keep up with him at thediscoblog.com.

Adaptavist Theme Builder Powered by Atlassian Confluence