Navicat使用教程:使用Navicat Premium 12自動執(zhí)行數(shù)據(jù)庫復(fù)制(四)
Navicat Premium是一個可連接多種數(shù)據(jù)庫的管理工具,它可以讓你以單一程序同時連接到MySQL、Oracle及PostgreSQL數(shù)據(jù)庫,讓管理不同類型的數(shù)據(jù)庫更加的方便。
與同步不同,同步是一個一次性的過程,它使兩個數(shù)據(jù)庫的模式和數(shù)據(jù)同步,復(fù)制是一個連續(xù)(自動)在兩個數(shù)據(jù)庫之間復(fù)制數(shù)據(jù)的過程(盡管模式更新也是可能的)。復(fù)制可以異步進行,這樣就不需要在兩個數(shù)據(jù)庫之間建立永久連接,或者在非高峰時間(例如,在深夜,數(shù)據(jù)庫服務(wù)器上的通信量很少)進行復(fù)制。
復(fù)制的主要作用是創(chuàng)建所有用戶數(shù)據(jù)庫的合并存儲庫和/或在所有用戶之間傳播相同級別的信息。在這兩種情況下,結(jié)果都是一個分布式數(shù)據(jù)庫,在該數(shù)據(jù)庫中,用戶可以訪問與其任務(wù)相關(guān)的數(shù)據(jù),而不會干擾其他人的工作。為了消除用戶之間的數(shù)據(jù)模糊性或不一致性而實現(xiàn)的數(shù)據(jù)庫復(fù)制稱為規(guī)范化。
這篇文章將介紹如何使用Navicat Premium的新自動化實用程序自動執(zhí)行數(shù)據(jù)庫復(fù)制。
合并復(fù)制
顧名思義,合并復(fù)制包括將兩個或多個數(shù)據(jù)庫中的數(shù)據(jù)合并到一個數(shù)據(jù)庫中。作為練習(xí),我們將把sakila和sakla2數(shù)據(jù)庫的內(nèi)容合并到第三個名為“sakila_merged”的數(shù)據(jù)庫中,該數(shù)據(jù)庫將存儲合并的數(shù)據(jù)集。
所需的數(shù)據(jù)同步作業(yè)
合并復(fù)制作業(yè)將要求我們創(chuàng)建和保存兩個數(shù)據(jù)同步配置文件:每個源數(shù)據(jù)庫一個。這些步驟與上面的“Creating a Data Synchronization Job”部分中的步驟完全相同,因此我們在此不再重復(fù)這些步驟。
創(chuàng)建批處理作業(yè)
批處理作業(yè)可能由源數(shù)據(jù)庫或目標觸發(fā),正如我們在快照復(fù)制的前一節(jié)中所做的那樣。但是,通常最容易從目標數(shù)據(jù)庫觸發(fā)批處理作業(yè),因為它們都將駐留在同一服務(wù)器上。我們也會在這里做。
- 單擊主工具欄中的“Automation”按鈕。
- 然后單擊“Objects”工具欄中的“New Batch Job”以打開“New Batch Job”選項卡。
- 在“Objects”窗格中瀏覽上的源連接、數(shù)據(jù)庫和/或架構(gòu)。這將使該數(shù)據(jù)庫的已保存作業(yè)顯示在“Available Jobs”底部窗格中。
- 在“Available Jobs”窗格中,選擇數(shù)據(jù)同步作業(yè)類型,然后通過雙擊或拖動將作業(yè)從“Available Jobs”列表移動到上面的“Selected Jobs”列表。
- 單擊“Automation”工具欄上的“Save”按鈕,并在“Save”對話框中提供描述性名稱。這將啟用“the Set Task Schedule”和“Delete Task Schedule”按鈕。
- 在“Task Schedule”對話框的“General”選項卡中,您可以再次提供任務(wù)的說明,并提供執(zhí)行任務(wù)的幾個選項。
- 在“Triggers”選項卡中,可以將任務(wù)配置為按各種計劃運行,包括一次、每天、每周、每月以及每種計劃的任意排列。這一次,將執(zhí)行兩個作業(yè)而不是一個。
- 完成自動化作業(yè)的配置后,可以通過單擊自動化工具欄中的“Start”按鈕來測試它。
事務(wù)復(fù)制
在合并復(fù)制中,只有合并的數(shù)據(jù)庫包含所有最新數(shù)據(jù)。每個源數(shù)據(jù)庫只包含基線數(shù)據(jù),以及自首次填充以來插入的數(shù)據(jù)。在事務(wù)復(fù)制中,用戶接收數(shù)據(jù)庫的完整初始副本,然后隨著數(shù)據(jù)更改而定期接收更新,以便所有數(shù)據(jù)庫都使用相同的數(shù)據(jù)集。保持多個數(shù)據(jù)庫同步使這成為最復(fù)雜的復(fù)制類型。
所需的數(shù)據(jù)同步作業(yè)
使用事務(wù)復(fù)制時,所需的數(shù)據(jù)同步作業(yè)的數(shù)量會大幅增加,因為必須跨所有用戶數(shù)據(jù)庫復(fù)制數(shù)據(jù)。例如,假設(shè)我們有三個數(shù)據(jù)庫,分別是sakila、sakila2和sakila3。我們可以使用總共六個數(shù)據(jù)同步作業(yè)在所有用戶數(shù)據(jù)庫中合并和傳播完整的數(shù)據(jù)集:三個用于合并用戶數(shù)據(jù)庫,另外三個用于用合并的數(shù)據(jù)集更新它們。
下面是包含所有六個作業(yè)的自動化向?qū)В?/p>
為了使數(shù)據(jù)合并有足夠的時間完成,最好將作業(yè)分成兩部分,第一部分合并數(shù)據(jù),第二部分在指定的延遲后使用完整的數(shù)據(jù)集更新用戶數(shù)據(jù)庫。
下面是將合并數(shù)據(jù)集傳播到用戶數(shù)據(jù)庫的自動化作業(yè)的外觀:
在第一次運行兩小時后運行此作業(yè)應(yīng)為完成合并提供足夠的時間。因此,如果第一個作業(yè)計劃在午夜運行,我們會將此作業(yè)設(shè)置為凌晨2點開始:
結(jié)論
這篇文章介紹了如何使用Navicat Premium 12的自動化實用程序自動執(zhí)行數(shù)據(jù)庫復(fù)制。它與它的同步工具結(jié)合使用,允許DBA自動執(zhí)行各種類型的復(fù)制,以按照預(yù)先定義的計劃運行。
購買Navicat Premium正版授權(quán),請點擊“”喲!