Source
http://db-engines.com/en/system/HBase%3BMemcached%3BRedis%3BSolr
 
  | 
   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 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. 
   | 
  
     
   | 
  
   |