- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第六章分布式系统
第六章 复制和一致性
介绍
以数据为中心的一致性模型
分布式协议
一致性协议
介绍
复制的原因
对象复制
作为伸缩技术的复制
为什么
在分布式系统中
需要复制?
3
2018-4-24
Reasons of Replication
复制的原因
可靠性Reliability
性能Performance
Example
从远程Web服务器获取一个网页
Problems
有多个副本会导致一致性问题
4
2018-4-24
Object Replication
考虑一个分布式远程对象被多个客户端共享
5
2018-4-24
Problems 1
如何保护对象不被多个客户端同时访问
Solution
对象本身可以控制并发的激活操作
对象所在的服务器负责并发控制
6
2018-4-24
Problems 2
复制一个共享的远程对象,并允许对这些对象进行并发引用会导致一致性问题
Approach
对象本身负责保证其所有的副本都保持一致性
分布式系统负责这个任务
7
2018-4-24
作为伸缩技术一种的复制
理论上使用多个副本可以支持伸缩技术
Problems
保证所有副本的一致性会需要更多的带宽
保证多个副本一致会导致严重的伸缩性问题
Solution
一个修改作为一个原子操作或者事务执行在所有的副本上
放松对一致性的限制
8
2018-4-24
因此我们要研究一下
一致性模型
以数据为中心的一致性模型
严格一致性
顺序一致性
线性化
弱一致性
基本的一致性模型都是什么样子的
10
2018-4-24
Distributed Data Store(数据存储)
一个数据存储(data store)物理上在多个机器上分布。每个要访问data store中数据的进程都要有一个整个数据存储的本地(临近)的副本
Data operation
Write operation
Read operation
11
2018-4-24
一致性模型Consistency Model
一致性模型是进程和数据存储之间的一个合同(contract)
如果所有的进程同意遵守特定的规则,数据存储保证正确地工作
当一个进程执行了一个读操作,它将返回数据上的最后一个写操作的结果
Problem
当没有一个全局时钟,很难精确定义哪个写操作是最后一个写操作
12
2018-4-24
Strict Consistency(严格一致性)
任何在数据项目x上的读操作都能返回对数据项x上的最近一次写操作的结果
最严格的一致性模型
假设有一个绝对的全局时钟存在
在一个单处理器系统中,容易实现
在一个数据分布在多个机器上,并可以被多个进程访问的系统中,很难实现
13
2018-4-24
Problems and Solution
Problems
依赖绝对的全局时间
Solution
把时间分割成为一个连续的不重合的间隔,每个操作都假设在一个时间间隔中发生,并接收到一个与此时间间隔相对应的时间戳
必须处理在同一个时间间隔中发生的多个操作
当多个操作在同样的数据上发生的时候,如果有一个操作是写操作,则存在冲突
一致性模型需要决定什么时候冲突发生,什么样的操作是可以接受的
14
2018-4-24
Examples of Strict Consistency
Wi(x)a
表示进程Pi要在数据项x上执行写操作,新值为a
Ri(x)b
表示进程Pi要读数据项x的值,返回值是b
This is right
This is wrong
15
2018-4-24
顺序一致性 (Sequential Consistency)
如果所有进程的读写操作的执行结果与这些操作都按照某种特定的顺序执行是一样的
每个特定进程中所有操作都按照程序中设定的次序一致
严格一致性在分布式系统中不能实现
相对弱一些的一致性模型
当多个进程并发地执行在不同的机器上,任何有效的读写操作的交叉是一个可以接受的行为,但是所有进程能够看到同样的操作顺序
16
2018-4-24
Sequential Consistency Example
17
2018-4-24
Linearizability(线性化)
当每个操作有时间戳,并且下面的条件满足,那么数据存储是线性化的:
时间戳基于松散同步的时钟
满足顺序一致性
除此之外, 如果 tsop1(x)tsop2(y), 那么操作 OP1(x) 应该在操作 OP2(y) 之前完成
比严格一致性弱,比顺序一致性强
tsop(x) 表示操作OP在数据项x上操作的时间戳
OP可以是read (R) 或者 write(W)
18
2018-4-24
区别
线性化 vs. 顺序一致性
线性化的数据存储也是顺序一致的
主要的区别在于线性化的顺序是基于一个同步时钟的集合
19
2018-4-24
您可能关注的文档
最近下载
- 成人胃残余量超声监测技术规范.docx VIP
- 金属冶炼企业安全生产管理人员:事故应急处置和案例分析.ppt VIP
- 采购降本推进计划.pdf VIP
- 定制产品合同协议.docx VIP
- 恒大地下车库VI标识标牌标准化方案(超豪华版)恒大地产集团.pdf VIP
- 【教学课件】《人体对外界环境的感知》(人教).ppt VIP
- 滚动轴承外球面球轴承和偏心套外形尺寸.pdf VIP
- 第一单元第四课《上学路上》教案 湘美版(2024)一年级上册.doc VIP
- 突发事件应急预案.doc VIP
- 2024年03月上海市公安局浦东分局2024年上半年度招考文员笔试上岸试题历年典型考题与考点剖析附带答案解析.docx VIP
文档评论(0)