您的位置:首页 > 数据库 > Memcache

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

2014-06-03 18:02 756 查看
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.

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐