Does anyone have any experience they’d like to share on data sharding?

In particular working with a gem like this:

My concerns are:

  1. This doesn’t appear to use SQL level replication so I assume it’s
    doing some type of a “call-back” after the initial commit. How do those
    call-backs get queued? Is the rails process going to be freed up after
    all these callbacks are done or before? What happens under extremely
    large volumes?

  2. It’s not clear to from reading the documentation if/how this can be
    used for failover. In other words if the master for a particular shard
    goes down does that mean that that shard becomes read-only?

  3. Their readme says "When marked as replicated, all write and
    transactional operations for the model go to the master, whereas read
    operations go to the slave. " Which slave? Is this a good idea? what
    if your slave is in Europe and your master is in NA.