Presentation is loading. Please wait.

Presentation is loading. Please wait.

MySQL Replication 新功能介绍

Similar presentations


Presentation on theme: "MySQL Replication 新功能介绍"— Presentation transcript:

1 MySQL Replication 新功能介绍
北京万里开源软件有限公司 2011年8月 MySQL Network corporate presentation Hide or unhide slides for customization 1 1

2 万里开源和MySQL -开源软件解决方案和技术服务提供商,推广使用开放源代码 的LAMP 架构。
- 2006年携手MySQL AB共建MySQL中国研发中心, 先后在 MySQL Cluster和Replication 功能上进行合作开发。

3 MySQL 5.5 Replication 新功能和改进
- Semi-synchronous Replication - Replication Heartbeat - Automatic Relay Log Recovery - Replication Per Server Filtering - Replication Slave Side Data Type Conversions 参考 - - html

4 Semi-Synchronous Replication
目标 -当COMMIT语句成功返回后,该事务的所有日志已经被同步到了 Slave上 -如果这时Master发生故障,用户能从Slave上看到所有在Master看 到的数据 实现方法-等待应答机制 - Master在事务提交后,将等待至少一个slave的应答,此应答意味 着整个事务的 日志已经复制到 了slave上 - Slave 在一个事务的所有binary log都写入relay log并刷新到磁盘 后, 就立刻应答Master - Binary Log Event 前添加了一个Semi-Sync Header. 有是否应答 的标志 位。COMMIT,ROLLBACK, DDL - 应答内容为master_log_file和master_log_pos

5 Semi-Synchronous Replication
Master上COMMIT返回后的两种含义 -得到了Slave的响应,数据已经复制到了Slave上 -等待超时, 数据没有复制到Slave上. 转变为异步方 式。Master上的操作不能回滚

6 MySQL 5.6 Replication 新功能和改进
- Multi-Threaded Slaves - Crash-Safe - Time-Delayed Replication - Informational Log Events - Optimized Row-Based Replication - Replication Checksums - Server UUIDs - Binlog API - Binlog Group Commit - Remote Binlog Back-up

7 Crash-Safe On Master binlog.index 的容错 - 备份binlog.index文件
Binary Log和Master 数据的一致性 -事务日志已经完整写入Binary Log, 但是未提交 利用xid Events, 恢复这些事务 -事务日志未完整写入,也未提交 从Binary Log中删除不完整事务的日志

8 Crash-Safe On Slave slave-relay-bin.index 的容错
master.info, relay-log.info和Slave 数据的一致性 - master.info 和 relay-log.info 存入系统表,并可修改引擎类型 slave_master_info, slave_relay_log_info。 - 对这两个表的操作,包含在正在执行的事务中 Round-Robin Multi-Source Replication in Pure SQL - sql.html 参考 -

9 Time-Delayed Replication
Slave滞后Master一定时间后再执行Binary Log - CHANGE MASTER TO MASTER_DELAY = N; 目的 -阻止用户在Master上的错误扩散到Slave上 -检测一段时间以前的数据库系统的状况 -测试目的 参考 -

10 Informational Log Events
Informational Log Event是一个新的Binary Log Event族. Master 可以通过这些Events将额外的信息发送到Slave。 -不包含任何数据,不影响Slave上的数据。 -只包含一些信息,这些信息可以被mysqlbinlog, SHOW BINLOG EVENTS 打印出来。 -主要用于调试 - Event Header中设置LOG_EVENT_IGNORABLE_F标志

11 Informational Log Events
Rows Query Log Event -在Row模式下,记录生成Rows Log Events的语句 - --binlog_rows_query_log_events 参考 -

12 Remote Binlog Back-up mysqlbinlog - --raw - --read-from-remote-server
- --stop-never 参考 -

13 Multi-Threaded Slaves
实现了多个SQL Threads 并发的执行不同的事务 Slave的组成 - 1 个 I/O Thread - 1 个SQL Coordinator Thread 分发Binary log Events 到不同的 Worker Threads - N个SQL Worker Threads 执行 Binary log Events

14 Multi-Threaded Slaves
限制 - Database级别的并发,两个事务修改了同一个database中的表, 则要顺序执行。 参考 - -

15 Optimized Row-Based Replication
不复制整行数据。减少Binary Log占用的空间和网络 传输时间。 Variable binlog-row-image - full - noblob - minimal

16 Optimized Row-Based Replication
Before Row -只复制主键字段或非空唯一键字段 After Row -对于UPDATE,只复制被修改的字段 -对于INSERT,复制所有字段 参考 - log.html#sysvar_binlog_row_image -

17 Email: Anders.Song@greatopensource.com
Q&A 谢谢!

18 参考书


Download ppt "MySQL Replication 新功能介绍"

Similar presentations


Ads by Google