ACID
- Atomic 原子性
- Consistent 一致性
- Isolated 隔离性
- Durable 持久性
CAP
- 一致性
- 可用性
- 容错性
在任何时间点,一个分布式系统都只能满足上面三个保障中的两个
BASE
- 基本可用
- 软状态
- 最终一致性
NRW : 描述最终一致性模型在NoSQL 数据库中的实现
- N 数据库已经保留的数据副本数量
- R 是在返回一个读取请求的输出之前,一个应用程序需要涉及的副本数量
- W 是在一个写造作被标记位成功完成之前需要对其进行写入的数据副本数量
- 写操作
N=W,
返回给客户端并且将写操作标记为成功之前,
写操作将更新所有的数据副本.
W=1 、R=N,
写操作仅更新任意一个副本,并且将写操作标记为成功,
写操作快速完成,降低了读性能
N>W>1
需要成功更新多个节点
并非所有节点都需要同时更新
读操作
N<W+R
总是确保一个读操作检索最新的值
NoSQL优点
- 高扩展性
- 可维护性和管理运营:处理自动修复、分布式数据以及较简单的数据模型
- 低成本
- 灵活数据模型
基于文档形式存储数据:MongoDB
mongo 将数据存储为Binary JSON 、BSON
具有一种主从复制方式
主机接受写请求
提升写的性能可以使用分片
分片在mongo中是自动化的,
是一个面向文档的DBMS,数据被存储为文档
实现Mongo的语言是C++
动态模式
相同集合中的文档可以具有相同或不同的字段集或结构
- BSON
是JSON数据模型的一种扩展形式
- _id
唯一表示每一行
-
固定集合
-
多态模式
集合具有不同类型或模式的文档的一种模式