[發(fā)明專利]一種用于數(shù)據(jù)庫(kù)的同步和分析方法及系統(tǒng)在審
| 申請(qǐng)?zhí)枺?/td> | 201911159233.5 | 申請(qǐng)日: | 2019-11-22 |
| 公開(公告)號(hào): | CN111008244A | 公開(公告)日: | 2020-04-14 |
| 發(fā)明(設(shè)計(jì))人: | 梁麗琴;鄭漢軍;許光鋒;鄭樂樂;鄭少明;黃惠海;林山 | 申請(qǐng)(專利權(quán))人: | 廈門安勝網(wǎng)絡(luò)科技有限公司 |
| 主分類號(hào): | G06F16/27 | 分類號(hào): | G06F16/27;G06F9/54 |
| 代理公司: | 廈門福貝知識(shí)產(chǎn)權(quán)代理事務(wù)所(普通合伙) 35235 | 代理人: | 陳遠(yuǎn)洋 |
| 地址: | 361008 福建省廈門市軟*** | 國(guó)省代碼: | 福建;35 |
| 權(quán)利要求書: | 查看更多 | 說(shuō)明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 用于 數(shù)據(jù)庫(kù) 同步 分析 方法 系統(tǒng) | ||
本發(fā)明給出了一種用于數(shù)據(jù)庫(kù)的同步和分析方法及系統(tǒng),包括獲取MongoDB中的操作日志,解析獲取MongoDB的數(shù)據(jù)操作,其中操作日志中包括數(shù)據(jù)的新增、刪除和更新操作;響應(yīng)于捕獲MongoDB的數(shù)據(jù)操作,將被操作的數(shù)據(jù)寫入Kafka消息隊(duì)列中;利用Bireme消費(fèi)Kafka消息隊(duì)列中的更改記錄消息,將MongoDB的數(shù)據(jù)解析為目標(biāo)數(shù)據(jù)源Greenplum中的插入和刪除語(yǔ)句,進(jìn)而將數(shù)據(jù)同步更新至目標(biāo)數(shù)據(jù)源Greenplum中;響應(yīng)于Greenplum存儲(chǔ)通過Bireme同步的數(shù)據(jù),利用sql進(jìn)行數(shù)據(jù)的統(tǒng)計(jì)分析。這種方式可以實(shí)現(xiàn)對(duì)源數(shù)據(jù)庫(kù)影響最小的完成數(shù)據(jù)的實(shí)時(shí)同步,能夠在不影響現(xiàn)有架構(gòu)的情況下完成定時(shí)對(duì)海量數(shù)據(jù)進(jìn)行統(tǒng)計(jì)分析。
技術(shù)領(lǐng)域
本發(fā)明涉及數(shù)據(jù)庫(kù)應(yīng)用技術(shù)領(lǐng)域,尤其是一種用于數(shù)據(jù)庫(kù)的同步和分析方法及系統(tǒng)。
背景技術(shù)
在計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)研究領(lǐng)域中,大規(guī)模并行處理(Massively ParallelProcessing,MPP)是指計(jì)算機(jī)系統(tǒng)中使用大量的、同構(gòu)的、簡(jiǎn)單的處理單元(PE,ProcessingEIement),通過PE之間的并行工作獲得較高的系統(tǒng)性能。采用MPP體系結(jié)構(gòu)中,一般使用大量的PE節(jié)點(diǎn),PE之間采用高性能的交換網(wǎng)絡(luò)進(jìn)行連接,每個(gè)PE擁有本地存儲(chǔ)器,各個(gè)PE之間通過消息傳遞進(jìn)行通信。MPP系統(tǒng)中PE的并行程度較高,減少了共享存儲(chǔ)所帶來(lái)的系統(tǒng)開銷,適合大規(guī)模的系統(tǒng)擴(kuò)展。另一方面。MPP系統(tǒng)的程序設(shè)計(jì)較為復(fù)雜,主要表現(xiàn)在計(jì)算任務(wù)的劃分及其與PE節(jié)點(diǎn)之間的映射上。
大規(guī)模并行處理(Massively Parallel Processing,MPP)數(shù)據(jù)庫(kù)是一種大量處理器在其中并行地進(jìn)行一套計(jì)算的數(shù)據(jù)庫(kù)。在MPP系統(tǒng)中,多個(gè)處理器以協(xié)作的方式處理程序,其中,每一個(gè)處理器處理所述程序的不同部分和/或不同數(shù)據(jù)。MPP系統(tǒng)的計(jì)算資源是分布式的,運(yùn)行在不同的物理/虛擬節(jié)點(diǎn)上。MPP數(shù)據(jù)庫(kù)系統(tǒng)可以基于無(wú)共享(Shared-Nothing,SN)或共享磁盤(Shared Disk,SD)架構(gòu),其中,數(shù)據(jù)庫(kù)中的表被劃分成多個(gè)分區(qū)分配至不同的處理節(jié)點(diǎn)。對(duì)于數(shù)據(jù)庫(kù)查詢,根據(jù)數(shù)據(jù)分布和優(yōu)化的執(zhí)行方案劃分每次查詢的任務(wù),將其分配至所述處理節(jié)點(diǎn)。每個(gè)處理節(jié)點(diǎn)中的處理實(shí)體僅管理自己部分的數(shù)據(jù)。但是,在執(zhí)行過程中,所述處理實(shí)體可以相互進(jìn)行通信,以交換必要信息。
由于現(xiàn)有的MPP數(shù)據(jù)庫(kù)的處理方式是將數(shù)據(jù)存儲(chǔ)在MongoDB中,在對(duì)數(shù)據(jù)進(jìn)行統(tǒng)計(jì)分析的過程中遇到兩個(gè)問題。首先數(shù)據(jù)統(tǒng)計(jì)分析需要涉及到對(duì)跨庫(kù)、跨表的復(fù)雜關(guān)聯(lián)查詢,而MongoDB對(duì)其支持較差。其次在數(shù)據(jù)量大的情況下直接對(duì)庫(kù)進(jìn)行統(tǒng)計(jì)會(huì)嚴(yán)重影響到其他查詢性能。所以需要一種方式能夠在不影響現(xiàn)有架構(gòu)的情況下完成定時(shí)對(duì)海量數(shù)據(jù)進(jìn)行統(tǒng)計(jì)分析。
發(fā)明內(nèi)容
為了解決現(xiàn)有技術(shù)中MongoDB對(duì)跨庫(kù)、跨表的復(fù)雜關(guān)聯(lián)查詢支持較差等問題,本發(fā)明提出了一種用于數(shù)據(jù)庫(kù)的同步和分析方法及系統(tǒng),用以解決現(xiàn)有技術(shù)存在的上述問題。
在第一個(gè)方面,本發(fā)明提出了一種用于數(shù)據(jù)庫(kù)的同步和分析方法,該方法包括以下步驟:
S1:獲取MongoDB中的操作日志,解析獲取MongoDB的數(shù)據(jù)操作,其中操作日志中包括數(shù)據(jù)的新增、刪除和更新操作;
S2:響應(yīng)于捕獲MongoDB的數(shù)據(jù)操作,將被操作的數(shù)據(jù)寫入Kafka消息隊(duì)列中;
S3:利用Bireme消費(fèi)Kafka消息隊(duì)列中的更改記錄消息,將MongoDB的數(shù)據(jù)解析為目標(biāo)數(shù)據(jù)源Greenplum中的插入和刪除語(yǔ)句,進(jìn)而將數(shù)據(jù)同步更新至目標(biāo)數(shù)據(jù)源Greenplum中;以及
S4:響應(yīng)于Greenplum存儲(chǔ)通過Bireme同步的數(shù)據(jù),利用sql進(jìn)行數(shù)據(jù)的統(tǒng)計(jì)分析。
優(yōu)選的,MongoDB包括主節(jié)點(diǎn)和從節(jié)點(diǎn),主節(jié)點(diǎn)中記錄有操作日志。利用MongoDB復(fù)制提供了數(shù)據(jù)的冗余備份,可在多個(gè)服務(wù)器上存儲(chǔ)數(shù)據(jù)副本,提高了數(shù)據(jù)的可用性,同時(shí)保證了數(shù)據(jù)的安全性。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于廈門安勝網(wǎng)絡(luò)科技有限公司,未經(jīng)廈門安勝網(wǎng)絡(luò)科技有限公司許可,擅自商用是侵權(quán)行為。如果您想購(gòu)買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請(qǐng)聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201911159233.5/2.html,轉(zhuǎn)載請(qǐng)聲明來(lái)源鉆瓜專利網(wǎng)。
- 數(shù)據(jù)庫(kù)
- 數(shù)據(jù)庫(kù)管理系統(tǒng)及數(shù)據(jù)庫(kù)
- 數(shù)據(jù)庫(kù)構(gòu)筑裝置、數(shù)據(jù)庫(kù)檢索裝置、數(shù)據(jù)庫(kù)裝置、數(shù)據(jù)庫(kù)構(gòu)筑方法、以及數(shù)據(jù)庫(kù)檢索方法
- 數(shù)據(jù)庫(kù)和數(shù)據(jù)庫(kù)處理方法
- 數(shù)據(jù)庫(kù)系統(tǒng)、數(shù)據(jù)庫(kù)更新方法、數(shù)據(jù)庫(kù)以及數(shù)據(jù)庫(kù)更新程序
- 容器數(shù)據(jù)庫(kù)
- 數(shù)據(jù)庫(kù)同步方法及數(shù)據(jù)庫(kù)
- 一種MongoDB數(shù)據(jù)庫(kù)對(duì)象復(fù)制延遲監(jiān)控方法和裝置
- 數(shù)據(jù)分布式存儲(chǔ)方法、裝置、電子設(shè)備及存儲(chǔ)介質(zhì)
- 數(shù)據(jù)庫(kù)語(yǔ)句執(zhí)行方法及裝置





