Jump to content

Comparison of structured storage software

From Wikipedia, the free encyclopedia
This is an old revision of this page, as edited by PaulCapestany (talk | contribs) at 13:47, 6 October 2016 (Add link description). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

Comparison

The following is a comparison of notable structured storage systems.

Project Name Type Persistence Replication High Availability Transactions Rack-locality Awareness Implementation Language Influences, Sponsors License
Aerospike database NoSQL database Yes, Hybrid DRAM and flash for persistence Yes Yes, Distributed for scale Yes Yes C (small bits of assembly language) Aerospike AGPL v3
AllegroGraph Graph database Yes No - v5, 2010 Yes Yes No Common Lisp Franz Inc. Proprietary
Apache Geode Key-value Yes Yes Yes Yes Unknown Java Apache, Pivotal Software Apache 2.0
Apache Ignite Key-value To and from an underlying persistent storage (e.g. an RDBMS) Yes Yes Yes Yes Java Apache, GridGain Systems Apache 2.0
Apache Jackrabbit Key-value & Hierarchical & Document Yes Yes Yes Yes likely Java Apache, Roy Fielding, Day Software Apache 2.0
Berkeley DB/Dbm/Ndbm (bdb)1.x Key-value Yes No No No No C old school Various
Berkeley DB Sleepycat/Oracle Berkeley DB 5.x Key-value Yes Yes Yes Yes No C, C++, or Java dbm, Sleepycat/Oracle dual GPL-like Sleepycat License
Oracle NoSQL Database Key-value Yes Yes Yes Yes No Java Oracle AGPLv3 License or proprietary
Apache Cassandra Key-value Yes Yes Distributed Partial Only supports CAS (Check And Set) after 2.1.1 and later[1][2] Yes Java Dynamo and BigTable, Facebook/Digg/Rackspace Apache 2.0
ClustrixDB scale-out relational Yes Yes Distributed and Replication Yes No C Clustrix Proprietary
Coherence Key-value Persistent data typically in an RDBMS Yes Yes Yes Yes Java Oracle (previously Tangosol) Proprietary
Couchbase Document Yes Yes Yes Yes, with two-phase commits[3] Yes C++, Erlang, C,[4] Go CouchDB, Memcached Apache 2.0
CouchDB Document Yes Yes replication + load balancing Atomicity is per document, per CouchDB instance[5] No Erlang Lotus Notes / Ubuntu, Mozilla, IBM Apache 2.0
Extensible Storage Engine(ESE/NT) Document or Key-value Yes No No Yes No C++, Assembly Microsoft Proprietary
FoundationDB Ordered Key-value Yes Yes Yes Yes Depends on user configuration C++ FoundationDB Proprietary
GigaSpaces Tuple Space & Relational & Document & key-value Yes Yes Yes Yes Depends on user configuration Java Tuple space Proprietary
GT.M Key-value Yes Yes Yes Yes Depends on user configuration C (small bits of assembly language) FIS AGPL v3
Project Name Type Persistence Replication High Availability Transactions Rack-locality Awareness Implementation Language Influences, Sponsors License
Apache HBase Key-value Yes. Major version upgrades require re-import. Yes HDFS,[6] Amazon S3[7] or Amazon Elastic Block Store.[8] Yes[9] Yes[10] See HDFS, S3 or EBS. Java BigTable Apache 2.0
Hypertable Key-value Yes Yes, with KosmosFS and Ceph coming in 2.0 coming Yes, with KosmosFS C++ BigTable GPL 2.0
Information Management System IBM IMS aka DB1 Key-value. Multi-level Yes Yes Yes, with HALDB Yes, with IMS TM Unknown Assembler IBM since 1966 Proprietary
Infinispan Key-value Yes Yes Yes Yes Yes Java Red Hat Apache 2.0
Memcached Key-value No No No Partial Only supports CAS (Check And Set - or Compare And Swap)[11][12] No C Six Apart/Couchbase/Fotolog/Facebook BSD-like permissive copyright by Danga
LevelDB Key-value, Bigtable Yes No No Partial Multiple writes can be combined into single operation No C++ Google New BSD License
LightningDB Key-value, memory-mapped files Yes No No Yes, ACID, MVCC No C Symas OpenLDAP Public License
MongoDB Document (JSON) Yes Yes fail-over Partial Single document atomicity[13] No C++ 10gen GNU AGPL v3.0
Neo4j Graph database Yes Yes Yes Yes No Java Neo Technology GNU GPL v3.0
OrientDB Multi-Model (Graph-Document-Object-Key/Value) Yes Yes[14] Yes[15] Yes[16] Yes Java Orient Technologies Apache 2.0
Redis Key-value Yes. But last few queries can be lost.[17] Yes Yes[18] Yes[19] No Ansi-C VMWare, Memcache BSD
SimpleDB (Amazon.com) Document & Key-value Yes Yes (automatic) Yes Unknown likely Erlang Amazon.com Amazon internal only
Tarantool Free-dimensional tuples with primary and secondary keys Yes. (Asynchronous) Yes Yes Yes No Objective C, Lua Memcached, Mnesia, MySQL, Mail.ru BSD
upscaledb (previously Hamster DB) Transactional key-value store Yes Yes, ACID C++ Apache 2.0
Project Name Type Persistence Replication High Availability Transactions Rack-locality Awareness Implementation Language Influences, Sponsors License
  1. ^ java - Cassandra - transaction support - Stack Overflow
  2. ^ Lightweight transactions
  3. ^ Providing transactional logic
  4. ^ Damien Katz (January 8, 2013). "The Unreasonable Effectiveness of C". Retrieved September 30, 2016.
  5. ^ How do I use transactions with CouchDB?
  6. ^ HBase: Bigtable-like structured storage for Hadoop HDFS
  7. ^ HBase on EC2
  8. ^ HBase on EC2 using EBS volumes : Lessons Learned | My AWS Musings
  9. ^ Hbase/MultipleMasters - Hadoop Wiki
  10. ^ ACID in HBase
  11. ^ sql - Memcache with transactions? - Stack Overflow
  12. ^ Memcached
  13. ^ Atomic Operations - MongoDB
  14. ^ OrientDB Replication
  15. ^ OrientDB Distributed Architecture Lifecycle
  16. ^ OrientDB Transactions
  17. ^ Redis Persistence
  18. ^ high availability - Redis master/slave replication - single point of failure? - Stack Overflow
  19. ^ Transactions – Redis