当前位置:首页 > 开发 > 开源软件 > 正文

【分布式数据一致性三】MongoDB读写一致性

发表于: 2014-11-15   作者:bit1129   来源:转载   浏览:
摘要: 本系列文章结合MongoDB,探讨分布式数据库的数据一致性,这个系列文章包括: 数据一致性概述与CAP 最终一致性(Eventually Consistency) 网络分裂(Network Partition)问题 多数据中心(Multi Data Center) 多个写者(Multi Writer)最终一致性 一致性图表(Consistency Chart) 数据

本系列文章结合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。如果执行了一系列了的操作或者事务,

 

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

 

 

【分布式数据一致性三】MongoDB读写一致性

  • 0

    开心

    开心

  • 0

    板砖

    板砖

  • 0

    感动

    感动

  • 0

    有用

    有用

  • 0

    疑问

    疑问

  • 0

    难过

    难过

  • 0

    无聊

    无聊

  • 0

    震惊

    震惊

编辑推荐
CAP原理中,有三个要素: 一致性(Consistency) 可用性(Availability) 分区容忍性(Partition toleran
CAP原理中,有三个要素: 一致性(Consistency) 可用性(Availability) 分区容忍性(Partition toleran
CAP原理中,有三个要素: 一致性(Consistency) 可用性(Availability) 分区容忍性(Partition toleran
分布式环境中大多数服务是允许部分失败,也允许数据不一致,但有些最基础的服务是需要高可靠性,高
分布式环境中大多数服务是允许部分失败,也允许数据不一致,但有些最基础的服务是需要高可靠性,高
分布式环境中大多数服务是允许部分失败,也允许数据不一致,但有些最基础的服务是需要高可靠性,高
分布式环境中大多数服务是允许部分失败,也允许数据不一致,但有些最基础的服务是需要高可靠性,高
转载自:http://blog.csdn.net/cutesource/article/details/5822459 分布式环境中大多数服务是允许
分布式环境中大多数服务是允许部分失败,也允许数据不一致,但有些最基础的服务是需要高可靠性,高
分布式环境中大多数服务是允许部分失败,也允许数据不一致,但有些最基础的服务是需要高可靠性,高
版权所有 IT知识库 CopyRight © 2009-2015 IT知识库 IT610.com , All Rights Reserved. 京ICP备09083238号