主流nosql数据库对比

转自:http://asyty.iteye.com/blog/1202106

主流nosql数据库对比

目前开源的NOSQL数据库有,Redis,Tokyo Cabinet,Cassandra,Voldemort,MongoDB,Dynomite,HBase,CouchDB,Hypertable, 

Riak,Tin, Flare,Lightcloud, KiokuDB,Scalaris,Kai,ThruDB等等。

 

一、满足极高读写性能需求的Kye-Value数据库:Redis,Tokyo Cabinet, Flare 

高性能Key-Value数据库的主要特点就是具有极高的并发读写性能,Redis,Tokyo Cabinet, Flare,这3个Key-Value DB都是用C编写的,他们的性能都相当出色。 

二、满足海量存储需求和访问的面向文档的数据库:MongoDB,CouchDB

三、满足高可扩展性和可用性的面向分布式计算的数据库:Cassandra,Voldemort

 

表一 主流NOSQL简单对比

参考:http://kkovacs.eu/cassandra-vs-mongodb-vs-couchdb-vs-redis

 CassandraMongodbCouchDBRedisRiakHBase
开发语言JAVAC++ErlangC / C++Erlang/ C / JAVASCRIPTJAVA
特点

分布式与复制的权衡

根据列和键范围进行查询

BigTable类似的功能:列,列族

写比读快很多

主从复制

查询利用javascript表达式

比CouchDB更容易就地升级

内置Sharding

数据存储使用的是内存映射文件

数据库崩溃后需要对表进行修复

持久性更好

双向复制

主主复制(master-master replication)

冲突检测

多版本并发控制,写操作不会阻塞读取

通用的技术文档

只崩溃设计Crash-only

需要经常压缩

视图:嵌入式map/reduce

格式化视图:lists & shows

服务器端文档验证可行

身份验证可行

通过_changes实时更新

附件处理

内存数据库

主从复制

简单的Key-Value

操作符较为复杂,如

ZREVRANGEBYS

CORE INCR & co

(有利于速率限制和统计)

有集合

(union/diff/inter)

有列表

(a queue; blocking pop)

有散列(多字段对象)

NoSQL中唯一处理交易的数据库

分布式与复制的权衡post-commit和pre-commit hooks

安全性验证

内置的全文检索

Javascript或

Erlang Map/reduce

分布式与复制的权衡

模仿BigTable

Map/reduce Hadoop

利用服务器端扫描进行查询预测叠加并获取过滤

优化的实时查询

高性能Thrift网关

HTTP支持XML、Protobuf和二进制

Cascading、hive、

pig source和sink模块

基于Jruby的shell

无单点故障

类似MySQL的随机访问性能

证书ApacheApacheApacheBSDApacheApache
协议自定义/Thrift自定义/BSONHTTP/RESTTelnet-LikeHTTP/REST

HTTP/REST/Thrift

最佳适用基于JAVA,写操作较多,读少动态的查询,定义索引而非map/reduce。数据变化快,磁盘不够用,可以使用MongoDB有大量数据,但更新不大,需要预先定义查询数据快速变化,数据库大小可以预见(适合内存存取数据)

简单的类似Cassandra

或Dynamo的功能,较强的单点容错性和扩展性

随机数据、实时读取海量数据
应用场景银行,金融行业。数据分析

MySQL或

PostgreSQL

的替代品

CRM、CMS系统股价系统,数据分析,实时数据采集以及实时通信场景销售点数据采集。工厂控制系统。需要零停机时间的场景

喜欢bigTable,需要随即、实时的读写大数据(Big Data)

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值