Comparison of structured storage software
Appearance
From Wikipedia, the free encyclopedia
(Redirected from Structured Storage)
Not to be confused with COM Structured Storage.
This article has multiple issues. Please help improve it or discuss these issues on the talk page . (Learn how and when to remove these messages)
(Learn how and when to remove this message)This article possibly contains original research . Please improve it by verifying the claims made and adding inline citations. Statements consisting only of original research should be removed. (August 2025) (Learn how and when to remove this message)
Some of this article's listed sources may not be reliable . Please help improve this article by looking for better, more reliable sources. Unreliable citations may be challenged and removed. (August 2025) (Learn how and when to remove this message)
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
[edit ]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[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 |
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[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 |
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 |
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++ | 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 |
ScyllaDB | Key-value | Yes | Yes | Distributed and Replication[24] | No[25] | 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[26] | Memcached, Mnesia, MySQL, Mail.ru | BSD |
Project Name | Type | Persistence | Replication | High Availability | Transactions | Rack-locality Awareness | Implementation Language | Influences, Sponsors | License |
See also
[edit ]References
[edit ]- ^ Hamilton, James (3 November 2009). "Perspectives: One Size Does Not Fit All" . Retrieved 13 November 2009.
- ^ Lakshman, Avinash; Malik, Prashant. "Cassandra - A Decentralized Structured Storage System" (PDF). Cornell University. Retrieved 13 November 2009.
{{cite journal}}
: Cite journal requires|journal=
(help) - ^ Chang, Fay; Jeffrey Dean; Sanjay Ghemawat; Wilson C. Hsieh; Deborah A. Wallach; Mike Burrows; Tushar Chandra; Andrew Fikes; Robert E. Gruber. "Bigtable: A Distributed Storage System for Structured Data" (PDF). Archived from the original (PDF) on 11 May 2008. Retrieved 13 November 2009.
{{cite journal}}
: Cite journal requires|journal=
(help) - ^ Kellerman, Jim. "HBase: structured storage of sparse data for Hadoop" (PDF). Retrieved 20 February 2016.
- ^ java - Cassandra - transaction support - Stack Overflow
- ^ Lightweight transactions
- ^ Providing transactional logic
- ^ Damien Katz (January 8, 2013). "The Unreasonable Effectiveness of C" . Retrieved September 30, 2016.
- ^ "How do I use transactions with CouchDB?". Archived from the original on 2012年07月16日. Retrieved 2012年07月12日.
- ^ HBase: Bigtable-like structured storage for Hadoop HDFS
- ^ HBase on EC2 [permanent dead link ]
- ^ HBase on EC2 using EBS volumes : Lessons Learned | My AWS Musings
- ^ Hbase/MultipleMasters - Hadoop Wiki
- ^ ACID in HBase
- ^ sql - Memcache with transactions? - Stack Overflow
- ^ Memcached
- ^ Atomic Operations - MongoDB
- ^ "OrientDB Replication". Archived from the original on 2014年12月28日. Retrieved 2015年01月08日.
- ^ "OrientDB Distributed Architecture Lifecycle". Archived from the original on 2015年01月19日. Retrieved 2015年01月08日.
- ^ "OrientDB Transactions". Archived from the original on 2015年01月18日. Retrieved 2015年01月08日.
- ^ Redis Persistence
- ^ high availability - Redis master/slave replication - single point of failure? - Stack Overflow
- ^ Transactions – Redis
- ^ "Scylla Architecture - Fault Tolerance". Scylla Docs. Retrieved 2018年07月07日.
- ^ "Scylla Apache Cassandra Compatibility". Scylla Docs. Retrieved 2018年07月07日.
- ^ "Tarantool". GitHub . 29 April 2022.