当前位置:嗨网首页>书籍在线阅读

03-复制的概念

  
选择背景色: 黄橙 洋红 淡粉 水蓝 草绿 白色 选择字体: 宋体 黑体 微软雅黑 楷体 选择字体大小: 恢复默认

13.1.1 复制的概念

MySQL复制是指将主数据库的DDL和DML操作通过二进制日志传到复制服务器上,然后在复制服务器上将这些日志文件重新执行,从而使复制服务器和主服务器的数据保持同步。复制过程中一个服务器充当主服务器(Master),而一个或多个其他服务器充当从服务器(Slaves)。主服务器将更新写入二进制日志文件,并维护文件的一个索引以跟踪日志循环。这些日志可以记录发送到从服务器的更新。当一个从服务器连接主服务器时,它通知主服务器、从服务器在日志中读取的最后一次成功更新的位置。从服务器接收从那时起发生的任何更新,然后封锁并等待主服务器通知新的更新。

在MySQL中,复制操作是异步进行的,即在进行复制时,所有对复制中的表的更新必须在主服务器上进行。从服务器不需要持续地保持连接来接受主服务器的数据,以避免用户对主服务器上的表进行的更新与对从服务器上的表所进行的更新之间的冲突。

MySQL支持一台主服务器同时向多台从服务器进行复制操作,从服务器同时可以作为其他从服务器的主服务器,如果MySQL主服务器的访问量比较大,通过复制技术,从服务器来响应用户的查询操作,从而降低主服务器的访问压力,同时从服务器可以作为主服务器的备份服务器。

一般而言,数据库复制技术可以从以下3个方面改善分布式数据库集群系统的功能和性能。

⑴可用性:数据库集群系统具有多个数据库节点,在单个或多个节点出现故障的情况下,其他正常节点可以继续提供服务。

⑵性能:多个节点一般可以并行处理请求,从而避免单节点的性能瓶颈,一般至少可以提高读操作的并发性能。

⑶可扩展性:单个数据库节点的处理能力毕竟有限,增加节点数量可以显著提高整个集群系统的吞吐率。