https://blog.twitter.com/engineering/en_us/a/2010/introducin...
https://blog.twitter.com/engineering/en_us/a/2010/introducin...
The key advantage of Gizzard is that it divides the data into key ranges and treats it as a shard. If a shard is too hot, it can dynamically adjust the size of the range. Gizzard also acts as a traffic routing layer that sends requests to the right server and coordinates data replication.
Shard Manager (SM) uses fixed-size shards and uses shard migration to reduce load on hot servers. Unlike Gizzard, SM focuses on being a control plane service and client traffic does not flow through SM. That functionality is delegated to Facebook’s separate traffic routing framework. SM supports more generic sharding applications and uses add/drop shard protocol to coordinate state migration. Gizzard focuses on data store applications and requires write operations to be idempotent and commutative in order to support state migration.