RESTBase/Table storage backend options

This page will have some details on possible backends for the RESTBase table storage layer. Please add more databases and information.

Advantages

 * Symmetric DHT architecture avoids single points of failure, keeps operations easy and spreads load evenly
 * Proven in large-scale production, a lot of features that come with a mature distributed database
 * Good support for CAS, atomic batches, range queries, per-request consistency specification
 * Support for multi-cluster (incl. cross-DC) replication
 * Immutable LSM storage good for snapshots
 * Fairly good read performance, very good write performance

Disadvantages

 * Relatively poor native secondary indexing support
 * First primary key element needs to be a hash
 * Timestamp-based eventual consistency relies on reasonable time synchronization for correctness

Riak

 * Architecturally similar to Cassandra in many ways (Dynamo-inspired DHT)

Advantages

 * Proven in production, although not as large scale as Cassandra

Disadvantages

 * No cross-datacenter replication in open source version

Advantages

 * Strongly consistent operations
 * Used in large-scale production

Disadvantages

 * Operationally fairly complex
 * Worse performance than competitors like Cassandra

Advantages

 * Reports of pretty good performance

Advantages

 * Innovative metric embedding index model, which supports range queries using arbitrary attribute combinations
 * Guarantees linearizability for operations on keys
 * Implemented in C++
 * Claims high performance

Disadvantages

 * Fairly new, no large-scale production use
 * Index model requires complex balancing and coordination
 * Special coordinator roles increase operational complexity
 * Implemented in C++