Your SlideShare is downloading. ×
2011 06-12-基于my sql开放复制协议的数据同步
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Introducing the official SlideShare app

Stunning, full-screen experience for iPhone and Android

Text the download link to your phone

Standard text messaging rates apply

2011 06-12-基于my sql开放复制协议的数据同步

5,688
views

Published on


0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
5,688
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
51
Comments
0
Likes
2
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. 基于MySQL开放复制协议的数据同步
    简朝阳
    @mbaobao.com
    2011.06.12
    2011/06/12
    1
  • 2. 基于MySQL开放复制协议的数据同步
    简朝阳(sky000)
    Oracle ACE (Expertise MySQL)
    技术保障部@麦包包
    http://isky000.com
    http://twitter.com/sky000
    http://weibo.com/isky000
    2
    2011/06/12
  • 3. 基于MySQL开放复制协议的数据同步
    原生现状介绍
    主题纲要
    现实业务需求
    应该如何扩展
    架构示例展示
    3
    2011/06/12
  • 4. 原生 MySQL Replication 现状
    • 3个线程:2 个 io线程,1个sql线程
    • 5. 2种日志:binlog,relaylog
    • 6. 1种实现:全程异步
    实现机制
    原生现状
    • 稳定可靠:已经历多年实践验证
    • 7. 代码集成:和 MySQL Server 绑定
    • 8. 维护简单:配置简单,信息清晰
    • 9. 能耗较低:单线程,Slave 端请求
    优点
    • 数据丢失:异步机制无法保证安全
    • 10. 主从延时:单线程串行机制造成
    • 11. 单个主库:避免可能的数据冲突?
    • 12. 切换困难:日志ID不是全局唯一
    缺点
    4
    2011/06/12
  • 13. 现实场景对 Replication的需求
    • 日志:故障情况下不丢失日志内容
    • 14. 数据:故障情况下不丢失数据
    无丢失
    现实需求
    • 主从延时小:希望Master 与 Slave 之间数据延时较小,更有效的提升扩展性
    低延时
    • 异常切换快:Slave能够在无人工干预的环境下快速更换 Master的,并确保数据无丢失
    易切换
    • 多主复制:能够让1个 Slave 从多个 Master 复制数据,实现数据合并
    多个主
    2011/06/12
    5
  • 15. 我们该如何对 Replication 进行扩展
    • 可行性:协议开源
    • 16. 目的性:易于控制(分拆/合并/持久化…)
    • 17. 必要性:避免入侵原生代码,方便后续升级
    自行解析
    如何扩展
    • 易控制:合并,分拆,转发…
    • 18. 降低能耗:一个请求多个解析,解放主节点
    • 19. 持久化:集中处理变更(备份/转发…)
    • 20. 易切换:日志不丢失,可全局控制
    中继缓冲
    • 高性能:多线程提高处理能力
    • 21. 低延时:避免大事务阻塞问题
    • 22. 易排错:一个错误不影响整体复制进度
    并行加载
    6
    2011/06/12
  • 23. 复制扩展后架构示例
    • 实时反映数据变化至数据分析中心
    • 24. 合并多个数据源至单个目的数据库
    • 25. 目标端可能不是 MySQL数据库
    示例扩展
    准实时数据分析
    • 写入量相对较少,数据相对静止
    • 26. 读取请求特别多,并发量很高
    高并发主读应用
    7
    2011/06/12
  • 27. 准实时数据分析系统架构示例




    app1
    app2
    app3
    app4
    App Cluster



    db1
    db2
    db3
    DB Cluster
    BinlogSyncer
    实时分析报表
    昨日数据报表
    Data Analyze Center
    8
    2011/06/12
  • 28. 高并发主读系统架构示例




    app1
    app2
    app3
    app4
    App Cluster
    write
    Master
    (with all data)
    read
    read
    BinlogSyncer
    db3
    db2
    db…
    db1
    each db with part of all data
    Read DB Cluster :
    9
    2011/06/12
  • 29. 互动环节
    Q & A
    sky000@gmail.com
    Thanks!
    10
    2011/06/12