OceanBase-破解数据库高可用难题 郁白.pptVIP

  1. 1、本文档共20页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
OceanBase-破解数据库高可用难题 郁白

OceanBase-破解数据库高可用难题 郁白 yubai.lk@ Agenda 数据库高可用的意义 传统数据库的高可用方案 OceanBase的高可用方案 OceanBase1.0技术展望 数据库高可用的意义 数据可靠性前提:保证数据不丢失 数据可用性:保证数据可访问 故障不可避免 数据库高可用的意义 几个“九”的认识 数据库高可用的意义 5个9的可用性 5.25分钟意味着什么? - 5.8亿 - 17万条内裤 - 伤百万用户的心 传统数据库的高可用方案 单机高可用 - 高可用硬件:小型机+高端存储 - 硬件冗余:多路冗余电源和网络 机群高可用 - 1主N备 - 可选的备份模式 - 最大保护,最高性能,最大可用 问题 - 昂贵 - 谁来选主? - 不可调和的数据可靠性与可用性矛盾 OceanBase的高可用方案 总体架构 RedoLog同步 分布式选举 多级Lease时间分析 OceanBase的高可用方案 总体架构 - RootServer自己选主,无状态 - UpdateServer由RootServer选主 OceanBase的高可用方案 总体架构 OceanBase的高可用方案 UpdateServer基于投票的RedoLog同步 - N个副本,多数派(N+1)/2同步成功即成功 - 不影响数据可靠与服务可用的宕机数量:1/3,2/5,3/7 - 依赖一个逻辑上的单点(RootServer)选主 - 主机由RootServer选择产生,使用lease维护 - 主机产生LogID连续的日志来同步到备机 - RootServer在多数派中以日志的TimeStamp为优先级选主 OceanBase的高可用方案 UpdateServer基于投票的RedoLog同步 - 顺序应答与乱序应答的折中 - 顺序应答:实现简单,对网络抖动的容忍度低 - 乱序应答:调序与补偿逻辑复杂,性能好,对网络抖动的容忍度高 - 关键细节 - 备机回放的条件 - 主机未决日志的补偿 - 备机未决日志的覆盖 - “幽灵复现” - 顺序应答的性能优化 OceanBase的高可用方案 RootServer的分布式选举 - 原则:选举保证任意时刻最多只能有一个Leader - 投票:得到多数派(N+1)/2的人成为Leader - 关键细节: - 对时钟的依赖:lease与心跳的折中 - 选举时机的选择:避免选举分裂,支持投票权重 - 成员投票不自相矛盾的保证:持久化与非持久化的折中 - 折中的方案,保证简单的设计: - 选举窗口,不设心跳,不写日志,依赖时钟 - 支持权重 OceanBase的高可用方案 RootServer的分布式选举时序分析 - 时钟误差最大为Tdiff,网络网路传输单程最长耗时为Tst - 收到预投票消息的时间区间[T1-Tdiff×2,T1+Tdiff×2+Tst=T2] - 收到投票消息的时间区间[T2-Tdiff×2,T2+Tdiff×2+Tst=T3] - 收到广播消息的时间区间[T3-Tdiff×2,T3+Tdiff×2+Tst=T4] - 选举耗时Telect=T4-T1=Tdiff×6+Tst×3 OceanBase的高可用方案 RootServer的分布式选举周期分析 - 时钟偏差Tdiff=100ms,网络单程传输Tst=200ms - 选举耗时Telect=Tdiff×6+Tst×3=1200ms - 扩展的选举耗时Telect2=Telect+200=1400ms - Tlease=4×Telect2=5600ms,从T1开始 - 无主选举周期Tcycle=5×Telect2=7000ms OceanBase的高可用方案 RootServer的分布式选举时钟分析 - 对时钟误差的容忍:Tdiff = (Telect2+T3-T1) ,即2200ms - 最长恢复时间: (Tlease+ Tcycle+Telect) 约两个选举周期,即14000ms OceanBase的高可用方案 多级Lease时间分析 - 多级Lease系统:上级server给下级server授予lease - 假设: - 第i层系统的lease时间为L(i) - 最长不可服务时间为D(i) - Lease renew间隔为T(i) - D(i) = L(i) + D(i-1) - 上级server宕机不影响下级server的Lease

文档评论(0)

baoyue + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档