对比下HBase,Memcached,MongoDB,Redis和Solr
Name 成都创新互联公司,是成都地区的互联网解决方案提供商,用心服务为企业提供网站建设、成都APP应用开发、小程序设计、系统按需网站制作和微信代运营服务。经过数10多年的沉淀与积累,沉淀的是技术和服务,让客户少走弯路,踏实做事,诚实做人,用情服务,致力做一个负责任、受尊敬的企业。对客户负责,就是对自己负责,对企业负责。 | 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 engine based onApache Lucene | |
Developer | Apache Software Foundation | Danga Interactive | MongoDB, Inc | Salvatore Sanfilippo | Apache Software Foundation | |
Initial release | 2008 | 2003 | 2009 | 2009 | 2004 | |
License | Open Source | Open Source | Open Source | Open Source | Open Source | |
Implementation language | Java | C | C++ | C | Java | |
Server operating systems | Linux | Linux | Linux | Linux | All OS with a Java VM and a servlet container | |
Unix | Unix | |||||
OS X | OS X | |||||
Windows | Windows | Windows | Windows | |||
FreeBSD | Solaris | BSD | ||||
Database model | Wide column store | Key-value store | Document store | Key-value store | Search engine | |
Data scheme | schema-free | schema-free | schema-free | schema-free | yes | |
Typing | no | no | yes | no | yes | |
Secondary indexes | no | no | yes | no | yes | |
SQL | no | no | no | no | 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 | C | C | ||
C# | .Net | C# | C# | .Net | ||
C++ | C++ | C++ | C++ | |||
Groovy | ColdFusion | Groovy | Clojure | |||
Java | Java | Java | Java | Java | ||
Erlang | Erlang | Erlang | Erlang | |||
Python | Python | Python | Python | Python | ||
Scala | Lua | Scala | Scala | Scala | ||
Ruby | Ruby | Ruby | Ruby | |||
PHP | PHP | PHP | PHP | PHP | ||
JavaScript | JavaScript | JavaScript | ||||
Perl | Perl | Perl | Perl | |||
OCaml | Lua | Lua | any language that supports sockets and either XML or JSON | |||
Lisp | Lisp | Lisp | ||||
Dart | Dart | |||||
ColdFusion | ||||||
Go | Go | |||||
Actionscript | Objective-C | |||||
Haskell | Haskell | |||||
Smalltalk | Smalltalk | |||||
Clojure | Tcl | |||||
MatLab | ||||||
PowerShell | ||||||
Prolog | ||||||
Server-side scripts | yes | no | JavaScript | Lua | Java plugins | |
Triggers | yes | no | no | no | no | |
Partitioning methods | Sharding | none | Sharding | none | Sharding | |
Replication methods | selectable replication factor | none | Master-slave replication | Master-slave replication | cloud/distributed (via Zookeeper) | |
Master-slave replication | ||||||
MapReduce | yes | no | yes | no | no | |
Consistency concepts | Immediate Consistency | Eventual Consistency | Eventual Consistency | |||
Immediate Consistency | ||||||
Foreign keys | no | no | no | no | no | |
Transaction concepts | no | no | no | optimistic locking | optimistic locking | |
Concurrency | yes | yes | yes | yes | yes | |
Durability | yes | no | yes | yes | yes | |
User concepts | Access Control Lists (ACL) | yes | 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. |
当前题目:对比下HBase,Memcached,MongoDB,Redis和Solr
文章来源:http://cdiso.cn/article/gcpess.html