
Comparison of structured storage software should not 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]
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 | NoSQL database | , Hybrid DRAM and flash for persistence | , Distributed for scale | C (small bits of assembly language) | Aerospike | AGPL v3 | ||||
| AllegroGraph | Graph database | - v5, 2010 | Common Lisp | Franz Inc. | Proprietary | |||||
| Apache Ignite | Key-value | To and from an underlying persistent storage (e.g. an RDBMS) | Java | Apache, GridGain Systems | Apache 2.0 | |||||
| Apache Jackrabbit | Key-value & Hierarchical & Document | likely | Java | Apache, Roy Fielding, Day Software | Apache 2.0 | |||||
| Berkeley DB/Dbm 1.x | Key-value | C | old school | Various | ||||||
| Berkeley DB Sleepycat/Oracle Berkeley DB 5.x | Key-value | C, C++, or Java | dbm, Sleepycat/Oracle | dual GPL-like Sleepycat License | ||||||
| Apache Cassandra | Key-value | Distributed | Only supports CAS (Check And Set) after 2.1.1 and later[5] [6] | Java | Dynamo and Bigtable, Facebook/Digg/Rackspace | Apache 2.0 | ||||
| ClustrixDB | scale-out relational | Distributed and Replication | C | Clustrix | Proprietary | |||||
| Coherence | Key-value | Persistent data typically in an RDBMS | Java | Oracle (previously Tangosol) | Proprietary | |||||
| Key-value | Java | Oracle | AGPLv3 License or proprietary | |||||||
| Couchbase | Document | , with two-phase commits[7] | C++, Erlang, C,[8] Go | CouchDB, Memcached | Apache 2.0 | |||||
| CouchDB | Document | replication + load balancing | Atomicity is per document, per CouchDB instance[9] | Erlang | Lotus Notes / Ubuntu, Mozilla, IBM | Apache 2.0 | ||||
| Extensible Storage Engine(ESE/NT) | Document or Key-value | C++, Assembly | Microsoft | Proprietary | ||||||
| FoundationDB | Ordered Key-value | Depends on user configuration | C++ | FoundationDB | Proprietary | |||||
| GT.M | Key-value | 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 | . Major version upgrades require re-import. | HDFS,[10] Amazon S3[11] or Amazon Elastic Block Store.[12] | [13] | [14] | See HDFS, S3 or EBS. | Java | Bigtable | Apache 2.0 | |
| Information Management System IBM IMS aka DB1 | Key-value. Multi-level | , with HALDB | , with IMS TM | Unknown | Assembler | IBM since 1966 | Proprietary | |||
| Infinispan | Key-value | Java | Red Hat | Apache 2.0 | ||||||
| Memcached | Key-value | Only supports CAS (Check And Set - or Compare And Swap)[15] [16] | C | Six Apart/Couchbase/Fotolog/Facebook | BSD-like permissive copyright by Danga | |||||
| LevelDB | Key-value, Bigtable | Multiple writes can be combined into single operation | C++ | New BSD License | ||||||
| LightningDB | Key-value, memory-mapped files | , ACID, MVCC | C | Symas | OpenLDAP Public License | |||||
| MongoDB | Document (JSON) | fail-over | Single document atomicity[17] | C++ | 10gen | GNU AGPL v3.0 | ||||
| Neo4j | Graph database | Java | Neo Technology | GNU GPL v3.0 | ||||||
| OrientDB | Multi-Model (Graph-Document-Object-Key/Value) | [18] | [19] | [20] | Java | Orient Technologies | Apache 2.0 | |||
| Redis | Key-value | . But last few queries can be lost.[21] | [22] | [23] | Ansi-C | VMWare, Memcache | BSD | |||
| ScyllaDB | Key-value | Distributed and Replication[24] | [25] | Unknown | C++ | Apache Cassandra | AGPL v3 | |||
| SimpleDB (Amazon.com) | Document & Key-value | (automatic) | Unknown | likely | Erlang | Amazon.com | Amazon internal only | |||
| Tarantool | Free-dimensional tuples with primary and secondary keys | . (Asynchronous) | C, Lua[26] | Memcached, Mnesia, MySQL, Mail.ru | BSD | |||||
| Project Name | Type | Persistence | Replication | High Availability | Transactions | Rack-locality Awareness | Implementation Language | Influences, Sponsors | License |