释义 |
- Comparison
- See also
- References
{{distinguish|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]ComparisonThe 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 | 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 | Scylla | 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 alsoReferences1. ^{{cite web |url = http://perspectives.mvdirona.com/CommentView,guid,afe46691-a293-4f9a-8900-5688a597726a.aspx |title = Perspectives: One Size Does Not Fit All |last = Hamilton |first = James |date = 3 November 2009 |accessdate = 13 November 2009}} 2. ^{{cite journal |last1 = Lakshman |first1 = Avinash |last2 = Malik |first2 = Prashant |title = Cassandra - A Decentralized Structured Storage System |publisher = Cornell University |url = http://www.cs.cornell.edu/projects/ladis2009/papers/lakshman-ladis2009.pdf |accessdate = 13 November 2009}} 3. ^{{cite journal |last = Chang |first = Fay |author2=Jeffrey Dean |author3=Sanjay Ghemawat |author4=Wilson C. Hsieh |author5=Deborah A. Wallach |author6=Mike Burrows |author7=Tushar Chandra |author8=Andrew Fikes |author9=Robert E. Gruber |title = Bigtable: A Distributed Storage System for Structured Data |publisher = Google |url = http://labs.google.com/papers/bigtable-osdi06.pdf |accessdate = 13 November 2009}} 4. ^{{cite web |url = http://wiki.apache.org/hadoop/HBase/HBasePresentations?action=AttachFile&do=get&target=hbaseintro.pdf |title = HBase: structured storage of sparse data for Hadoop |last = Kellerman |first = Jim |accessdate = 20 February 2016}} 5. ^[https://stackoverflow.com/questions/2976932/cassandra-transaction-support java - Cassandra - transaction support - Stack Overflow] 6. ^[https://docs.datastax.com/en/cassandra/2.1/cassandra/dml/dml_ltwt_transaction_c.html Lightweight transactions] 7. ^Providing transactional logic 8. ^{{cite web |author= Damien Katz|url=http://damienkatz.net/2013/01/the_unreasonable_effectiveness_of_c.html |title=The Unreasonable Effectiveness of C |date= January 8, 2013 |accessdate= September 30, 2016 }} 9. ^How do I use transactions with CouchDB? 10. ^HBase: Bigtable-like structured storage for Hadoop HDFS 11. ^HBase on EC2{{dead link|date=August 2017 |bot=InternetArchiveBot |fix-attempted=yes }} 12. ^HBase on EC2 using EBS volumes : Lessons Learned | My AWS Musings 13. ^Hbase/MultipleMasters - Hadoop Wiki 14. ^ACID in HBase 15. ^[https://stackoverflow.com/questions/5187323/memcache-with-transactions sql - Memcache with transactions? - Stack Overflow] 16. ^Memcached 17. ^Atomic Operations - MongoDB 18. ^OrientDB Replication 19. ^OrientDB Distributed Architecture Lifecycle 20. ^OrientDB Transactions 21. ^Redis Persistence 22. ^[https://stackoverflow.com/questions/4719346/redis-master-slave-replication-single-point-of-failure high availability - Redis master/slave replication - single point of failure? - Stack Overflow] 23. ^Transactions – Redis 24. ^{{Cite web |url=http://docs.scylladb.com/architecture/architecture-fault-tolerance/ |title=Scylla Architecture - Fault Tolerance |website=Scylla Docs |language=en |access-date=2018-07-07}} 25. ^{{Cite web |url=http://docs.scylladb.com/cassandra-compatibility/ |title=Scylla Apache Cassandra Compatibility |website=Scylla Docs |language=en |access-date=2018-07-07}} 26. ^https://github.com/tarantool/tarantool
{{DEFAULTSORT:Comparison Of Structured Storage Software}} 2 : Structured storage|Database software comparisons |