Navicat使用教程:使用Navicat Premium 12自动执行数据库复制(一)
Navicat Premium是一个可连接多种数据库的管理工具,它可以让你以单一程序同时连接到MySQL、Oracle及PostgreSQL数据库,让管理不同类型的数据库更加的方便。
与同步不同,同步是一个一次性的过程,它使两个数据库的模式和数据同步,复制是一个连续(自动)在两个数据库之间复制数据的过程(尽管模式更新也是可能的)。复制可以异步进行,这样就不需要在两个数据库之间建立永久连接,或者在非高峰时间(例如,在深夜,数据库服务器上的通信量很少)进行复制。
复制的主要作用是创建所有用户数据库的合并存储库和/或在所有用户之间传播相同级别的信息。在这两种情况下,结果都是一个分布式数据库,在该数据库中,用户可以访问与其任务相关的数据,而不会干扰其他人的工作。为了消除用户之间的数据模糊性或不一致性而实现的数据库复制称为规范化。
这篇文章将介绍如何使用Navicat Premium的新自动化实用程序自动执行数据库复制。
复制类型
数据库复制可以至少以三种不同的方式完成:
- 快照复制:将一台服务器上的数据简单地复制到同一服务器或不同服务器上的另一个数据库。
- 合并复制:将来自两个或多个数据库的数据合并到一个数据库中。
- 事务复制:用户收到数据库的完整初始副本,然后在数据更改时接收定期更新。
在分布式数据库管理系统(DDBMS)中,对一个位置的数据所做的更改、添加和删除将自动反映在存储在所有其他位置的数据中。这样做可以确保每个用户访问与所有其他用户相同的数据集。
与同步类似,复制可以是同质的,也可以是异构的:
- 同质性:相同的源和目标DBS,即Percona到Percona,Mariadb到Mariadb,MySQL到MySQL。
- 异构:不同的源和目标DBS,即Oracle到Microsoft SQL Server、PostgreSQL、Amazon Dynamodb、MySQL到Amazon Aurora
一个需要异构复制的场景是,一个或多个外部业务合作伙伴使用不同于我们自己的数据库类型。两个环境之间的自动定期数据复制通常是这种安排的组成部分。
Navicat高级自动化实用程序
Navicat Premium的新自动化实用程序在版本12中引入,它具有易于使用和直观的界面,用于创建自动化批处理作业。自动化是以一个或多个定期间隔执行一个进程,从特定的日期和时间开始和结束,就像Windows任务调度程序一样。除了复制之外,它还可以用于各种作业,包括备份、查询和报告。
图1:Navicat Premium 12 Automation utility in Windows
图2:Navicat Premium 12 Automation utility in macOS
用户数据库
我们将使用Sakila Sample MySQL Database作为我们的用户数据库。它是专门为提供用于书籍、教程、文章等的标准模式而创建的。
它以电影业为主题,涵盖了从演员、电影制片厂到视频租赁商店的所有内容。
Sakila MySQL database structure in Navicat Premium 12
购买Navicat Premium正版授权,请点击“”哟!