Talk:Partition (database)

Information lacking
Sharding is becoming more prevalent as the number of cloud computing vendors and solutions grow. What would make this article useful is if it explained:

1. What are the problems that horizontal partitioning creates? And what are some common ways of solving those problems? Example: by storing different rows of a table on different databases (even on different servers), searching through all of them requires sending queries to all of the database shards and dealing with multiple result sets. The query originator must also deal with getting some results back and not others. Some optimizations can be done, such as: if a table is horizontally partitioned by a column (Postal Code < 5000 goes to shard 0, Postal Code >= 5000 goes to shard 1), then queries that filter by value may be able to skip sending queries to some of the shards.

2. What are the problems that vertical sharding creates? What are the ways of solving THOSE problems? Optimizations that can be made (based on query projections excluding sets of columns, etc.).

3. What is table/lookup-based sharding, and how can that solve the problems that hard-coded sharding schemes create by preventing easy redistribution of shards as services scale massively?

4. What specific data access/storage frameworks exist (for .NET, Java, etc.) that solve (or attempt to solve) the problems listed above? Which schemes do they support? What typical or novel optimizations do they use? The database MySQL has some sharding frameworks available for it, and there's Hibernate.Shard (and in the works is NHibernate.Shard). What else is out there?

- Dan Vanderboom —Preceding unsigned comment added by 24.209.131.247 (talk) 02:36, 23 October 2009 (UTC)


 * Dan Vanderboom, you make some good suggestions. Are you able to implement them? yoyo (talk) 16:01, 8 April 2012 (UTC)

This page doesn't explain anything - it's just jargon. Is there a template for that? --Dave —Preceding unsigned comment added by 83.244.133.211 (talk) 09:36, 11 February 2009 (UTC)


 * Dave, I disagree with your assessment of this page. It's more than jargon; it discusses substantive issues in database architecture and management and provides appropriate definitions of terms.  It could go further in providing a balanced discussion of the issues and their relative importance; for that, it needs the attention of an expert practitioner with current and relevant exerience. yoyo (talk) 16:01, 8 April 2012 (UTC)

Merge with Shard (database)
As motivated on Talk:Shard (database), it might be a good idea to merge that article into this one. Isheden (talk) 08:47, 5 March 2012 (UTC)


 * Support merging Shard (database architecture) into this article. Its discussion should probably appear after that of horizontal and vertical partitioning methods.  Discussion should cover what problems sharding solves, and what problems it creates.  yoyo (talk) 15:52, 8 April 2012 (UTC)


 * strong oppose Sharding is more than horizontal partitioning - it also introduces a shared-nothing aspect that allows easy replication across isolated servers. This has been a regular suggestion since the article was first started, and in all cases it has been put forward through a simple lack of understanding as to what the difference is.
 * Admittedly this isn't helped by too many editors using the article as a promotional slot for their favourite DB platform and the banner "&lt;foo>SQL, now with Added Sharding!" Especially not as many of these are merely offering horizontal partitioning, not sharding. Andy Dingley (talk) 18:10, 8 April 2012 (UTC)