加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

NOSQL简单对比

发布时间:2020-12-13 13:49:44 所属栏目:百科 来源:网络整理
导读:Cassandra Mongodb CouchDB Redis 开发语言 JAVA C++ Erlang C/C++ 特点 分布式与复制的权衡 根据列和键范围进行查询 BigTable 类似的功能:列,列族 写比读快很多 主从复制 查询利用 javascript 表达式 比 CouchDB 更容易就地升级 内置 Sharding 数据存储使


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

Apache

Apache

BSD

协议

自定义/Thrift

自定义/BSON

HTTP/REST

Telnet-Like

最佳适用

基于JAVA,写操作较多,读少

动态的查询,定义索引而非map/reduce。数据变化快,磁盘不够用,可以使用MongoDB

有大量数据,但更新不大,需要预先定义查询

数据快速变化,数据库大小可以预见(适合内存存取数据)

应用场景

银行,金融行业。数据分析

MySQL

PostgreSQL

的替代品

CRMCMS系统

股价系统,数据分析,实时数据采集以及实时通信场景


Riak

HBase

Erlang/C/JAVASCRIPT

JAVA

分布式与复制的权衡post-commitpre-commithooks

安全性验证

内置的全文检索

Javascript

ErlangMap/reduce

分布式与复制的权衡

模仿BigTable

Map/reduceHadoop

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

优化的实时查询

高性能Thrift网关

HTTP支持XMLProtobuf和二进制

Cascadinghive

pigsourcesink模块

基于Jrubyshell

无单点故障

类似MySQL的随机访问性能

Apache

Apache

HTTP/REST

HTTP/REST/Thrift

简单的类似Cassandra

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

随机数据、实时读取海量数据

销售点数据采集。工厂控制系统。需要零停机时间的场景

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读