zoukankan      html  css  js  c++  java
  • 云级Keyvalue数据库大比较

    以下列表对各类Key-Value 的NoSQL数据库从 备份backup 到 Language API 各个方面进行了比较:    
    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 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 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),这里的团体是指 该数据库的最主要用户和开发基金会,但是并不提供服务支持。      
  • 相关阅读:
    数字以万做单位——Java
    创建二维码工具类——Java
    Java 截取指定长度的字符串
    堆排序
    context:component-scan 的使用说明
    @Autowired @Resource @Qualifier的区别
    声明对象和创建对象的区别
    maven 命令
    maven 创建
    maven pom.xml文件
  • 原文地址:https://www.cnblogs.com/macleanoracle/p/2968276.html
Copyright © 2011-2022 走看看