Name |
HBase |
Memcached |
MongoDB |
Redis |
Solr |
||||||
Description |
Wide-column store based on Apache Hadoop and on concepts of BigTable |
In-memory key-value store,originally intended for caching | One of the most popular document stores | In-memory database with configurable options performance vs. persistency | A widely usedenterprise search enginebased onApache Lucene | ||||||
Developer |
Apache Software Foundation | Danga Interactive | MongoDB,Inc | Salvatore Sanfilippo | Apache Software Foundation | ||||||
Initial release |
2008 | 2003 | 2009 | 2004 | |||||||
License |
Open Source | Open Source | |||||||||
Implementation language |
Java | C | C++ | Java | |||||||
Linux | Linux | All OS with a Java VM and a servlet container | |||||||||
Unix | Unix | ||||||||||
OS X | OS X | ||||||||||
Windows | Windows | ||||||||||
FreeBSD | Solaris | BSD | |||||||||
Database model |
|||||||||||
Data scheme |
schema-free | yes | |||||||||
Typing |
no | yes | Secondary indexes | sql | no | ||||||
APIs and other access methods |
Java API | Proprietary protocol | proprietary protocol using JSON | proprietary protocol | Java API | ||||||
RESTful HTTP API | RESTful HTTP API | ||||||||||
Thrift | |||||||||||
Supported programming languages |
C | ||||||||||
C# | .Net | .Net | |||||||||
C++ | |||||||||||
Groovy | ColdFusion | Clojure | |||||||||
Java | |||||||||||
Erlang | Erlang | ||||||||||
Python | Python | ||||||||||
Scala | Lua | Scala | |||||||||
Ruby | Ruby | ||||||||||
PHP | PHP | ||||||||||
JavaScript | JavaScript | ||||||||||
Perl | Perl | ||||||||||
OCaml | any language that supports sockets and either XML or JSON | ||||||||||
Lisp | |||||||||||
Dart | Go | Actionscript | Objective-C | Haskell | Smalltalk | Clojure | Tcl | MatLab | PowerShell | Prolog | |
Server-side scripts |
Java plugins | ||||||||||
Triggers |
no | ||||||||||
Partitioning methods |
Sharding | none | Sharding | ||||||||
Replication methods |
selectable replication factor | Master-slave replication | Master-slave replication | cloud/distributed (via Zookeeper) | |||||||
Master-slave replication | |||||||||||
MapReduce |
Consistency concepts | Immediate Consistency | Eventual Consistency | Eventual Consistency | |||||||
Immediate Consistency | |||||||||||
Foreign keys |
Transaction concepts | no | optimistic locking | optimistic locking | |||||||
Concurrency |
Durability | User concepts | Access Control Lists (ACL) | Users can be defined with full access or read-only access | very simple password-based access control | Specific characteristics | Redis very much emphasize performance. In any design decisions performance has priority over features or memory requirements. | Architecture: Lives in web stack,ships by default with Jetty. Connectors,JDBC,multiple languages,true morphological CJK,binary document filters (Tika),Entity Extraction (UIMA) | |||
Typical application scenarios |
Mostly used for caching | Applications that can hold all data in memory,and that have high performance requirements. |
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。