mongodb一致性协议_【分布式数据一致性三】MongoDB读写一致性

本系列文章结合MongoDB,探讨分布式数据库的数据一致性,这个系列文章包括:

数据一致性概述与CAP

最终一致性(Eventually Consistency)

网络分裂(Network Partition)问题

多数据中心(Multi Data Center)

多个写者(Multi Writer)最终一致性

一致性图表(Consistency Chart)

数据一致性概述与CAP

对于分布式数据库来说,选择合适的数据一致性模型对于分布式数据库至关重要。合适的一致性模型是指,在满足高并发读写能力的同时能够满足某种程度的数据一致性,这种一致性的达成,需要读写数据的进程(或者更细粒度,线程)和数据库本身建立读写数据的方式和协议(contract)以期在双方的共同协作下达成一致性。 在本系列文章中,我们将就数据一致性这个话题进行深入的探讨,讨论对于特定的需求,什么样的模型是合适的。

CAP

在分布式环境下,有三个指标是分布式系统希望达到的,即数据一致性(Consistency)、数据可用性(Availability)以及分区忍受性(Partition)。CAP理论指出在分布式环境这三个指标是无法同时满足,最多只能满足其中的两个。在分布式环境下,网络分裂是不可避免的,因此必须忍受网络分裂。因此CAP理论的本质是说,我们不能同时拥有完美的数据一致性和百分之百的可用性。

通俗的讲,CAP理论可以概括为,如果网络出现问题,那么数据库就不能完美的工作(Won't work), Won't work意味着或者数据不可用或者数据

更确切一点,一致性的真正含义是什么呢?学术领域one copy serializability或者linearability。如果执行了一系列了的操作或者事务,

一个不太正式的思考权衡的方式是:我能读取脏数据并对脏数据进行操作吗?我能想写就写吗?

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值