對於大型企業,業務分布在世界各地,為了改善當地業務服務能力,不得不在當地部署資料庫以提高效能,而各個區域之間的資料互動或者同步,成為不可不面對的問題。其間要解決的技術問題主要有:
1、同步資料的提取。從資料庫裡提取出需要同步的資料,這包括增、刪、改三類動作對資料造成的改變。在資料表安裝觸發器是提取同步資料的簡單有效的手段,而且觸發器對應用層而言是透明的,應用程式感覺不到觸發器的存在。
2、同步資料的可靠傳輸。資料傳輸可以用佇列來實現,例如有msmq、ibm mq series等。
3、資料衝突與操作衝突的規避、發現和解決。資料衝突是指兩個節點合併資料時,出現約束衝突的情況;而操作衝突是指兩個節點同時發生對同一條記錄發生操作,導致在雙向同步時難以決定兩個操作執行的先後順序。
觸發器安裝在各個要同步的資料表上,記錄對錶的增刪改操作。所有操作共同記錄在一張操作日誌表上,以便保證操作發生的順序。資料傳送服務提取操作日誌表上的資料,通過訊息佇列傳輸到遠端伺服器,遠端伺服器接收佇列資料後,寫入到遠端資料表裡,從而完成資料同步。
在方案中,本地和遠端節點在結構上是對等的,是傳送方同時也是接收方,由以下幾個部分組成:
1、 資料庫伺服器:oracle / sql server / db2 等
2、 操作日誌:記錄資料表的增刪改操作
3、 訊息佇列:訊息佇列服務,負責通訊,例如傳送和接收訊息
4、 抽取傳送服務:從操作日誌表提取資料,寫入訊息佇列
5、 接收寫入服務:從訊息佇列讀取資料,寫入到資料庫
6、 配置管理服務:配置同步任務、管理監控系統執**況
7、 配置管理工具:管理配置工具的客戶端
8、 介面卡:訊息佇列介面卡,減少佇列依賴
9、 異常資訊庫:存放一些無法處理的衝突和意外錯誤,供管理員處理
分布式資料庫部署方案
最近到新部門輪崗,瘋狂的汲取分布式知識,以補充短板。之前一直好奇支付寶的資料庫部署方案究竟是什麼樣子。這次有了個概念性的認識 為了保證資料的高度一致性及分割槽容錯,首先將乙個資料庫進行水平切分,分為pxc分片一和二兩部分。在pxc集群一中持有的是資料表的一部分水平切分資料,此pxc集群掛載有三個節點...
分布式資料庫
網路選課系統中分布式資料庫設計 何翠雙王巧雲張麗麗 摘要 關鍵字 選課 分布式 資料庫 distributed system of on line course choosing abstract key words course choosing distributed database 隨著學校...
分布式資料庫
1 背景 我們知道資料是乙個公司的命脈,隨著業務越做越大,資料量也會越來越大,計算也會越來越複雜,效能,可靠性,可擴充套件性的需求就會越來越強烈,這個時候乙個集中式的資料庫顯然已經滿足不了需求了。對於技術決策者來說有兩條路可以走,第一 按照現有的大型資料庫的解決方案,比如sql server clu...