# Comparison of structured storage software

Structured storage is computer storage for structured data, often in the form of a distributed database. Computer software formally known as structured storage systems include Apache Cassandra, Google's Bigtable and Apache HBase.

## 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 | 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 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 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 |
| Apache Cassandra | Key-value | Yes | Yes | Distributed | Partial Only supports CAS (Check And Set) after 2.1.1 and later | 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 |
| Oracle NoSQL Database | Key-value | Yes | Yes | Yes | Yes | No | Java | Oracle | AGPLv3 License or proprietary |
| Couchbase | Document | Yes | Yes | Yes | Yes, with two-phase commits | Yes | C++, Erlang, C, Go | CouchDB, Memcached | Apache 2.0 |
| CouchDB | Document | Yes | Yes | replication + load balancing | Atomicity is per document, per CouchDB instance | 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 |
| 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, Amazon S3 or Amazon Elastic Block Store. | Yes | Yes | See HDFS, S3 or EBS. | Java | Bigtable | Apache 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) | 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 | 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 | Yes | Yes | Yes | Java | Orient Technologies | Apache 2.0 |
| Redis | Key-value | Yes. But last few queries can be lost. | Yes | Yes | Yes | No | Ansi-C | VMWare, Memcache | BSD |
| ScyllaDB | Key-value | Yes | Yes | Distributed and Replication | No | Unknown | C++ | Apache Cassandra | AGPL v3 |
| 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 | C, Lua | Memcached, Mnesia, MySQL, Mail.ru | BSD |
| Project Name | Type | Persistence | Replication | High Availability | Transactions | Rack-locality Awareness | Implementation Language | Influences, Sponsors | License |