技术开发 频道

基于数据复制的高可靠性解决方案

  同步数据复制

  同步数据复制指通过将本地生产环境中的数据以完全同步的方式复制到异地,每一个本地交易均需等待远程复制结束才算完成。在同步数据复制中,复制数据在任何时间在任何复制节点均保持一致。如果复制环境中的任何一个节点的复制数据发生了更新操作,这种变化会立刻反映到其他所有的复制节点。这种技术适用于那些对于实时性要求较高的商业应用中。

  图1是一个典型的3层结构的应用,在不启用同步复制功能时,系统处理用户请求的过程为①->②->③->④。①表示用户向WEB服务器发出请求;②表示WEB服务器分析用户请求后,由应用服务器执行应用逻辑,并向数据库服务器发出请求;③表示数据库处理数据请求,然后将处理的结果返回给应用服务器;④表示应用服务器接收到数据库服务器处理结果后,转交给WEB服务器,由WEB服务器对相关数据进行封装,并转发给最终用户。如果启用了同步复制功能,则系统的执行流程变成了①->②->⑤->⑥->③->④,其中⑤表示在主数据库写完事务日志后,将需要复制的相关数据的请求发给从数据库,⑥表示从数据库处理完毕复制任务后,通知主数据库复制成功或者失败,如果复制成功,主数据库向客户端返回事务成功的消息和相关数据,如果复制失败,则整个事务被回滚,主数据库通知客户端事务执行失败。

  从上面的流程我们可以看到,当采用同步复制方案的表发生变化时,达梦数据库会确保这种变化能够成功地作用在本地表和从数据库中的复制表,如果任何一个数据库执行失败,则整个事务会被成功回滚。同步复制具有实时性特点,可以保证数据的完整性和一致性,灾难发生时远端数据与本地数据完全同步。但这种方式会受到数据传输距离的限制,并且受网络带宽影响较大,如果系统存在网络存取速度很慢这样的问题,响应时间就会很慢。同步复制在网络的稳定性比较高的情况下是可行的,可以保证复制节点之间的复制数据一直保持同步。

0
相关文章