主流的NOSQL介绍

前端之家收集整理的这篇文章主要介绍了主流的NOSQL介绍前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

数据库类型

开发语言

特性

应用场景

CouchDB

Erlang

特点:DB一致性,易于使用

使用许可:Apache

协议:HTTP/REST

双向数据复制

持续进行或临时处理

处理时带冲突检查

因此,采用的是master-master复制(见编注2)

MVCC -写操作不阻塞读操作

可保存文件之前的版本

Crash-only(可靠的)设计

需要不时地进行数据压缩

视图:嵌入式映射/减少

格式化视图:列表显示

支持进行服务器端文档验证

支持认证

根据变化实时更新

支持附件处理

因此,CouchApps(独立的js应用程序)

需要jQuery程序库

适用于数据变化较少,执行预定义查询,进行数据统计的应用程序。适用于需要提供数据版本支持的应用程序。

CMS系统,数据统计汇总

Redis

C

特点:运行异常快

使用许可:BSD

协议:类Telnet

1. 读写操作异常快

2. 较复杂的数据格式 sets,链表,hash

3. 事务支持

4. 消息订阅 pub/sub

5. 主从同步复制

6. 硬盘回写

7. 第三方sharding支持

适用于数据变化快且数据库大小可遇见(适合内存容量)的应用程序


股票价格、数据分析、实时数据搜集、实时通讯

配置下发,全局实时数据

Mongodb

C++

特点:保留了sql一些友好的特性(查询,索引)

使用许可:AGPL(发起者:Apache)

协议:Custom,binary( BSON)

1. 支持javascript表达式

2. 硬盘回写

3. 主从复制和集群功能

4. 内建分片机制

5. 较快读写性能

6. 大格式数据支持

7.空数据库大约占192Mb

8.事务支持

1.大数据量查询和汇总

2.分布式部署,和水平扩展

数据统计汇总

业务数据库,替代MysqL

Neo4j

Java

特点:基于关系的图形数据库

使用许可:GPL,其中一些特性使用AGPL/商业许可

协议:HTTP/REST(或嵌入在Java)

1.可独立使用或嵌入到Java应用程序

2.图形的节点和边都可以带有元数据

3.很好的自带web管理功能

4.使用多种算法支持路径搜索

5.使用键值和关系进行索引

6支持事务(Java api)

7.使用Gremlin图形遍历语言

8支持Groovy脚本

9支持在线备份,高级监控及高可靠性支持使用

适用于图形一类数据。这是Neo4j与其他nosql数据库的最显著区别

例如:社会关系,公共交通网络,地图及网络拓谱

HBase

特点:支持数十亿行X上百万列

使用许可:Apache

协议:HTTP/REST (支持Thrift,见编注4)

1. 采用分布式架构 Map/reduce

2. 对实时查询进行优化

3. 高性能 Thrift网关

4. 通过在server端扫描及过滤实现对查询操作预判

5. 支持 XML,Protobuf,和binary的HTTP

6. 对配置改变和较小的升级都会重新回滚

7. 不会出现单点故障

适用于偏好BigTable并且需要对大数据进行随机、实时访问的场合

报表,数据挖掘

Memcache

1. 快速

2. 简单

3. 分布式支持和热扩展

KV数据库

数据库辅助缓

原文链接:https://www.f2er.com/nosql/204143.html

猜你在找的NoSQL相关文章