Cassandra
Mongodb
CouchDB
Redis
开发语言
JAVA
C++
Erlang
C/C++
特点
分布式与复制的权衡
根据列和键范围进行查询
BigTable类似的功能:列,列族
写比读快很多
主从复制
查询利用javascript表达式
比CouchDB更容易就地升级
内置Sharding
数据存储使用的是内存映射文件
数据库崩溃后需要对表进行修复
持久性更好
双向复制
主主复制(master-masterreplication)
冲突检测
多版本并发控制,写操作不会阻塞读取
通用的技术文档
只崩溃设计Crash-only
需要经常压缩
视图:嵌入式map/reduce
格式化视图:lists&shows
服务器端文档验证可行
身份验证可行
通过_changes实时更新
附件处理
内存数据库
简单的Key-Value
操作符较为复杂,如
ZREVRANGEBYS
COREINCR&co
(有利于速率限制和统计)
有集合
(union/diff/inter)
有列表
(aqueue;blockingpop)
有散列(多字段对象)
NoSQL中唯一处理交易的数据库
证书
Apache
BSD
协议
自定义/Thrift
自定义/BSON
HTTP/REST
Telnet-Like
最佳适用
基于JAVA,写操作较多,读少
动态的查询,定义索引而非map/reduce。数据变化快,磁盘不够用,可以使用MongoDB
有大量数据,但更新不大,需要预先定义查询
数据快速变化,数据库大小可以预见(适合内存存取数据)
应用场景
银行,金融行业。数据分析
MySQL或
PostgreSQL
的替代品
CRM、CMS系统
股价系统,数据分析,实时数据采集以及实时通信场景
Riak
HBase
Erlang/C/JAVASCRIPT
分布式与复制的权衡post-commit和pre-commithooks
安全性验证
内置的全文检索
Javascript或
ErlangMap/reduce
模仿BigTable
Map/reduceHadoop
利用服务器端扫描进行查询预测叠加并获取过滤
优化的实时查询
高性能Thrift网关
HTTP支持XML、Protobuf和二进制
Cascading、hive、
pigsource和sink模块
基于Jruby的shell
无单点故障
类似MySQL的随机访问性能
HTTP/REST/Thrift
简单的类似Cassandra
或Dynamo的功能,较强的单点容错性和扩展性
随机数据、实时读取海量数据
销售点数据采集。工厂控制系统。需要零停机时间的场景
喜欢bigTable,需要随即、实时的读写大数据(BigData)
(编辑:李大同)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!