Oracle Autonomous Database 上針對 MySQL 和 MongoDB Atlas 進行現代化並整合 AWS RDS

瞭解一個客戶如何在 Amazon Web 服務 (AWS) 上取代複雜的多資料庫架構,此架構使用單一、融合的 Autonomous Database 進行 MySQL 和 MongoDB Atlas。

資料庫移轉是使用 Oracle Cloud Infrastructure GoldenGate 進行的。Oracle Cloud Infrastructure GoldenGate 是一個完全託管的原生雲端服務,可大規模即時移動資料。使用 Oracle Database API for MongoDB,移轉作業也保留了大部分的應用程式程式碼。

部署在 AWS 上的傳統架構是複雜的資料處理工作流程,由受管理的 AWS RDS MySQL Database 和 MongoDB Atlas 組成,以確保資料一致性和準確性,同時以靈活的 JSON 格式為客戶提供資訊。

下圖說明傳承資料流程:



aws-rds-oci-adw-flow1-oracle.zip

多重分散系統彼此結合,增加資料載入、轉換和同步的複雜性。傳統架構不僅複雜,還浪費了資源,而且很容易出錯。系統的複雜性:

  • 提高資料處理錯誤的機率,進而降低資料品質並降低 100% 以上的準確度
  • 增加處理時間,縮短生產時間
  • 增加了作業負荷、浪費時間和資源來解決問題和除錯

架構

生產環境資料庫會使用在相同區域和虛擬雲端網路 (VCN) 中佈建的 OCI GoldenGate,從 AWS 中的 MySQL 和 MongoDB Atlas 適用的 Amazon RDS 移轉至部署在 Oracle Cloud Infrastructure (OCI) 美國東部 (阿什本) 區域的 Oracle Autonomous Database

兩個雲端之間的單向複製僅用於移轉。

應用系統是部署在 AWS US-East (阿什本)。移轉之後,應用程式層也會移轉至 OCI 運算執行處理。Oracle Cloud Infrastructure FastConnect 和 OCI FastConnect 合作夥伴提供專屬連線,將 AWS 中執行的資料庫連線至 OCI GoldenGate。如需依區域區分的 OCI FastConnect 合作夥伴清單連結,請參閱「瀏覽更多」一節。

高層次移轉與合併步驟如下:

  1. 使用 OCI GoldenGate 準備要複製的 MySQL 和 MongoDB 資料庫。
  2. 為執行中的擷取佈建兩個 OCI GoldenGate 部署:MySQL 資料庫的部署,以及 MongoDB 的大數據部署。
  3. 建立從 OCI GoldenGate 到 MySQL 和 MongoDB 的連線。
  4. 在目標 Oracle 部署中,建立 OCI GoldenGate 部署,以將資料複寫至 Oracle Autonomous Database
  5. 建立從 OCI GoldenGate 到 Oracle Autonomous Database 的連線。
  6. 指定個別部署的連線。
  7. 為 MySQL 與 MongoDB 部署建立初始載入擷取。
  8. 建立分配服務處理以將資料從來源 MySQL 與 MongoDB 部署傳送至目標 Oracle 部署。
  9. 在目標 Oracle 部署上建立複寫處理作業,以複寫起始載入資料。
  10. 為 MySQL 和 MongoDB 部署建立變更資料擷取擷取。
  11. 在目標 Oracle 部署上建立變更資料擷取複製處理作業以複寫資料。
  12. 將應用程式從 AWS EC2 複製到 OCI VM。
  13. 將 OCI 中的應用系統連線至 Oracle Autonomous Database
  14. 中斷 AWS 上應用程式和資料庫的連線與淘汰。

透過在單一資料庫中支援關聯式和文件儲存需求的融合資料庫功能,在 OCI 上執行的 Oracle Autonomous Database 提供核心平台來達成客戶目標。Oracle Autonomous Database 讓它們能夠以強制的資料完整性,依原樣儲存原始資料。一般使用者應用程式的資料會以所需的 JSON 格式傳回,以毫秒為單位。透過 SQL 和 JSON 和 Oracle Database API for MongoDB 可以輕鬆使用資料,無須任何進一步的處理。

下圖說明架構:



aws-rds-oci-adw-arch-oracle.zip

在此架構中,OCI GoldenGate 和 Oracle Autonomous Database 會在 OCI 中佈建,並促進從 AWS RDS 進行 MySQL 的單向複製。

透過使用 OCI GoldenGate,您還可以設計和監控資料複製和串流分析工作,而無需分配或管理任何運算環境。移轉完成後無須執行應用程式和資料庫,而且可以移除 OCI GoldenGate。

將前資料庫架構整合至在 OCI 上執行的單一 Oracle Autonomous Database ,無需在這些兩個資料庫之間使用多個單一用途資料庫和複雜、同步化擷取、轉換和載入 (ETL) 處理作業來操作複雜的架構,並減少處理時間,同時提高資料品質和準確性。

下圖說明目前資料流程:



aws-rds-oci-adw-flow2-oracle.zip

客戶已實現下列立即業務優勢:

  • 加快專案生產時間 15%,品質更佳,客戶滿意度更高
  • 透過更簡單的架構和 Oracle Autonomous Database 功能提高應用程式效能
  • 透過更少的基礎架構和更低的應用程式和資料庫管理,節省 10% 的營運成本
  • 提高開發人員的工作效率,專注於創新而非修復問題

架構具有下列元件:

  • 租用戶

    租用戶是指註冊 Oracle Cloud Infrastructure 時,Oracle 在 Oracle Cloud 內設定的安全獨立分割區。您可以在租用戶的 Oracle Cloud 中建立、組織及管理您的資源。租用戶與公司或組織同義。通常,公司會有單一租用戶,並反映其在該租用戶內的組織結構。單一租用戶通常與單一訂閱關聯,而單一訂閱通常只有一個租用戶。

  • 地區

    Oracle Cloud Infrastructure 區域是一個本地化的地理區域,包含一或多個資料中心 (稱為可用性網域)。區域與其他區域無關,因此廣大的距離可加以區隔 (跨國家或甚至洲)。

  • 可用性網域

    可用性網域是區域內的獨立資料中心。每個可用性網域中的實體資源會與其他可用性網域中的資源隔離,以提供容錯能力。可用性網域並不共用基礎設施,例如電力或冷卻系統或內部可用性網域網路。因此,一個可用性網域發生失敗並不會影響區域中的其他可用性網域。

  • 虛擬雲端網路 (VCN) 和子網路

    VCN 是您在 Oracle Cloud Infrastructure 區域中設定的可自訂軟體定義網路。就像傳統的資料中心網路,VCN 可讓您完全控制網路環境。VCN 可以有多個非重疊 CIDR 區塊,而您可以在建立 VCN 之後進行變更。您可以將 VCN 區隔成子網路,然後對區域或可用性網域進行調整。每個子網路都是由不與 VCN 中其他子網路重疊的連續位址範圍所組成。您可以在建立子網路後變更其大小。子網路可以是公用網路或專用子網路。

  • 路由表

    虛擬路由表包含規則,可將流量從子網路遞送至 VCN 外部的目的地,通常透過閘道。

  • 安全清單

    您可以為每個子網路建立安全規則,以指定必須允許進出子網路的來源、目的地和流量類型。

  • FastConnect

    Oracle Cloud Infrastructure FastConnect 提供一個簡單的方式,在您的資料中心與 Oracle Cloud Infrastructure 之間建立專屬的專用連線。FastConnect 提供與網際網路型連線比較的高頻寬選項,以及更可靠的網路體驗。

  • 動態路由閘道 (DRG)

    DRG 是一個虛擬路由器,可為 VCN 與區域外部網路之間的 VCN (例如另一個 Oracle Cloud Infrastructure 區域中的 VCN、企業內部部署網路或其他雲端提供者中的網路) 之間的專用網路流量提供路徑。

  • 服務閘道

    服務閘道可讓您從 VCN 存取其他服務,例如 Oracle Cloud Infrastructure Object Storage 。VCN 到 Oracle 服務的流量會透過 Oracle 網路光纖通道,而一律不會周遊網際網路。

  • 堡壘主機服務

    Oracle Cloud Infrastructure 堡壘主機可針對不具備公用端點且需要嚴格資源存取控制 (例如裸機和虛擬機器、Oracle MySQL Database ServiceAutonomous Transaction Processing (ATP)、Oracle Container Engine for Kubernetes (OKE) 及任何其他允許安全 Shell 協定 (SSH) 存取的資源,提供限制且限時的安全存取。有了 Oracle Cloud Infrastructure 堡壘主機服務,您不需部署和維護跳躍主機,即可啟用對專用主機的存取。此外,您還可以利用身分識別權限以及集中式、稽核及時間導向 SSH 階段作業來改善安全狀態。Oracle Cloud Infrastructure 堡壘主機不再需要公用 IP 才能存取堡壘主機,可在提供遠端存取時免除麻煩和潛在攻擊面。

  • 運算

    Oracle Cloud Infrastructure Compute 服務可讓您在雲端中佈建與管理運算主機。您可以使用資源配置來啟動運算執行處理,以滿足 CPU、記憶體、網路頻寬及儲存的資源需求。建立運算執行處理之後,您可以安全地存取、重新啟動、連附和卸離磁碟區,以及在不再需要時將它終止。

  • 物件儲存

    物件儲存可快速存取任何內容類型的大量結構化與非結構化資料,包括資料庫備份、分析資料,以及豐富內容 (例如影像和影片)。您可以安全地儲存,然後直接從網際網路或雲端平台內擷取資料。您可以無縫擴充儲存,而不會發生任何效能或服務可靠性的降低。針對快速、立即和經常存取的「熱」儲存,使用標準儲存。將封存儲存用於長時間且鮮少存取的「冷」儲存。

  • 身分識別與存取管理 (IAM)

    Oracle Cloud Infrastructure Identity and Access Management (IAM) 是 Oracle Cloud Infrastructure (OCI) 和 Oracle Cloud Applications 的存取控制層。IAM API 和使用者介面可讓您管理識別網域和識別網域內的資源。每個 OCI IAM 識別網域代表獨立身分識別與存取管理解決方案或其他使用者群體。

  • 記錄日誌
    日誌記錄是一種可高度擴展且完全受管理的服務,可讓您從雲端資源存取下列類型的日誌:
    • 稽核日誌:與稽核服務發出之事件相關的日誌。
    • 服務日誌:由個別服務 (例如 API 閘道、事件、函數、負載平衡、物件儲存以及 VCN 流量日誌) 發出的日誌。
    • 自訂日誌:包含自訂應用程式、其他雲端提供者或內部部署環境之診斷資訊的日誌。
  • 監督

    Oracle Cloud Infrastructure Monitoring 服務會使用度量主動和被動監控您的雲端資源,以監控資源和警訊,這些度量符合警訊指定的觸發程式時通知您。

  • 雲端保全

    您可以使用 Oracle Cloud Guard 來監控及維護 Oracle Cloud Infrastructure 中資源的安全性。雲端保全使用偵測器處方,您可以定義檢查資源是否有安全漏洞,以及監控操作員和使用者是否有風險活動。偵測到任何組態錯誤或不安全活動時,雲端保全會根據您可以定義的回應器處方,建議更正動作並協助採取這些動作。

  • 資料整合

    Oracle Cloud Infrastructure GoldenGate 是一個完全託管的服務,可運用 GoldenGate CDC 技術即時且大規模地擷取資料及傳遞至 Oracle Autonomous Data Warehouse ,讓消費者儘快取得相關資訊,從部署於企業內部或任何雲端的來源擷取資料。

  • MySQL 的 AWS RDS

    MySQL 的關聯式資料庫服務 (RDS) 是 Amazon Web Services (AWS) 的完全管理 MySQL 方案。

  • 自治式異動處理

    Oracle Autonomous Transaction Processing 是一種自我驅動、自我保護、自我修復的資料庫服務,已針對交易處理工作負載最佳化。您不需要設定或管理任何硬體,或是安裝任何軟體。Oracle Cloud Infrastructure 可處理建立資料庫,以及備份、打補丁、升級及調整資料庫。

建議

請使用下列建議作為起點。您的需求可能與此處所述的架構不同。

  • 選擇互連位置

    此架構需要一或多個其元件的地理位置:OCI 區域和關聯的 OCI FastConnect 邊緣節點,以及 AWS 區域和關聯的 AWS Direct Connect 邊緣節點。為了達到最佳的端對端延遲,建議您選取鄰近每個架構元素的位置。

  • 佈建

    若為專用端點中的 Oracle Database ,請將 VCN 設定為只允許來自指定 VCN 的流量。這會禁止從所有公用 IP 或 VCN 存取資料庫。選取未與欲設定專用連線之任何其他網路 (在 Oracle Cloud Infrastructure 、您的內部部署資料中心或其他雲端提供者) 重疊的 CIDR 區塊。

  • 應用程式設計

    使用主動 - 主動複製時,兩個資料庫系統上的時區必須相同,才能以時戳為基礎的衝突解決與偵測功能有效地運作。

  • 資料唯一性

    使用主動 - 主動複製時,請設定序列中唯一的範圍,以便於識別以避免衝突。必須在主動 - 主動配置中的所有系統上實作衝突解決程序。衝突應立即識別,並儘可能處理自動化。

注意事項

實作分割堆疊部署時,請考慮這些選項。

  • 網路

    使用多重雲解決方案,網路是整體系統效能的關鍵因素。客戶有責任確保雲端對雲端網路 (頻寬和延遲) 受到完全測試,以確保應用系統效能符合定義的業務需求。

  • 成本

    自動調整 Oracle CPU 可讓資料庫根據工作負載需求自動調整其運算資源 (CPU 和記憶體)。在尖峰工作負載期間,Oracle Autonomous Transaction Processing (ATP) 可以配置更多資源以確保最佳效能,而在需求較低的期間,可以縮小資源以節省成本。此彈性特別有助於有效率且符合成本效益的方式處理波動的工作負載。

  • 衝突解決策略

    在您的應用程式中定義明確的衝突解決策略。偵測到衝突的變更時,您的應用程式應加以程式化,以根據預先定義的規則加以處理。這些規則可以安排從某個來源到另一個來源的變更優先順序,或根據特定條件合併衝突的變更。

確認

  • Authors: Vivek Verma
  • Contributors: Wei Han, Robert Lies