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