Source
http://db-engines.com/en/system/HBase%3BMemcached%3BRedis%3BSolr
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 |
@H_502_67@In-memory key-value store,originally intended for caching
@H_502_67@One of the most popular document stores
@H_502_67@In-memory database with configurable options performance vs. persistency
@H_502_67@A widely usedenterprise search enginebased onApache Lucene
||||
Developer |
@H_502_67@Apache Software Foundation
@H_502_67@Danga Interactive
@H_502_67@MongoDB,Inc
@H_502_67@Salvatore Sanfilippo
@H_502_67@Apache Software Foundation
|||||
Initial release |
@H_502_67@2008
@H_502_67@2003
@H_502_67@2009
@H_502_67@2004
|||||
License |
@H_502_67@Open Source
@H_502_67@Open Source
|||||
Implementation language |
@H_502_67@Java
@H_502_67@C
@H_502_67@C++
@H_502_67@Java
|||||
Server operating systems |
@H_502_67@Linux
@H_502_67@Linux
All OS with a Java VM and a servlet container | ||||
Database model |
|||||
Data scheme |
@H_502_67@schema-free
@H_502_67@yes
|||||
Typing |
@H_502_67@no
@H_502_67@yes
@H_502_67@Secondary indexes
@H_502_67@sql
@H_502_67@no
|||||
APIs and other access methods |
@H_502_67@Java API
Proprietary protocol | proprietary protocol using JSON | proprietary protocol | @H_502_67@Java API||
Supported programming languages |
@H_502_67@C
|||||
@H_502_67@Ruby @H_502_67@Ruby | |||||
Server-side scripts |
@H_502_67@Java plugins
|||||
Triggers |
@H_502_67@no
|||||
Partitioning methods |
Sharding | none | Sharding | ||
Replication methods |
selectable replication factor | Master-slave replication | Master-slave replication | @H_502_67@cloud/distributed (via Zookeeper)||
MapReduce |
@H_502_67@Consistency concepts
Immediate Consistency | Eventual Consistency | Eventual Consistency | ||
Foreign keys |
@H_502_67@Transaction concepts
no | optimistic locking | optimistic locking | ||
Concurrency |
@H_502_67@Durability
@H_502_67@User concepts
@H_502_67@Access Control Lists (ACL)
@H_502_67@Users can be defined with full access or read-only access
@H_502_67@very simple password-based access control
@H_502_67@Specific characteristics
@H_502_67@Redis very much emphasize performance. In any design decisions performance has priority over features or memory requirements.
@H_502_67@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 | @H_502_67@Applications that can hold all data in memory,and that have high performance requirements.