DynamoDB in examples, Example 1.6: DynamoDB alternatives

List of databases allows to store data so huge that it doesn't fit on server.

I worked only with DynamoDB and Cassandra, information about all other databases was taken from the internet (don't verified).

DynamoDB

License: Proprietary

Interface: HTTP/REST/JSON, console, web interface

Written in: Java

The biggest advantage of DynamoDB that it is easy to maintain for end user, in fact, You need only to configure table structure in DynamoDB web interface or using API and to set provisioned throughput. And instead of spin up more servers, You need only to increase provisioned throughput, it takes less then minute.

Features:

Cassandra

License: Apache

Interface: CQL (similar to SQL)

Written in: Java

Features:

MongoDB

License: AGPL (Drivers: Apache)

Interface: Custom, binary (BSON)

Written in: C++

Features:

CouchDB

License: Apache

Interface: HTTP/REST

Written in: Erlang

Features:

JS uses for mapreduce functions:

module.exports = {
  /* let us find items by a particular author */
  by_author: {
    map: function(doc) {
      if ('author' in doc) {
        doc.authors.forEach(emit)
      }
    }
  }.toString(),
  reduce: '_count'
}

HBase

License: Apache

Interface: HTTP/REST

Written in: Java

Features:

Riak

License: Apache

Interface: HTTP/REST or custom binary

Written in: Erlang & C, some JavaScript

Features:

Licensed under CC BY-SA 3.0