發布時間: 2021-12-30 10:25:08
Oracle云平臺OCI推出的MySQL Database Service(簡稱MDS)已經有一段時間,除支持單機應用外,也支持高可用架構,如下圖所示:
本文就使用Oracle GoldenGate(簡稱OGG)從本地MySQL遷移到OCI MDS做一簡單測試,以評估其可用性和效率??紤]到需要模擬一定的業務和相應的數據量,故在此測試中,將使用benchmarksql 5生成10G左右的數據量,并通過GoldenGate初始化加載到MDS。
測試步驟概述
關于GoldenGate的初始化
利用GoldenGate,可以實現幾種形式的數據初始化,包括與數據庫工具集成、與ETL導數工具集成、或由GoldenGate生成文本后,再由DB加載工具完成初始化。
針對小數據量的系統,也可用GoldenGate單獨完成初始化。
準備本地環境
由于benchmarksql主要在Linux環境執行,所以需要在本地Linux環境上部署一個MySQL數據庫。Benchmarksql的使用和加載數據到MySQL,可參考網上相關文章,本文不再贅述。
準備OCI環境
云端的OCI MySQL Database Service,可以直接在OCI界面上申請,OGG VM,可直接在OCI Marketplace中申請,該VM負責接收本地上傳的數據,并將數據寫入到MDS中。在創建OGG VM時,需要確保此VM的VCN和subnet與MDS的相同,否則該VM將無法訪問創建的MDS。
網絡準備
需要開通本地到云端OGG VM之間7809-7815的端口,確保本地能連接到VM的這些端口。
最后,還需要設置OGG VM可以訪問 MDS的3306端口,以確保OGG能遠程訪問MDS。
創建測試表
參考Benchmarksql目錄下的run/sql.common/tableCreates.sql創建測試表。
由于在Benchmarksql 5.0中未包含對MySQL的支持,需要修改相應語法才能執行。
創建完成后的數據表如下:
?
加載初始化數據
Benchmarksql的屬性配置中,執行一個warehouses加載,大約生成100M的數據,所以我們需要設置warehouses=100,從而得到約10G的數據,加載過程:
在Benchmarksql加載數據之前,可提前將GoldenGate的進程配置好,這樣可以一邊加載一邊初始化到云端,類似于GoldenGate的增量抽取。由于我們是模擬生產系統的遷移,所以需要等待數據加載完成之后再啟動GoldenGate的遷移。
加載完成之后,MySQL目錄所占空間大小如下:
可以看到,數據量約8.5G。
GoldenGate進程配置
在源和目標端數據庫上創建OGG用戶并賦權(略過)。
配置OGG抽取和交付進程。
本地初始化抽取進程exinit.prm
云端交付進程 rcord.prm
目標端為了提升加載速度,采用coordinated replicate實現多進程同時寫入,經測試,在性能上比單進程有60%的提升。
啟動GoldenGate進程
先啟動兩端OGG的MGR進程,再啟動初始化抽取,可以看到在云端的目錄下會有相應的隊列文件生成,此時,啟動云端的交付進程即可。
抽取完成之后,目標端的隊列文件約占14G空間,比表里的實際數據所占空間要大,主要是因為每條記錄都有相應的控制信息,字段數越少,控制信息所在比例越大。
本地抽取進程日志,本地抽取可以實現上萬條的速率,如果是物理機,抽取速度應該會更快。
云端交付進程日志
初始化完成
采用上述方法初始化,當初始化進程抽取完成之后,進程會自動停止。
從日志中,我們可以看到抽取進程從抽取到傳輸完成,大約花了30分鐘。
從云端的交付進程日志,我們可以看到,交付進程耗時約1小時30分鐘。
小結
以上測試中,本地VM的內存為8G,與云端連接時,使用電信普通寬帶;云端OGG VM分別驗證了16G和32G內存,遷移時間相差不大。
測試過程中的一些指標如下:
綜合本文測試可以看到,針對普通數據庫的遷移上云,可直接通過OGG完成數據的抽取、傳輸和寫入,如果同時還需要增量數據實時同步,在現有初始化參數上做些簡單修改即可復用;在上述測試中,OGG在傳輸時進行了數據壓縮,即使在Internet網絡環境下,OGG的傳輸效率也可圈可點。
在本地數據量小于100G的情況下,可采用OGG直接遷移上云,如果本地數據量較大,且網絡不穩定,建議將抽取和傳輸拆分為兩個進程,以確保網絡中斷不影響抽取;最后,OGG也支持異構數據庫的遷移,比如從SQL Server遷移到Oracle,或從MySQL遷移到PostgreSQL。
在企業上云的過程中,利用好GoldenGate這把瑞士軍刀,將會使企業的遷移效率事半功倍。
上一篇: 疫情期間HCIA/HCIP/HCIE 證書續認證及HCIE實驗延期政策
下一篇: 邏輯交換機的運作方式