Database Administrators Stack Exchange is a question and answer site for database professionals who wish to improve their database skills and learn from others in the community. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

Does anyone have a good recommendation for a book which teaches db sharding (from scratch at best)

I have read like 40 different websites talking about sharding.

I'm not saying online sites/blogs are lousy, they are good titbits. However, I need the main meal not just a it of useful info here and there. Basically, I have an idea (I guess) of how to implement sharding but, since it's a terribly complicated concept, I believe there is much, much, much more to it that can be studied on.

share|improve this question

migrated from Jul 21 '11 at 12:50

This question came from our site for professional and enthusiast programmers.

if you read 40 different website, then you must learnt sharding..isn't it?? – diEcho Jul 21 '11 at 10:44
yep. i've learnt that sharding is not something which we can learn from simply reading 40+ different online tutorials / blog posts. it's way more complicated than that. – Uraha Jul 21 '11 at 11:27
This is off topic here; I'm going to shoot you over to Database Administrators because they're going to know more about it than your average programmer. – Will Jul 21 '11 at 12:50
@Uraha, would you share some of useful links and let me know is that really so complicated as u r saying..Thanks – diEcho Jul 21 '11 at 15:24
DB Sharding == Horizontal Partitioning ... Correct? – CenterOrbit Jul 26 '11 at 21:48

A great place to start is the book High Performance MySQL : Optimizations, Backups, Replication and More. Chapter 9 (pages 409 - 456) of the book is entitled "Scaling and High Availability"

There are the subheadings

  • Scaling MySQL
  • Planning for Scability
  • Buying Time Before Scaling
  • Scaling Up
  • Scaling Out
    • Functional partitioning
    • Data Sharding
    • Choosing a partitioning key
    • Multiple partitioning keys
    • Querying across shards
    • Allocating data, shards and node
    • Arranging shards on node
    • Fixed allocation
    • Mixing Dynamic and Fixed Allocation
    • Explicit Allocation
    • Rebalancing Shards
    • Generating globally unique IDS
    • Tools for sharding
  • Scaling Back
  • Scaling by Cluster
  • Load Balancing
  • Connecting Directly

and two dozen other subheadings

share|improve this answer
thank you. I've finished that chapter. But I still do not think it provides deep enough info into this subject. Is there an entire book dedicated to this subject rather than a book that dedicates only one chapter on this subject? – user2526 Jul 22 '11 at 6:19

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.