Link | Cassandra | CouchDB | Clusterpoint | DocumentDB | DynamoDB | HBase | MongoDB | Redis |
---|---|---|---|---|---|---|---|---|
Best used | When you write more than you read (logging). If every component of the system must be in Java. ("No one gets fired for choosing Apache's stuff.") | For accumulating, occasionally changing data, on which pre-defined queries are to be run. Places where versioning is important. | Primarily offered as Database as a Service, allows you to operate 50-node cluster at a fraction of a cost (Pay per CPU). Most suitable for Web-based ACID-compliant solutions, but can be used for many other tasks. | When you have a lot of simple records. | If you're in love with BigTable. :) And when you need random, realtime read/write access to your Big Data. | If you need dynamic queries. If you prefer to define indexes, not map/reduce functions. If you need good performance on a big DB. If you wanted CouchDB, but your data changes too much, filling up disks. | For rapidly changing data with a foreseeable database size (should fit mostly in memory) | |
Usage example | Banking, financial industry (though not necessarily for financial transactions, but these industries are much bigger than that.) Writes are faster than reads, so one natural niche is real time data analysis. | CRM, CMS systems. Master-master replication is an especially interesting feature, allowing easy multi-site deployments. | Feature-wise sits between SQL and MongoDB offering great horizontal scaling in combination with transaction support, Geo, Full-text searches, group-by. | Facebook Messaging Database | For all things that you would do with MySQL or PostgreSQL, but having predefined columns really holds you back. | Stock prices. Analytics. Real-time data collection. Real-time communication. | ||
Known Shortcomings | Lacks embedded language. | No ordering. | No embedded language. Multiple index queries. Lacks features. | Sizes limited by amount of RAM. | ||||
Main focus | Best of BigTable and Dynamo | DB consistency, ease of use | Simple setup. Features. Horizontal scaling. | Billions of rows X millions of columns | Retains some friendly properties of SQL. (Query, index) | Speed | ||
License | Apache | Apache | Proprietary, but available as free download. | Proprietary. Cloud-only. | Proprietary. Cloud-only. | Apache | AGPL (Drivers: Apache) | BSD |
Pricing | Free download or pay per resource (CPU, Traffic, Storage) | Pay per requests / traffic. | Free download or Pay per instance + Service (MongoLab) | |||||
Projects using it |
| apache.org/... |
apache.org/... |
|
| |||
Technical details | ||||||||
Latest version | 2.1.4 | 1.6.1 | 3.0 | 0.98.4 | 3.0.3 | 6.0.4 | ||
Release date | Apr. 1st 2015 | Sep. 3rd 2014 | Feb. 15th 2015 | Jul. 21st 2014 | May 12th 2015 | May 28th 2020 | ||
Initial release | 2008 | 2005 | 2006 | 2012 | 2009 | 2009 | ||
Consistency | Strong | Strong/Eventual | Eventual (strong with flag) | |||||
Replication | Multi-master replication | Multi-master | Master/slave | Master/slave | ||||
Protocol | Thrift (Binary) | HTTP/REST | HTTP/Rest | REST | HTTP/REST (and Thrift) | BSON (Binary) | Telnet-like | |
Data Presentation | XML / JSON | JSON | JSON | JSON | ||||
Development language | Java | Erlang | C++ | Java | C++ | C/C++ | ||
Platforms | Cross-platform | Cross-platform | Cloud or Linux | Cloud only | Cloud only "DynamoDB Local" cross-platform (single instance for development) | Cross-platform | Cross-platform | Cross-platform |
API Language | ||||||||
Embedded Language | None | JavaScript | None | JavaScript | None | |||
Additional | ||||||||
Website | apache.org | apache.org | clusterpoint.com | microsoft.com/... | amazon.com/... | apache.org | mongodb.org | redis.io |
Wikipedia | wikipedia.org/... | wikipedia.org/... | wikipedia.org/... | wikipedia.org/... | wikipedia.org/... | wikipedia.org/... | wikipedia.org/... | wikipedia.org/... |
Additional link | justazure.com/... | apache.org/... | ||||||
Features | ||||||||
Cloud DB | Yes | Yes | Yes | Third Party | ||||
Transaction support | No | No | Yes | No | No | No | No | Yes |
Domain-model Aggregation | Yes | No | No | Yes | ||||
GeoSpatial | Yes | No | Yes | Yes | ||||
FullText | Yes | No | No | |||||
Commercial Support | Included into DB-Service | Third parties. |