西北工业大学计算机学院教授李战怀:大数据背景下分布式系统的数据一致性策略

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

• 分布式领域 -CAP
• 一致性 (Consistency) • 高可用性 (Availability ) • 分区容忍性 (Tolerance of network Partition )
前提:对于分布式系统,P 是必须满足的限制条件
CP:提供一致性保证 AP:提供可用性保证
注:单点运行的RDBMS是 典型的CA系统
• 若满足W+R > N,那么读写节点有重叠,读总是能够得到最 新的数据,系统可保证强一致性 • 若满足R + W ≤ N,这时读取和写入操作是不重叠的,系统只 能保证最终一致性 • R和W的设置直接影响系统的性能、扩展性与一致性
• R和W的值如较小会影响一致性,较大则会影响性能,这两个值的设置需 要权衡
RDBMS在大数据背景下的掣肘
• 大数据的新挑战和RDBMS的掣肘:
可扩展性问题:大数据的Volume维度对系统的可扩展 性提出了更高的要求( scale-up VS. scale-out) 有限的数据支持类型: 大数据的Variety维度极大增加 了数据分析处理的难度(半结构乃至非结构化数据) 较低的处理速度:大数据的Velocity维度使数据产生速 度与分析结果产生速度两者之间不匹配的矛盾加剧 硬件依赖问题:昂贵的高性能大机(中小规模专用集群) VS. 廉价的大规模普通PC集群
Lamport, The part-time parliament,1998、Paxos made simple, 2001.
一致性相关技术和策略—两阶段提交
• 两段提交协议(2 Phase Commit,2PC)
2 预提交 1 3 准备提交/准 备废弃 1 全部提交/全 部废弃 废弃 3 2
Ack
分布式系统中的一致性
基本特性—规模巨大、分布广泛
1、部件之间的并发执行 2、结点的独立失效 3、传输延迟 4、没有全局时间
分布式环境下不一致性所处理的问题
1、复制 2、对不同对象进行关联更新的事务
分布式系统中副本的一致性问题
• 分布式系统使用副本的主要原因
提供高可靠性/可用性:避免单点失效 提供高性能:避免单节点过载成为瓶颈 提供基于本地副本的快速访问:避免通信延迟与失败 (注:同时副本也带来了更复杂的一致性问题)
回顾:RDBMS中的一致性
• 一致性是数据最关键的属性之一 • 关系数据库建立之初就是为应对“大数据”的管 理问题,特别是并发操作的数据一致性问题。 • 强一致性是传统关系数据库提供的一致性模型, 也是关系数据库成功应用在多个关键领域的重要 原因,关系数据库通过事务机制保证强一致性。
All or Nothing Action
• …
注:很多系统甚至采用多种策略结合的方式来维护 数据一致性
Lamport, The part-time parliament,1998、Paxos made simple, 2001.
提纲
数据一致性的发展脉络 一致性理论与相关技术 分布式系统的一致性选择 对一致性策略的思索
CAP原理与一致性
维护强一致性的代价
• RDBMS采取强一致性策略具有较高的开销 • 对一致性要求较弱的应用支付了不必要的开销

论坛需要强一致吗? 微博需要强一致吗? 图书描述信息需要强一致吗? 火车票库存信息需要强一致吗? …
OLTP Through the Looking Glass, and What We Found There. S. Harizopoulos, D. Abadi, etc. ACM SIGMOD 2008.
功率墙导致众核处理器的出现
MySQL在多核上的吞吐量
• 问题与挑战
• 多核导致共享数据结构访问竞争的可能性增大,传统的锁、日志、 事务管理器在多核上的扩展性不佳,维护一致性的开销更昂贵,需 要设计针对多核的并发控制机制,减少lock或latch contention
大数据对一致性的影响—应用需求的变化
ACID
BASE
一致性控制技术概览
• 本地(集中)并发控制
• • • • 锁技术:两阶段封锁协议 时标(Timestamping)技术:时间戳排序协议 有效性检查机制 多版本机制
• 分布式并发控制
中心化协议
代表:Primary-Copy机制 优点:简单,将问题转化为对主副本的集中并发控制问题 缺点:单点故障、高延迟
去中心化协议
代表:Paxos协议(实现:ZooKeeper\ Chubby ) 优点:灵活 缺点:控制复杂
一致性相关技术和策略—NWR策略
• NWR模型 [Werner Vogels]
• • • • N:数据复制的份数 W:数据更新完成前需要到达的节点数 R:为了读取正确数据需要读取的节点数 为保证不同副本中的数据一致性采用类似Quorum系 统的一致性协议
1
4
4
决定阶段
执行阶段 协调者 参与者
一致性相关技术和策略—其他
• 时间戳策略
• 时间戳策略可用于SNA架构或并行架构系统中时间及 数据的同步(便于区分不同节点中数据的版本信息)
• 向量时钟
• 是一种在分布式环境中为各种操作或事件产生偏序值 的技术,它可以检测操作或事件的并行冲突,用来保 持系统的一致性
增加销售者账户里资金
Action
减少购物者账户里资金
RDBMS中维护强一致性的事务机制
• 单事务执行
• 所有数据库都有一致性约束,需要事务能够保证数据库的一致性 • 事务的ACID特性:AID->C
• 多事务并发
• 事务并发执行有破坏数据库一致状态的风险,需寻找保证一致性 的并行执行序列 • 冲突可串行化或视图可串行化且的调度可保证一致性 • 需要通过多种并发控制机制(调度器)保证调度的可串行化
• 采用多副本(高容错)进行可更改数据的存储 • 多个副本须执行相同的更新操作序列[op1, op2, …, opm] • 取值可以是任意binary • 取值具有不可变性和可读取性 • 以此保证副本执行完全相同的操作序列进而维护一致性
• Google的Chubby,Megastore,Spanner,以及 Yahoo的Zookeeper中都采用了此算法对副本更新序 列达成一致 • Paxos算法不仅可在分布式系统中应用,凡是多个过程 需要达成某种一致性的情况都可以使用Paxos算法
数据一致性模型
• 常见的几种一致性模型
• 强一致性:数据被成功更新后(无论是在哪个副本上 ),后续任何对该数据的读取操作都得到最新的值 • 弱一致性: 存在”不一致性时间窗口”概念,且能容 忍后续的部分或者全部访问不到更新过的数据 • 最终一致性:属于弱一致性的一种特例,系统确保最 终所有访问都将得到更新后的数据
大数据对一致性的影响—硬件基础的变化
• 新型存储器件的出现使计算机存储结构发生了变化
• 相变存储器(PCM),磁阻式随机存储器(MRAM)和电阻式随 机存储器(RRAM) 等新型存储级内存(storage class memory, SCM ) ,SSD等
• 新的机遇与挑战
• 内容容量大幅增长,具有了存储和管理海量数据的能力,使得基于 内存进行事务处理成为可能 • 数据访问特征的变化:并发性大幅提高,维护一致性的并发控制难 度增大 • 存储特性的变化:如 SSD读写代价不对称 • 多级缓存持久化引发 更复杂的一致性问题
Web 2.0
高可用/扩展性对一 致性的影响 事务低响应时间 非关系型数据
移动设备\网络
数据处理新需求
无线通信的不可靠性对 一致性的影响 随时,随地事务处理 事务处理量增加 数据实时、多样
OLAP & OLTP
云计算
实时分析 事务与分析的融合对 一致性的影响
大数据时代阶石 传统事务原则矛盾 廉价集群环境对一致性 的影响
内存墙导致多级缓存的引入
大数据对一致性的影响—硬件基础的变化
• 芯片的发展
• 芯片发展遇到功耗墙、频率墙等问题;处理器 也在经历单核到多核众核的发展,并出现 多核/多处理器共享缓存的新架构
Latching 24% Locking 24%
Useful Work 4%
Recovery 24% Buffer Pool 24%
Eventually Consistent - Revisited, By Werner Vogels on Decembe
一致性相关技术和策略—Paxos算法
Google Chubby 的作者Mike Burrows:“There is only one consensus protocol, and that's Paxos”-all other approaches are just broken versions of Paxos
倾向最终一致的模型—BASE模型
• BASE模型(思想)
• ACID的反模型,牺牲高一致性,获得高可用性\扩展性 • ACID强制保证每一个操作完毕后的一致性,而BASE接 受该数据库的一致性可能在一定时间内处在不确定的 状态中 • Basically Available:基本可用,容忍分区失败 • Soft state:软(柔性)状态,状态可以有一段时间不 同步,异步 • Eventually consistent:最终一致
Consistency Safty Availability Liveness
三选二:实现原子性读写服务的存在分区倾向的系统不能同时保证系统的安全性和活性
Ref: Nancy Lynch and Seth Gilbert, “Brewer's conjecture and the feasibility of consistent, available, partition-tolerant web services”
• 关系数据库领域 -ACID
• • • • 原子性(Atomicity ) 一致性(Consistency ) 隔离性(Isolation) 持久性(Durability)
“ CAP theorem, which states that of three properties one can only achieve two at any given time. ”
• 客户端关注:多并发访问时如何获取更新过的数据 • 服务端关注:如何在小的时间窗口内将更新传播到整个系统中 • 最终一致性的其他变体
• • • • • 因果一致性Causal consistency 会话一致性Session consistency 读自写一致性Read-your-writes consistency 单调读一致性Monotonic Read consistency …
• Paxos算法中的“一致性”对应第③种含义
Lamport, The part-time parliament,1998、Paxos made simple, 2001.
一致性相关技术和策略百度文库Paxos算法(续)
• Paxos算法在分布式存储系统中的应用
• 分布式存储系统的一致性 • Paxos算法用来确定一个变量(opi )的取值
大数据背景下分布式系统的 一致性策略
李战怀 西北工业大学
2013-12-03
提纲
数据一致性的发展脉络 一致性理论与相关技术 分布式系统的一致性选择 对一致性策略的思索
提纲
数据一致性的发展脉络 一致性理论与相关技术 分布式系统的一致性选择 对一致性策略的思索
数据一致性
什么是数据一致性? Data consistency summarizes the validity, accuracy, usability and integrity of related data between applications and across an (IT) enterprise - Wikipedia
• Lamport提出的Paxos是一种基于消息传递的一致性算法 ,主要解决分布式环境下的“一致性”问题 • 在不同的上下文中“一致性”有不同的解读
① 数据库领域:强调系统中所有的数据的状态一致 ② NoSQL领域:强调读写一致性(能读到最后写入的数据) ③ 状态机:强调在初始状态一致的状态机上执行相同的序列操作 后,每个状态机的状态须保持一致,即顺序一致性
相关文档
最新文档