扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
作者:builder.com.cn 2007年11月14日
关键字:
异步数据复制
异步数据复制则是指将本地生产环境中的数据定期复制到异地,每一本地交易无需等待远程复制的结束就可以完成。因此异步数据复制环境下所有复制节点的数据在一定时间内是不同步的。如果复制环境中的其中的一个节点的复制数据发生了更新操作,这种改变将经过一定的时间间隔并在不同的事务中被传播和应用到其他所有复制节点。
如图1所示,对于异步复制,系统处理用户请求的过程仍然为①->②->③->④,其中的③与没有启用数据复制功能时略有差别。当启用异步复制时,在步骤③中还会写逻辑日志,供异步复制的代理程序定期读取。另外,异步复制代理程序还会定期执行⑤->⑥两个步骤。对于异步复制来说,⑤用于读取主数据库中的逻辑日志,将其转化为数据更新操作,发送给从数据库,⑥则是从数据库通知主数据库异步复制任务处理完毕,等待主数据库继续发送异步数据复制请求。
异步复制特征是源数据与目标数据之间并不是在任何时刻都保持完全一致,它们之间有一个延时。主数据库的变化,不是立刻反应到从数据库中,而是把产生变化的事务写入一个专门的逻辑日志中。当这些事务累计到设定值时,由复制代理程序把事务发送给从服务器。从服务器再执行这些事务来保持源数据与拷贝数据的一致。当因网络或其他问题使复制不能完成时,源数据的变化会一直保存在主数据库中直到问题解决再自动把所有保存的事务送出,并且复制两端的数据仍保持一致。
异步复制不影响本地交易,传输距离长,对网络环境要求低,具有很高的可用性和很短的响应时间,但异地数据比本地数据略有延迟。
除此之外,依据是否支持不同数据库之间进行数据复制,又可以划分为同构数据复制和异构数据复制。
同构数据复制
同构数据复制指采用达梦数据库的专有接口,进行达梦数据库之间的数据复制。同构数据复制也支持前面提到的同步复制和异步复制功能。当只进行达梦数据库之间的数据复制时,建议采用同构数据复制方案,因为相对异构数据复制来说,由于采用了专有接口,复制性能更高。
异构数据复制
在一个典型的大型分布式应用系统中,通常使用了多种数据库管理系统。在这种异构数据库环境中复制数据是用户的现实要求。达梦数据库增加了在异构数据库环境中复制数据的功能。
JDBC是一种通用的数据库编程界面,它提供了访问关系型数据库的方法。通过使用JDBC,达梦数据库提供了在异构数据库环境中复制数据的高效解决方案。DM支持的异构数据库包括Oracle、DB2、SQL Server等大型通用数据库管理系统和其他提供JDBC驱动程序的数据库,为异构数据库环境中复制数据提供了极大的便利。
基于SQL的异构数据复制,数据库的更改可以被捕捉,并临时地存储在称作关系中间表(staging table)的关系表中。然后,从目标系统上的一个客户接口可以读取这些关系中间表,并将它们应用于目标表。那些以非DM数据库作为源或目标的场景,SQL Replication 可能仍是目前的最佳选择。
数据过滤
达梦数据库的数据复制支持三种过滤数据的方法,即水平过滤、垂直过滤和水平垂直混合过滤。水平过滤就是包含了表中的一部分列,是列的子集。这时只有可以复制的列中的数据才会出现在从数据库中。垂直过滤就是包含了表中的一部分行,是行的子集。当使用垂直过滤时,只有这一部分行中的数据才可以传送到从数据库中。另外,还可以采取水平垂直混合过滤的方法,即通过选择表中的一部分列和一部分行,复制表中的一部分数据。
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者