接下来分享DTS的架构优势,来帮助大家更加清晰地了解应该在什么样的场景上去应用DTS,并且更好地利用DTS的特性来快速实现业务的快速发展。首先,DTS的第一个架构优势就是高性能,如果用户想要快速地实现异地灾备或者上云,DTS可以帮助用户使得同步性能达到3万多TPS,当然这个数据是在实验场景之下的。阿里云经常会在用户所提交的工单中发现用户的源库和目的库之间的差别很大,这样的情况下往往达不到上述的性能。
但是DTS会尽可能地提供比测试数据更高的性能,当用户在实际使用的时候就能够感知到即使库写的很大,DTS也能够支持。这是因为DTS内部有一整套通用的解决方案,比如事务冲突检测能够实现并发的事务写入。举个例子,事务1写了表A和表B两张表,另外一个事务2写了表C,还有一个事务3写了表A和表D这两张表,这样的话,事务1和事务3是冲突的,因为他们都写了A这张表,而事务2与他们都不相关,所以事务2是可以和他们并行执行的,而事务1和事务3只能是串行执行的。这个例子非常简单,而在实际情况下却并非如此,因为每个表都有主键、唯一索引以及外键,上述例子只是为了帮助大家进行理解。补充一点:MySQL的事务处理比较简单,但是Oracle数据库的事务则不同,其事务是穿插的,所以在Oracle中实现事务冲突检测就会非常复杂。大家如果做过Oracle的日志解析就会发现其中存在非常大的困难,而目前无论是对于MySQL、Oracle、SQL Server、Redis还是MongoDB,DTS都能够提供支持。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。