Comparison of structured storage software

Not to be confused with COM Structured Storage.

Structured storage is computer storage for structured data, often in the form of a distributed database.[1] Computer software formally known as structured storage systems include Apache Cassandra,[2] Google's BigTable[3] and Apache HBase.[4]

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[5][6] 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[7] Yes C++, Erlang, C,[8] Go CouchDB, Memcached Apache 2.0
CouchDB Document Yes Yes replication + load balancing Atomicity is per document, per CouchDB instance[9] 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,[10] Amazon S3[11] or Amazon Elastic Block Store.[12] Yes[13] Yes[14] 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)[15][16] 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[17] 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[18] Yes[19] Yes[20] Yes Java Orient Technologies Apache 2.0
Redis Key-value Yes. But last few queries can be lost.[21] Yes Yes[22] Yes[23] 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

See also

References

This article is issued from Wikipedia - version of the 10/6/2016. The text is available under the Creative Commons Attribution/Share Alike but additional terms may apply for the media files.