国产精品电影_久久视频免费_欧美日韩国产激情_成年人视频免费在线播放_日本久久亚洲电影_久久都是精品_66av99_九色精品美女在线_蜜臀a∨国产成人精品_冲田杏梨av在线_欧美精品在线一区二区三区_麻豆mv在线看

開發者必看!你想知道的遷移之道都在這里了

開發 前端
數據庫遷移的目的是為了業務遷移,而業務能否順利切換取決于數據庫的遷移能力和遷移后的準確性,站在業務側的角度,至少要滿足以下三個正確性才能夠去做業務的切換。

 [[408908]]

1.背景介紹

隨著GaussDB(for openGauss)數據庫的不斷發展,越來越多的客戶開始選擇使用GaussDB(for openGauss),其中很大一部分客戶是將現有的系統替換到GaussDB(for openGauss)上,客戶當前所用的數據庫類型多種多樣,如Oracle、MySQL、PostgreSQL等。那么如何解決將客戶當前數據庫遷移到GaussDB(for openGauss)上是一個很迫切的需求。GaussDB(for openGauss)自帶的GDS數據遷移工具實現了GaussDB(for openGauss)之間的高效數據遷移,但是無法解決異構同步和實時同步的場景。華為云數據庫遷移工具DRS以一種易用、穩定、高效的云服務為GaussDB(for openGauss)提供了異構遷移和實時同步的能力,助力客戶輕松將數據庫遷移到GaussDB(for openGauss)。

2.數據庫遷移整體解決方案

數據庫遷移的目的是為了業務遷移,而業務能否順利切換取決于數據庫的遷移能力和遷移后的準確性,站在業務側的角度,至少要滿足以下三個正確性才能夠去做業務的切換。

  • 對象遷移是正確的

數據庫的存儲過程、函數、觸發器、表結構、索引等全部數據庫對象能夠完整的遷移到目標庫,并且能夠保證對象的運行邏輯和源庫是一致的。

  • 數據遷移是正確的

將源庫的全量數據遷移到目標庫,當業務對停機時間窗口有要求的時候,要考慮全量+增量的在線遷移,保證業務不中斷。同時要能夠對同步的數據進行校驗,保證遷移數據的準確性。

  • 遷移后業務運行是正確的

當對象和數據都遷移到目標庫后,業務的切換還存在兩個風險點,一個是業務在目標庫的運行結果是否正確,另一個是目標庫性能能否和源庫一樣支撐住業務的負載。因為異構數據庫之間的差異還是很大的,設計理念和實現方式存在很多不同,會導致看上去類似的兩個對象,其運行結果或效率是完全不同的。所以要有工具來驗證這種差異,保證遷移后業務運行的正確性。

為了實現以上業務切換需要滿足的條件,華為云提供了數據庫遷移的整體解決方案,通過語法遷移(UGO),DRS-數據遷移,DRS-數據校驗和DRS-流量回放4個工具產品形成了整個遷移過程的閉環。

  • 語法遷移(UGO)

實現了將oracle數據庫對象遷移到GaussDB(for openGauss)的能力,可以給出完整的遷移評估報告,哪些對象可以完全兼容的進行遷移,哪些對象需要進行轉換進行遷移,哪些對象需要業務配合改造。

  • DRS-數據遷移

實現將Oracle、MySQL、PostgreSQL等數據庫數據實時遷移到GaussDB(for openGauss)的能力。

  • DRS-數據校驗

實現了對數據遷移后的一致性校驗,具備行級比對、內容級比對和實時的增量數據比對的能力。

  • DRS-流量回放

實現對Oracle數據庫的業務流量抓取,并對流量SQL進行轉換,然后在GaussDB(for openGauss)進行回放的能力。

3.DRS數據遷移上云

DRS提供了簡單、易用的操作界面,采用流程化的配置方式,客戶按照提示步驟一步一步操作便可以搭建出同步鏈路。DRS除了支持Oracle到GaussDB(for openGauss)的數據遷移外,還支持其他數據庫之間的數據同步,下面給出了當前DRS所支持的源庫和目標庫類型的列表。

在數據遷移過程中,DRS采用很多手段和技術去降低可能存在的風險,保證遷移過程的穩定和最終數據的一致性。

  • 在線遷移

DRS通過全量遷移將客戶數據庫中的存量數據遷移到GaussDB(for openGauss)中,通過增量同步,實時解析源庫日志,將客戶的實時變化數據同步到Gauss(for openGauss),通過全量和增量的無縫銜接來保證客戶在不中斷業務的情況下,完整地將全部數據遷移到GaussDB(for openGauss)。

  • 預校驗

在DRS的遷移任務啟動之前,為提早發現遷移啟動后可能存在的風險或錯誤,DRS引入預校驗環節,能夠提前對配置信息、數據庫兼容性信息、連通性信息等進行校驗,同時會對一些可以遷移成功但可能會對業務產生影響的情況進行告警,讓客戶及時發現并提前處理。

  • 斷點機制

為保證數據遷移的一致性,DRS在每個組件中都設有斷點機制,無論是在正常啟停、異常重啟還是在故障切換的場景下都可以保證數據同步的準確性,不會造成數據丟失。

4.DRS技術實現原理

DRS在技術實現上主要分為兩個大的模塊,一個是全量的數據同步,另一個是增量數據同步。全量同步解決對靜態數據的遷移,增量同步解決對實時的變化數據遷移。

全量同步的技術架構

全量同步的整體邏輯比較簡單,就是從源庫把數據通過select的方式查詢出來,然后再將這些數據寫入到目標庫,只是在具體的代碼實現上會有一些關鍵技術點。

  • 數據分片

一般全量同步產品的同步粒度都可以達到表級別的并發,即多個線程可以同時對多張表同時進行同步,但往往客戶的系統中會存在單表數據量特別大的情況,比如一張表幾十億甚至上百億的數據,此時這張表的同步時間就變為整個全量同步的時間。那么如何進一步提升單張表的同步效率呢?我們可以對單表做進一步的拆分,按照主鍵去把它拆分成多個分片,多線程以分片為單位做并行的同步。

當前DRS按照下面的策略對表進行分片:

    • 無主鍵表不進行分片
    • 分區表按分區進行同步,不再對每個分區進行分片
    • 有主鍵表按主鍵(第一列)進行分片
  • 數據不落盤

為減少全量同步過程中對磁盤的占用,DRS導出的數據不進行落盤緩存,而是直接通過內存傳遞給導入線程,在導出和導入速率相當的情況下,可以最大化的提高全量同步的效率。

  • 斷點控制

全量同步半途中斷是一個非常讓人棘手的問題,可能一張2億條數據的表,在同步到1.8億的時候因為網絡或源庫快照過舊的問題導致同步失敗,如果沒有好的斷點控制機制,那可能之前的付出都白白浪費,還要重新再次同步一次。DRS通過以分片為單位做為斷點的保存記錄,對于上面的例子,即使同步中斷,也可以再次被拉起,而且拉起后,已經同步成功的分片將不再同步,還沒有同步的分片則會繼續同步。

  • 流量控制

客戶的業務往往是存在高峰期和低峰期,高峰期時,數據庫的資源占用是最高的,我們要盡量避開在業務高峰期做全量的同步,因為全量同步對源庫的cpu、內存和網絡資源占用是很大的。DRS采用流量控制的機制來減少業務高峰期對源庫的資源占用,主要是通過控制網絡流量的方式,客戶可以設置要進行流量控制的時間段,DRS在全量同步過程中,會實時計算同步的流量大小,運行到該時段后,當流量超過設置的閾值,會放緩數據獲取的速度。運行過該時段后,便恢復全部的數據同步速度。

  • 全量+增量的無縫銜接

在業務切庫的場景中,數據的遷移過程一般可以選擇兩種方案,一種是一次性將源庫的數據遷移到目標庫,但是需要業務停機窗口,這個窗口的大小取決于全量數據遷移的時間。當數據量較大時,整個遷移過程可能需要幾天的時間,這種業務停機是無法接受的。所以另一種方案就是業務不中斷的數據遷移方案,它的實現原理就是基于全量遷移和增量同步的無縫銜接,對于Oracle->GaussDB(for openGauss)的遷移,Oracle數據庫提供了指定scn進行快照導出的功能,基于這個特性,DRS在做全量同步時,指定scn進行導出,這樣整個全量同步的數據就是此scn點前的快照數據,然后增量同步以這個scn點作為同步的分界點,只有大于這個scn的增量事務才會被同步到目標庫。這樣就實現了全量和增量的無縫銜接,同步過程無需業務進行停機,當全量數據同步完成且增量同步追趕到當前時間點時,便可進行業務切換,業務中斷窗口可以控制在秒級。

增量同步的技術架構

DRS的增量同步架構主要分為3個部分,分別是數據抓取、落盤文件和數據回放。

  • 數據抓取

數據抓取通過對源庫日志的解析,實時獲取源庫的變化數據,在內部實現上主要包括日志拉取、日志解析、事務整合和數據落盤幾個步驟。

    • 日志拉取

DRS采用Oracle的Logminer接口獲取實時的redo日志,當redo歸檔后,DRS會讀取歸檔日志文件。為了防止源庫的歸檔日志被不確定性刪除,DRS會啟動日志拉取的線程(可以多線程并發)把日志拉取到本地,然后進行后續的解析。

    • 日志解析

Oracle Logminer接口獲取到的數據需要進一步解析才能獲取到實際的變化內容,DRS的日志解析線程對返回的數據進行過濾、拼接、元數據映射、轉換等操作形成一條完整的變更記錄對象。

    • 事務整合

日志解析是按照源庫變化數據的順序進行解析,解析后的每條記錄的事務是交叉混合在一起的,必須對每條記錄按照事務id進行整合才能形成一個完整的事務。另一方面對于Oracle RAC的場景,還需要對不同節點的事務進行排序,避免事務亂序的情況發生。

  • 落盤文件

經過了事務整合后,形成了一個按照源庫業務提交順序的序列,DRS會按照這個順序把這些數據寫入到磁盤文件。落盤的數據包含了源庫每一條變化數據的全部信息,包含表信息、列信息、事務信息、數據信息和其他額外信息(如時間戳、rowid等),根據這些信息后面的組件便可以把每一條變化數據還原成對象的SQL。

  • 數據回放

數據回放就是將數據抓取到的數據在目標庫進行執行的過程,但它和數據的抓取是解耦的。它讀取DRS的落盤文件,解析出每條變化的數據,根據文件中記錄的元數據信息重構出對應的SQL語句,在目標庫執行。

在數據回放之前,DRS提供了過濾和轉換的功能,可以對同步的數據進行過濾,可配置過濾條件,如只同步id < 10000的數據,也可以對同步數據的表名、schema名或列名進行映射等。

異常處理和回放性能是兩個重要的考量點,DRS通過配置數據沖突策略來處理回放中的異常數據,通過并發機制來提高裝載的性能。

    • 沖突策略

所謂的沖突是指在數據回放的時候出現了數據類報錯(如主鍵沖突、update和delete無法找到記錄等),這些報錯一版都是由于兩邊的數據不一致造成的。DRS對這類錯誤采用了三種處理策略,分別是覆蓋、忽略和等待。

覆蓋:當出現沖突時,用抓取到的數據覆蓋掉目標庫的數據

忽略:數據沖突后,直接跳過錯誤記錄,繼續執行

等待:數據沖突后,等待人工處理

    • 并發機制

DRS的并發機制采用記錄級別的并發,最大化的提升數據裝載的性能。

首先從DRS的落盤文件中讀取增量數據,按順序放入一個隊列中,并行分析引擎會從隊列中獲取每一條數據,并根據其主鍵信息判斷是否存在數據沖突,對于沒有沖突的數據說明可以并行去執行,則把這些數據分散到多個線程隊列中,當線程隊列中的數據量達到設定的閾值時,這批數據會作為一個事務在目標庫執行。對于有沖突的數據,則把這條數據放到沖突隊列,等待線程把上一批數據執行完成后,再次進入并行分析引擎判斷是否存在沖突。

Ps:該內容根據《GaussDB(for openGauss)數據遷移之DRS》技術直播整理完成

 

責任編輯:張燕妮 來源: 博客園精華區
相關推薦

2017-12-13 14:24:08

Google 開發者瀏覽器

2019-11-04 09:07:48

DevOps互聯網IT

2018-11-28 10:39:01

5G網絡運營商

2023-09-11 08:51:23

LinkedList雙向鏈表線程

2021-06-17 13:40:47

區塊鏈比特幣公有鏈

2020-03-18 18:20:19

區塊鏈數字貨幣比特幣

2018-03-31 08:45:52

iPhone交通卡iOS 11.3

2019-04-24 08:31:43

分布式限流kafka

2022-11-08 15:55:34

鴻蒙開發套件

2017-01-11 08:37:07

Apache SparStreamingDataFrames

2019-04-26 09:38:36

中臺平臺化轉型

2021-07-01 09:00:00

安全數字化轉型滲透

2017-08-15 15:35:21

大數據數據分析薪資秘密

2017-08-15 16:05:18

大數據數據分析薪資秘密

2019-10-29 15:28:40

Refs組件前端

2022-09-15 14:22:19

協作規范前后端

2015-10-12 15:50:40

2019-12-04 07:57:22

6G5G網絡

2018-08-23 11:58:53

區塊鏈數字貨幣比特幣

2018-05-10 08:50:31

AndroidGoogle 移動系統
點贊
收藏

51CTO技術棧公眾號

欧美第一页在线| 日本三级视频在线观看| 国产原创一区| 国产精品久久久久久妇女6080 | 亚洲免费福利一区| 国产精品久久久久久久久久久新郎 | 在线观看视频你懂的| 在线日本高清免费不卡| 欧美综合在线第二页| 欧美视频精品一区| 午夜久久久久久久久久久| 天天av综合| 久久偷看各类女兵18女厕嘘嘘| 蜜桃视频网站在线| 精品久久久香蕉免费精品视频| 黄色三级视频片| 亚洲激情一区| 日本午夜人人精品| 9999在线精品视频| 91精品国产综合久久福利| 久久白虎精品| 亚洲一区二区精品3399| 这里只有精品66| 99视频精品全国免费| 日韩中文字幕免费看| 午夜av在线免费观看| 亚洲一区视频在线| 国产无套内射久久久国产| 免费观看久久久4p| 特级西西444www大精品视频| 你懂的视频一区二区| 国产福利视频一区| 国产三级三级三级看三级| 亚洲主播在线| 91久久精品国产91性色| 欧美日韩天天操| 黄色毛片在线观看| 精品久久久久久久久久久久久久| 亚洲视频在线a| 国产欧美1区2区3区| 日韩a级黄色片| 国产成人综合在线| 日韩免费视频播放| 国产精品婷婷午夜在线观看| 午夜免费一区二区| 亚洲丝袜制服诱惑| 97福利电影| 日韩欧美在线中文字幕| 爱久久·www| 日韩精品极品毛片系列视频| 成年人黄视频在线观看| 欧美日韩黄视频| 日韩免费小视频| 欧美在线视频网站| 黄色在线成人| 欧美乱大交xxxxx潮喷l头像| 综合久久久久久久| 最近中文字幕mv2018在线高清 | 国产视频一二区| 日本人妖在线| 亚洲第一在线视频| 91精品电影| 激情六月丁香婷婷| 精品无码久久久久久国产| 亚洲私人影院| 91破解版在线看| 久久久人成影片一区二区三区观看| 激情五月色综合亚洲小说| 亚洲成在线观看| 韩国成人漫画| 亚洲成人a**址| 久久久国产视频| 亚洲宅男天堂在线观看无病毒| 欧美性感美女一区二区| 69av成人| 成年网站在线免费观看| 2020国产精品久久精品不卡| 7777精品伊人久久久大香线蕉 | 亚洲日本在线视频观看| 五月天亚洲色图| 久草在线青青草| 99在线观看视频网站| 精品少妇一区二区三区在线视频| 亚洲高清成人| 国产丝袜在线| 三级4级全黄60分钟| 国产精品综合网站| 一本到一区二区三区| 成人妖精视频yjsp地址| 久久网站免费观看| 欧美91在线|欧美| 麻豆网站视频在线观看| 一级香蕉视频在线观看| xxxx一级片| 熟女少妇在线视频播放| 亚洲亚裔videos黑人hd| 99久久久无码国产精品| 182在线播放| 亚洲啊啊啊啊啊| 亚洲天堂av在线免费观看| 成人美女视频在线看| 亚瑟国产精品| 污视频网站在线| 亚州欧美一区三区三区在线| 久久艳片www.17c.com| 一区二区三区在线视频观看58| 亚洲图片在线| 激情久久一区二区| 最新精品视频在线| 亚洲一区二区三区免费看| 另类色图亚洲色图| 欧美日韩精品一区二区在线播放| 久久99久久久久| 一区二区三区日本久久久| 菠萝菠萝蜜在线观看| 黄网免费视频| 日日噜噜噜夜夜爽爽| 黄色亚洲免费| 精品一区二区三区中文字幕视频| 五月天丁香婷| 免费看黄在线看| 91精品国产综合久久久久久丝袜 | 色狠狠一区二区三区香蕉| 国产亚洲欧美一级| 视频在线观看91| 国产欧美日韩一区二区三区四区| 国产色播av在线| 国产精品久久一区二区三区不卡| 精品免费一区二区三区| 亚洲综合清纯丝袜自拍| 国产在线不卡视频| 久久婷婷影院| 亚洲大全视频| 国产成人调教视频在线观看| 欧美一区=区三区| 美女高潮在线观看| 九色porny丨入口在线| 91九色在线porn| 超碰在线人人| 日韩欧美亚洲一区| 91xxxxx| 91麻豆福利| 在线观看成年人视频| 91高清视频免费| 96精品视频在线| 2019av中文字幕| 国产精品免费观看在线| 日本国产高清不卡| 亚洲综合小说区| 日本不卡在线播放| 国产激情片在线观看| 日韩中文字幕三区| 东北一级毛片| 成人高清免费在线播放| 天堂中文а√在线| 在线观看精品| 国产精品sss在线观看av| 天海翼亚洲一区二区三区| 日韩综合网站| 蜜桃精品在线观看| 99久久精品国产毛片| 日韩欧美999| 欧美va亚洲va在线观看蝴蝶网| 国产视频精品xxxx| 91精品国产色综合久久不卡98| 91亚洲精品久久久久久久久久久久| 99视频日韩| 91丨porny丨探花| 欧美激情图区| 丁香花高清在线观看完整版| h视频久久久| 午夜在线a亚洲v天堂网2018| 久久品道一品道久久精品| 粉嫩av一区二区三区免费野| 日韩电影在线观看网站| 99re热视频精品| 欧美日韩国产综合草草| 亚洲人成电影网站| 亚洲综合在线小说| 欧美日韩在线一| 在线电影福利片| 999久久久国产精品| 99久久夜色精品国产网站| 精品视频1区2区| 久久久免费在线观看| 午夜精品一区二区在线观看的 | 亚洲精品一二三四五区| 1区2区3区在线观看| 欧美三级午夜理伦三级小说| 日韩中文字幕91| 亚洲丝袜另类动漫二区| 日韩在线免费观看视频| 神马影院午夜我不卡| 国产免费av高清在线| 女人丝袜激情亚洲| 中文字幕在线一区| 青草热久免费精品视频| 国产一区二区在线免费播放| 国产福利电影在线播放| 美女视频黄久久|