Katana DB | Cassandra | MongoDB | CouchDB | HBase | Voldemort | Redis | Tokyo /Kyoto Cabinet | Riak | RavenDB | CitrusLeaf | BigData | |
License 许可 | TDB | Apache 2.0 | AGPLv3 | Apache 2.0 | Apache 2.0 | Apache 2.0 | BSD | GPLv3 | Apache 2.0 | AGPLv3 | Proprietary | GPLv2 |
Price 价格 | TDB | Free | Free, Commercial | Free | Free | Free | Free | Free or $12K | Free | Free or $1k/dev/yr | Per TB per month per DataCenter | Free, Commercial |
Support 技术支持 | TDB | Riptano, others, Community | 10gen, Community | CouchBase, Cloudant, Community | Cloudera, Community | Community, LinkedIn* | Community, VMWare* | Community, FallLabs | Community, Basho Tech, Akamai* | Hibernating Rhinos, Community | CitrusLeaf | Community, 3rd Parties |
Data model 数据模型 | Key-value with sub-keys 键值 | Columnar + Indexes 列+索引 | Documents + Indices (JSON), Cappable 文档模型+索引 | Documents + Indices, Views 文档模型+索引+视图 | Columnar, ?Indexing? | Key-value, no sub keys 键值 | Key-value, support for sets, lists, hash maps 键值,支持列表,有序列表,哈希 | Key-value, DBM successor (like BDB) 键值 | Key-value, Dyanmo-based 键值,基于Dyanmo | Documents + Indices (JSON), Views 文档模型+索引+视图 | Key-value 键值 | Graph |
Partitioning 分区方式 | Static Hash in R1, Split nodes evenly | Dynamic Hash, Split busiest node 动态哈希 | Sorted Shards with UDSpec, Chunks (200MB) move around | Not supported 不支持 | Sorted Regions/Shards, automatic Region splits when reaches size X | Consistent Hash, migratable partitions planned | Not supported, although some clients implement consistent hashing 不支持 | Not supported | Consistent Hash, Shards | UD Key range Shards with round robin | Clustering | |
Language APIs API支持 | Java | Multiple, Thrift, RPC | C, C#, JavaScript, Python, PHP, Ruby, Java, C++, Perl, many 3rd party | REST/JSON, many 3rd party | Java, REST, Thrift | Java, Python, C++ | Telnet style, C, C++, C#, Java, Perl, PHP, Python, R, Ruby, Scala, others | C++, C, Java, Python, Ruby, Perl, and Lua | MapReduce, Python, JavaScript, Erlang, Java, PHP, Ruby | C#, HTTP | C, C#, Java, Python, Ruby, PHP | |
Replication 复制 | Single Master with configurable durability | Multi-Master with vector clocks | Single Master, configurable durability with early visibility | Bi-directional, delayed or synchronous with conflict resolution and partial replicas | Single Master, delayed WAL log replay | Multi-Master, Read/Write anywhere with data repair | Single Master, writable Slaves, durability is “all”? | Not supported | Multi-Master, Read/Write anywhere with data repair and vector clocks | Multi-Master, R/W anywhere with conflict resolution | ||
Topology Options | None in R1 | Rack Aware & Unaware, DC Aware | Data Center priority | Data Center aware | None | None | Hinted Handoff | None | ||||
Storage 存储 | Log-based FS, configurable durability | Log-based FS | Lazy writes to FS, HA for durability | ACID, append-only | Hadoop FS, durable via replication | BDB JE or MySQL | In-memory, w/ Snapshots or Append-only log | Page-based files with WAL and shadow paging | Pluggable storage layer including InnoDB | |||
Transactions | Yes, Autocommit, Major Key + Sub keys | Yes, single record including Super-columns | Yes, autocommit | Document-centric , lockless with client conflict resolution | Record & Multi-record locking transactions (new) | Autocommit operations | None | Yes, single and multiple operations | Autocommit operations, pre & posrt commit hooks | Autocommit & multi-operation | ||
Consistency 一致性 | Transactional, Configurable | Eventual, with read repair option | Eventual, with delay if master fails | Distributed edits with conflict resolution | Read-committed transaction isolation | Eventual with client-centric conflict resolution | ? | Serializable and Read Committed. | Eventual with client-centric conflict resolution | Eventual with client-centric conflict resolution | Immediate | |
Admin | Web Console, API, CLI | Ganglia, JConsole, CLI | Multiple UIs, Ganglia, REST, HTTP, Java Script | Futon Web Admin tool | ? | Java API, CLI | CLI | CLI and utilities | CLI and utilities | CLI and utilities | ||
Backup 备份 | Single or multi-node | All Nodes for consistency | Quiescent, Write Lock or Snapshot | File copy? | Import/export | BDB JE/MySQL backup? | Replication or copy file Snapshots | File copy | Per node or all nodes | Snapshot backups |
其中*符号表示 该软件受到团体的支持(corporate support),这里的团体是指 该数据库的最主要用户和开发基金会,但是并不提供服务支持
Tokyo /Kyoto Cabinet | Riak | RavenDB | CitrusLeaf | BigData | |
License 许可 | GPLv3 | Apache 2.0 | AGPLv3 | Proprietary | GPLv2 |
Price 价格 | Free or $12K | Free | Free or $1k/dev/yr | Per TB per month per DataCenter | Free, Commercial |
Support 技术支持 | Community, FallLabs | Community, Basho Tech, Akamai* | Hibernating Rhinos, Community | CitrusLeaf | Community, 3rd Parties |
Data model 数据模型 | Key-value, DBM successor (like BDB) 键值 | Key-value, Dyanmo-based 键值,基于Dyanmo | Documents + Indices (JSON), Views 文档模型+索引+视图 | Key-value 键值 | Graph |
Partitioning 分区方式 | Not supported | Consistent Hash, Shards | UD Key range Shards with round robin | Clustering | |
Language APIs API支持 | C++, C, Java, Python, Ruby, Perl, and Lua | MapReduce, Python, JavaScript, Erlang, Java, PHP, Ruby | C#, HTTP | C, C#, Java, Python, Ruby, PHP | |
Replication 复制 | Not supported | Multi-Master, Read/Write anywhere with data repair and vector clocks | Multi-Master, R/W anywhere with conflict resolution | ||
Topology Options | None | Hinted Handoff | None | ||
Storage 存储 | Page-based files with WAL and shadow paging | Pluggable storage layer including InnoDB | |||
Transactions | Yes, single and multiple operations | Autocommit operations, pre & posrt commit hooks | Autocommit & multi-operation | ||
Consistency 一致性 | Serializable and Read Committed. | Eventual with client-centric conflict resolution | Eventual with client-centric conflict resolution | Immediate | |
Admin | CLI and utilities | CLI and utilities | CLI and utilities | ||
Backup 备份 | File copy | Per node or all nodes | Snapshot backups |