自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

淺談數(shù)據(jù)庫(kù)同步

譯文
數(shù)據(jù)庫(kù)
顧名思義,數(shù)據(jù)庫(kù)同步(Database synchronization)是指在兩個(gè)或多個(gè)數(shù)據(jù)庫(kù)之間建立數(shù)據(jù)的一致性,并且能夠自動(dòng)相互復(fù)制數(shù)據(jù)記錄的更改。隨著時(shí)間的推移和信息量的增多,此類數(shù)據(jù)的協(xié)調(diào)工作應(yīng)當(dāng)被持續(xù)執(zhí)行。

淺談數(shù)據(jù)庫(kù)同步

【51CTO.com快譯】顧名思義,數(shù)據(jù)庫(kù)同步(Database synchronization)是指在兩個(gè)或多個(gè)數(shù)據(jù)庫(kù)之間建立數(shù)據(jù)的一致性,并且能夠自動(dòng)相互復(fù)制數(shù)據(jù)記錄的更改。隨著時(shí)間的推移和信息量的增多,此類數(shù)據(jù)的協(xié)調(diào)工作應(yīng)當(dāng)被持續(xù)執(zhí)行。

從實(shí)現(xiàn)機(jī)制上說(shuō),最簡(jiǎn)單的操作方式莫過(guò)于將數(shù)據(jù)從源數(shù)據(jù)庫(kù)(主數(shù)據(jù)庫(kù))推送到目標(biāo)數(shù)據(jù)庫(kù)(從數(shù)據(jù)庫(kù))。當(dāng)然,值得注意的是:同步必須基于主鍵(Primary Key)的約束。同時(shí)數(shù)據(jù)庫(kù)的結(jié)構(gòu)應(yīng)當(dāng)包含有主鍵或唯一(主)索引,而絕不是復(fù)合型(composite)的。

通常,我們會(huì)在兩到多個(gè)數(shù)據(jù)庫(kù)之間持續(xù)如下類型的同步:

  • 插入同步(Insert Synchronization)
  • 更新同步(Update Synchronization)
  • 刪除同步(Drop Synchronization)
  • 混合同步(Mixed Synchronization)

數(shù)據(jù)庫(kù)插入同步

如果目標(biāo)表中并不具有與源表相同主鍵值的適當(dāng)記錄,那么源表需要將新的記錄自動(dòng)傳輸?shù)侥繕?biāo)處。也就是說(shuō):在數(shù)據(jù)庫(kù)完成同步過(guò)程后,那些缺少的記錄將被插入到目標(biāo)表的對(duì)應(yīng)位置。

下圖展示了數(shù)據(jù)庫(kù)插入同步的具體過(guò)程:

數(shù)據(jù)庫(kù)更新同步

當(dāng)源數(shù)據(jù)庫(kù)發(fā)生更改時(shí),我們必須確保在目標(biāo)數(shù)據(jù)庫(kù)中執(zhí)行適當(dāng)?shù)母摹o@然,在同步之前,我們需要先比較兩個(gè)數(shù)據(jù)庫(kù)的記錄值,然后在目標(biāo)表處替換需要更改的記錄,并在兩個(gè)表之間建立合適的標(biāo)識(shí),以標(biāo)記更新數(shù)據(jù)庫(kù)的操作已完成。

下圖展示了數(shù)據(jù)庫(kù)更新同步的具體過(guò)程:

數(shù)據(jù)庫(kù)刪除同步

如果某些數(shù)據(jù)記錄已經(jīng)從源數(shù)據(jù)庫(kù)中被刪除,那么其對(duì)應(yīng)的記錄也需要及時(shí)從目標(biāo)數(shù)據(jù)庫(kù)中被移除。也就是說(shuō),通過(guò)檢查“刪除同步選項(xiàng)(Drop-sync option)”,那些“滯留”在目標(biāo)數(shù)據(jù)庫(kù)中的多余記錄會(huì)被及時(shí)刪除掉,以保障源數(shù)據(jù)庫(kù)與目標(biāo)數(shù)據(jù)庫(kù)的存儲(chǔ)一致性。

下圖展示了數(shù)據(jù)庫(kù)刪除同步的具體過(guò)程:

數(shù)據(jù)庫(kù)混合同步

其實(shí)在實(shí)際應(yīng)用中,上述三種同步操作從來(lái)不是孤立地存在著。為了保持兩個(gè)數(shù)據(jù)庫(kù)的相關(guān)性,我們必須在同一套操作中,對(duì)目標(biāo)數(shù)據(jù)庫(kù)的對(duì)應(yīng)行/列“打出”添加、更新、以及刪除的“組合拳”。

下圖展示了數(shù)據(jù)庫(kù)混合同步的具體過(guò)程:

在《跨數(shù)據(jù)庫(kù)轉(zhuǎn)換和同步軟件》(請(qǐng)參見(jiàn)-- https://dbconvert.com/)一文中,作者詳細(xì)介紹了如何在SQL Server、MySQL、Oracle、以及PostgreSQL等時(shí)下流行的本地?cái)?shù)據(jù)庫(kù)之間,遷移與同步各類數(shù)據(jù)與記錄的操作。當(dāng)然,此類方法也適用于AWS RDS/Aurora、Microsoft Azure SQL、以及Google Cloud SQL等云端數(shù)據(jù)庫(kù)平臺(tái)。

原標(biāo)題:What Is Database Synchronization?,作者: Dmitry Narizhnykh

【51CTO譯稿,合作站點(diǎn)轉(zhuǎn)載請(qǐng)注明原文譯者和出處為51CTO.com】

 

責(zé)任編輯:龐桂玉 來(lái)源: 51CTO
相關(guān)推薦

2019-08-13 15:52:34

數(shù)據(jù)庫(kù)同步遷移

2021-11-26 22:07:57

數(shù)據(jù)庫(kù)管理Mongodb

2019-07-16 06:30:19

MySQL同步延遲數(shù)據(jù)庫(kù)

2024-12-06 08:29:29

2009-04-16 09:08:21

Oracle開(kāi)發(fā)經(jīng)驗(yàn)

2023-09-01 07:30:59

2018-09-06 14:53:39

數(shù)據(jù)庫(kù)事務(wù)隔離隔離級(jí)別

2010-06-02 16:57:50

MySQL數(shù)據(jù)庫(kù)同步

2010-08-27 09:59:51

SQL Server

2009-02-03 08:58:13

SQL*Net配置網(wǎng)絡(luò)應(yīng)用

2009-07-14 17:18:23

JDBC怎么連接數(shù)據(jù)庫(kù)

2009-07-20 15:56:08

JDBC連接數(shù)據(jù)庫(kù)步驟

2011-07-13 10:36:53

Delphi

2011-03-31 09:55:59

Oracle數(shù)據(jù)庫(kù)開(kāi)發(fā)技術(shù)

2012-09-20 09:43:37

SSIS

2009-10-13 09:43:43

Oracle數(shù)據(jù)庫(kù)備份

2010-04-14 13:25:15

Oracle數(shù)據(jù)

2021-04-02 11:23:01

云計(jì)算數(shù)據(jù)庫(kù)云應(yīng)用

2020-05-10 16:36:08

存儲(chǔ)數(shù)據(jù)庫(kù)內(nèi)存

2010-06-09 17:36:45

MySQL數(shù)據(jù)庫(kù)同步
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)