Gizzard (Scala framework)

From Wikipedia, the free encyclopedia
Jump to: navigation, search
Gizzard
Original author(s) Robey Pointer, Nick Kallen, Ed Ceaser, Matt Freels, John Kalucki from Twitter
Developer(s) Twitter
Initial release April 2010 (April 2010)
Development status Retired
Written in Scala, Java
Type Database
License Apache License
Website http://github.com/twitter/gizzard

Gizzard is an open source sharding framework to create custom fault-tolerant, distributed databases. It was initially used by Twitter and emerged from a wide variety of data storage problems. Gizzard operates as a middleware networking service that runs on the Java Virtual Machine. It manages partitioning data across arbitrary backend datastores, that allows it to be accessed efficiently.[1][2] The partitioning rules are stored in a forwarding table that maps key ranges to partitions. Each partition manages its own replication through a declarative replication tree. Gizzard handles both physical and logical shards. Physical shards point to a physical database backend whereas logical shards are trees of other shards.[3] In addition Gizzard also supports migrations and gracefully handles failures. The system is made eventually consistent by requiring that all write operations are idempotent and commutative. As operations fail they are retried at a later time. Gizzard is available at GitHub and licensed under the Apache License.

See also[edit]

References[edit]

  1. ^ http://engineering.twitter.com/2010/04/introducing-gizzard-framework-for.html
  2. ^ http://www.socialtimes.com/2010/04/twitter-open-sources-new-distributed-database-solution-gizzard/
  3. ^ http://thechangelog.com/post/502232871/gizzard-twitter-just-sharded

External links[edit]