NOSQL非关系型数据库学习(四)这样对比下HBASE, MEMCACHED, MONGODB, REDIS和SOLR

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 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

Server operating systems

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

Wide column store

Key-value store

Document store

Search engine

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.

相关文章

一、引言 学习redis 也有一段时间了,该接触的也差不多了。后来有一天,以前的同事问我,如何向redis中...
一、引言 上一篇文章,我介绍了如何在Linux系统上安装和配置MongoDB,其实都不是很难,不需要安装和编译...
一、介绍 Redis客户端使用RESP(Redis的序列化协议)协议与Redis的服务器端进行通信。 虽然该协议是专门...
一、引言 redis学了一段时间了,基本的东西都没问题了。从今天开始讲写一些redis和lua脚本的相关的东西...
一、介绍 今天继续redis-cli使用的介绍,上一篇文章写了一部分,写到第9个小节,今天就来完成第二部分。...
一、引言 上一篇文章我们已经介绍了MongoDB数据库的查询操作,但是并没有介绍全,随着自己的学习的深入...