[發(fā)明專利]MYSQL數(shù)據(jù)庫的異構(gòu)的基于日志的復(fù)制在審
| 申請(qǐng)?zhí)枺?/td> | 201180036429.0 | 申請(qǐng)日: | 2011-05-13 |
| 公開(公告)號(hào): | CN103221949A | 公開(公告)日: | 2013-07-24 |
| 發(fā)明(設(shè)計(jì))人: | A·帕里克;M·拉克施米納拉亞楠;A·都貝;S·科爾賓 | 申請(qǐng)(專利權(quán))人: | 甲骨文國際公司 |
| 主分類號(hào): | G06F17/30 | 分類號(hào): | G06F17/30 |
| 代理公司: | 中國國際貿(mào)易促進(jìn)委員會(huì)專利商標(biāo)事務(wù)所 11038 | 代理人: | 鄒姍姍 |
| 地址: | 美國加*** | 國省代碼: | 美國;US |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | mysql 數(shù)據(jù)庫 基于 日志 復(fù)制 | ||
版權(quán)聲明
本專利文獻(xiàn)的公開內(nèi)容的一部分包含受到版權(quán)保護(hù)的資料。版權(quán)所有者并不反對(duì)任何人如同在專利和商標(biāo)局的專利文件或記錄中出現(xiàn)的那樣對(duì)該專利文獻(xiàn)或?qū)@_內(nèi)容進(jìn)行復(fù)制再現(xiàn),但是在其它方面版權(quán)所有者無論如何都保留全部版權(quán)權(quán)利。
技術(shù)領(lǐng)域
本發(fā)明一般涉及在不同類型的系統(tǒng)之間傳輸數(shù)據(jù),并且具體地涉及使用基于日志的復(fù)制來在MYSQL數(shù)據(jù)庫或系統(tǒng)與另一類型的數(shù)據(jù)庫或系統(tǒng)之間傳輸數(shù)據(jù)的系統(tǒng)和方法。
背景技術(shù)
在世界各地,越來越多的組織使用諸如MySQL開源數(shù)據(jù)庫之類的數(shù)據(jù)庫產(chǎn)品。估計(jì)每天有五萬次下載,MySQL數(shù)據(jù)庫是想要可靠的、實(shí)惠的并易于使用的高性能數(shù)據(jù)庫的數(shù)據(jù)庫開發(fā)者、管理員(DBA)和IT經(jīng)理的普遍選擇。對(duì)于一些組織而言,這樣的數(shù)據(jù)庫可以成為主要的生產(chǎn)環(huán)境,并用于運(yùn)行對(duì)于商業(yè)操作而言是核心的應(yīng)用。隨著它們的商業(yè)增長,對(duì)于復(fù)雜數(shù)據(jù)管理的需求也隨之增長。為了可擴(kuò)充性的原因,這些組織中的許多組織想要從例如他們的MySQL數(shù)據(jù)庫向其它商業(yè)數(shù)據(jù)庫(例如,Oracle/DB2/SqlServer)遷移數(shù)據(jù)。
除了數(shù)據(jù)遷移以外,將MySQL用作其原始數(shù)據(jù)庫的一些組織可能也想將其數(shù)據(jù)與其它操作系統(tǒng)和數(shù)據(jù)庫整合。一個(gè)例子可以是與實(shí)時(shí)數(shù)據(jù)倉庫系統(tǒng)或在不同數(shù)據(jù)庫系統(tǒng)上運(yùn)行的其它金融應(yīng)用整合。這樣的組織通常需要以下方案:在低時(shí)延的情況下提供異構(gòu)復(fù)制以進(jìn)行零停機(jī)時(shí)間的遷移。
由于大量的用于報(bào)告的只讀查詢可能使得生產(chǎn)服務(wù)器的性能變慢,所以有時(shí)也存在以下情況:一個(gè)組織不愿意因?yàn)轭l繁的報(bào)告查詢而增加生產(chǎn)服務(wù)器的負(fù)擔(dān)。一些組織可能更愿意將與報(bào)告有關(guān)的查詢處理卸載到另一(可能較少執(zhí)行的)非生產(chǎn)數(shù)據(jù)庫。例如,一些組織可能想要將第一類型的數(shù)據(jù)庫服務(wù)器(例如在Linux或Windows?OS中運(yùn)行的MySQL)用作其報(bào)告服務(wù)器;并且將第二類型的數(shù)據(jù)庫服務(wù)器(例如Oracle)用作高性能生產(chǎn)服務(wù)器。
為了使得MySQL數(shù)據(jù)庫中存放的數(shù)據(jù)能夠與其它非MySQL系統(tǒng)進(jìn)行整合,可以(經(jīng)由網(wǎng)關(guān)或額外的產(chǎn)品)使用定制程序或軟件組件,例如ETL/EAI/EII。這些技術(shù)的問題在于它們?cè)谔幚矸桥繑?shù)據(jù)方面是低效的(ETL),需要應(yīng)用程序修改來發(fā)布來自應(yīng)用程序的數(shù)據(jù)(EAI),或者需要應(yīng)用程序訪問MySQL系統(tǒng)和非MySQL系統(tǒng)并根據(jù)需要整合數(shù)據(jù)。在大容量時(shí),持續(xù)地運(yùn)行ETL以整合改變的數(shù)據(jù)在計(jì)算上是繁重的,EAI整合需要修改/訪問應(yīng)用程序從而影響應(yīng)用程序的響應(yīng)時(shí)間,并且EII由于其涉及在不同(遠(yuǎn)程)網(wǎng)絡(luò)上訪問多個(gè)系統(tǒng)而較慢。
相應(yīng)地,迄今為止,除了處理這樣的整合/同步的定期(夜間)ETL、EAI或EII方式以外,并不存在基于日志的改變數(shù)據(jù)捕獲(CDC)程序來執(zhí)行例如MySQL事務(wù)數(shù)據(jù)從MySQL數(shù)據(jù)庫向非MySQL數(shù)據(jù)庫的邏輯復(fù)制。這些就是本發(fā)明的實(shí)施例旨在解決的一般問題。
發(fā)明內(nèi)容
本文描述了一種用于在不同類型的系統(tǒng)之間傳輸數(shù)據(jù)的系統(tǒng)和方法,并且具體地使用基于日志的復(fù)制來在例如MySQL數(shù)據(jù)庫或系統(tǒng)與另一類型的數(shù)據(jù)庫或系統(tǒng)之間傳輸數(shù)據(jù)。根據(jù)一個(gè)實(shí)施例,所述系統(tǒng)可以用于執(zhí)行MySQL數(shù)據(jù)從源數(shù)據(jù)庫系統(tǒng)向目標(biāo)數(shù)據(jù)庫系統(tǒng)的一次或初始拷貝,和/或用于在連續(xù)的基礎(chǔ)上將從MySQL數(shù)據(jù)庫的二進(jìn)制日志捕獲的進(jìn)行中的事務(wù)復(fù)制到一個(gè)或額外的非MySQL數(shù)據(jù)庫中,使得這兩個(gè)系統(tǒng)針對(duì)關(guān)注的事務(wù)被同步。根據(jù)一個(gè)實(shí)施例,可以從MySQL二進(jìn)制日志提取全部的或部分的數(shù)據(jù)改變,可選地對(duì)該全部的或部分的數(shù)據(jù)改變進(jìn)行變換、跳過或擴(kuò)充、輸出或?qū)懭氲揭晃募ǜ鶕?jù)一個(gè)實(shí)施例,該文件可以被實(shí)現(xiàn)成軌跡文件或Oracle?GoldenGate軌跡文件),并且隨后將其應(yīng)用在一個(gè)或多個(gè)目標(biāo)系統(tǒng)(例如,另一MySQL數(shù)據(jù)庫或非MySQL數(shù)據(jù)庫)中的任何一個(gè)處,從而同步源系統(tǒng)和目標(biāo)系統(tǒng)。
附圖說明
圖1示出了根據(jù)實(shí)施例的用于異構(gòu)的基于日志的復(fù)制的系統(tǒng)的總體架構(gòu)。
圖2示出了根據(jù)實(shí)施例使用日志索引文件來確定當(dāng)前二進(jìn)制日志文件。
圖3是根據(jù)實(shí)施例的用于異構(gòu)的基于日志的復(fù)制的進(jìn)程的流程圖。
圖4示出了根據(jù)實(shí)施例的日志旋轉(zhuǎn)的使用。
圖5示出了根據(jù)實(shí)施例的在MySQL二進(jìn)制日志中的事件順序。
圖6示出了根據(jù)實(shí)施例的事件頭結(jié)構(gòu)的例子。
圖7示出了根據(jù)實(shí)施例的字段元數(shù)據(jù)的例子。
圖8示出了根據(jù)實(shí)施例的表映射事件結(jié)構(gòu)的例子。
圖9示出了根據(jù)實(shí)施例的寫行事件結(jié)構(gòu)的例子。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于甲骨文國際公司,未經(jīng)甲骨文國際公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請(qǐng)聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201180036429.0/2.html,轉(zhuǎn)載請(qǐng)聲明來源鉆瓜專利網(wǎng)。
- 同類專利
- 專利分類
G06F 電數(shù)字?jǐn)?shù)據(jù)處理
G06F17-00 特別適用于特定功能的數(shù)字計(jì)算設(shè)備或數(shù)據(jù)處理設(shè)備或數(shù)據(jù)處理方法
G06F17-10 .復(fù)雜數(shù)學(xué)運(yùn)算的
G06F17-20 .處理自然語言數(shù)據(jù)的
G06F17-30 .信息檢索;及其數(shù)據(jù)庫結(jié)構(gòu)
G06F17-40 .數(shù)據(jù)的獲取和記錄
G06F17-50 .計(jì)算機(jī)輔助設(shè)計(jì)
- 一種分布式數(shù)據(jù)庫擴(kuò)容的方法和系統(tǒng)
- 一種MySQL的批量化安裝部署方法
- 一種MySQL高可用性的實(shí)現(xiàn)方法及系統(tǒng)
- MySQL數(shù)據(jù)庫的集群系統(tǒng)
- 一種容器MySQL主從同步及性能采集實(shí)現(xiàn)方法及系統(tǒng)
- 一種Kubernetes容器平臺(tái)的MySQL數(shù)據(jù)同步方法及系統(tǒng)
- 一種基于哨兵機(jī)制的MySQL故障切換方法及裝置
- 基于OpenStack的MySQL數(shù)據(jù)庫自動(dòng)創(chuàng)建方法、裝置及計(jì)算機(jī)存儲(chǔ)介質(zhì)
- 一種單應(yīng)用多MySQL Set的部署方法及系統(tǒng)
- 客戶端數(shù)據(jù)的獲取方法及裝置、存儲(chǔ)介質(zhì)、電子設(shè)備
- 數(shù)據(jù)庫
- 數(shù)據(jù)庫管理系統(tǒng)及數(shù)據(jù)庫
- 數(shù)據(jù)庫構(gòu)筑裝置、數(shù)據(jù)庫檢索裝置、數(shù)據(jù)庫裝置、數(shù)據(jù)庫構(gòu)筑方法、以及數(shù)據(jù)庫檢索方法
- 數(shù)據(jù)庫和數(shù)據(jù)庫處理方法
- 數(shù)據(jù)庫系統(tǒng)、數(shù)據(jù)庫更新方法、數(shù)據(jù)庫以及數(shù)據(jù)庫更新程序
- 容器數(shù)據(jù)庫
- 數(shù)據(jù)庫同步方法及數(shù)據(jù)庫
- 一種MongoDB數(shù)據(jù)庫對(duì)象復(fù)制延遲監(jiān)控方法和裝置
- 數(shù)據(jù)分布式存儲(chǔ)方法、裝置、電子設(shè)備及存儲(chǔ)介質(zhì)
- 數(shù)據(jù)庫語句執(zhí)行方法及裝置





