選取您的 Cookie 偏好設定

我們使用提供自身網站和服務所需的基本 Cookie 和類似工具。我們使用效能 Cookie 收集匿名統計資料,以便了解客戶如何使用我們的網站並進行改進。基本 Cookie 無法停用,但可以按一下「自訂」或「拒絕」以拒絕效能 Cookie。

如果您同意,AWS 與經核准的第三方也會使用 Cookie 提供實用的網站功能、記住您的偏好設定,並顯示相關內容,包括相關廣告。若要接受或拒絕所有非必要 Cookie,請按一下「接受」或「拒絕」。若要進行更詳細的選擇,請按一下「自訂」。

評估將 SQL Server 資料庫遷移至 AWS 上 MongoDB Atlas 的查詢效能 - AWS 方案指引

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

評估將 SQL Server 資料庫遷移至 AWS 上 MongoDB Atlas 的查詢效能

由 Battulga Purevragchaa (AWS)、Krishnakumar Sathyanarayana (PeerIslands US Inc) 和 Babu Srinivasan (MongoDB) 建立

Summary

此模式提供使用接近真實世界的資料載入 MongoDB 以及評估 MongoDB 查詢效能的指引,盡可能接近生產案例。評估提供輸入,協助您規劃從關聯式資料庫遷移至 MongoDB。此模式使用 PeerIslands 測試資料產生器和效能分析器來測試查詢效能。

此模式對於 Microsoft SQL Server 遷移至 MongoDB 特別有用,因為執行結構描述轉換並將資料從目前的 SQL Server 執行個體載入至 MongoDB 可能非常複雜。相反地,您可以將接近真實世界的資料載入 MongoDB、了解 MongoDB 效能,並在開始實際遷移之前微調結構描述設計。

先決條件和限制

先決條件

  • 作用中的 AWS 帳戶

  • 熟悉 MongoDB Atlas

  • 目標 MongoDB 結構描述

  • 典型查詢模式

限制

  • 資料載入時間和效能會受到 MongoDB 叢集執行個體大小的限制。我們建議您選擇建議用於生產的執行個體,以了解實際效能。

  • PeerIslands Test Data Generator and Performance Analyzer 目前僅支援線上資料載入和查詢。尚未支援離線批次處理 (例如,使用 Spark 連接器將資料載入 MongoDB)。

  • PeerIslands Test Data Generator and Performance Analyzer 支援集合中的欄位關係。它不支援跨集合的關係。

產品版本

架構

目標技術堆疊

  • MongoDB Atlas 或 MongoDB Enterprise Advanced

架構

評估將 SQL Server 資料庫遷移至 AWS 上 MongoDB Atlas 的查詢效能的架構。

PeerIslands Test Data Generator and Performance Analyzer 是使用 Java 和 Angular 建置的,並將其產生的資料存放在 Amazon Elastic Block Store (Amazon EBS) 上。工具包含兩個工作流程:測試資料產生和效能測試。

  • 在測試資料產生中,您會建立範本,這是必須產生之資料模型的 JSON 表示法。建立範本後,您可以在目標集合中產生資料,如負載產生組態所定義。

  • 在效能測試中,您可以建立設定檔。設定檔是一種多階段測試案例,您可以在其中設定建立、讀取、更新和刪除 (CRUD) 操作、彙總管道、每個操作的權重,以及每個階段的持續時間。建立設定檔後,您可以根據組態在目標資料庫上執行效能測試。

PeerIslands Test Data Generator 和 Performance Analyzer 會將其資料存放在 Amazon EBS 上,因此您可以使用任何 MongoDB 支援的連線機制,包括對等互連、允許清單和私有端點,將 Amazon EBS 連線至 MongoDB。根據預設,工具不包含操作元件;不過,可以視需要使用 Amazon Managed Service for Prometheus、Amazon Managed Grafana、Amazon CloudWatch 和 AWS Secrets Manager 進行設定。

工具

  • PeerIslands 測試資料產生器和效能分析器包含兩個元件。測試資料產生器元件可協助您根據 MongoDB 結構描述產生高度客戶特定的真實世界資料。該工具完全由 UI 驅動,具有豐富的資料程式庫,可用於在 MongoDB 上快速產生數十億筆記錄。此工具也提供在 MongoDB 結構描述中的欄位之間實作關係的功能。Performance Analyzer 元件可協助您產生高度客戶特定的查詢和彙總,並在 MongoDB 上執行逼真的效能測試。您可以使用 Performance Analyzer,針對您的特定使用案例,使用豐富的負載描述檔和參數化查詢來測試 MongoDB 效能。

最佳實務

請參閱下列資源:

史詩

任務描述所需技能

了解目前 SQL Server 來源的資料庫使用量。

了解您目前的 SQL Server 使用量。這可以透過對資料庫的INFORMATION結構描述執行查詢來實現。決定資料表的數量和每個資料表的大小。分析與每個資料表相關聯的索引。如需 SQL 分析的詳細資訊,請參閱 PeerIslands 網站上的部落格文章 SQL2Mongo:Data Migration Journey

DBA

了解來源結構描述。

決定資料表結構描述和資料的業務表示方式 (例如,郵遞區號、名稱和貨幣)。使用您現有的實體關係 (ER) 圖表,或從現有的資料庫產生 ER 圖表。如需詳細資訊,請參閱 PeerIslands 網站上的部落格文章 SQL2Mongo:Data Migration Journey

DBA

了解查詢模式。

記錄您使用的前 10 個 SQL 查詢。您可以使用資料庫中可用的 performance_schema.events_statements_summary_by_digest 資料表來了解熱門查詢。如需詳細資訊,請參閱 PeerIslands 網站上的部落格文章 SQL2Mongo:Data Migration Journey

DBA

了解 SLA 承諾。

記錄資料庫操作的目標服務水準協議 (SLAs)。典型的措施包括查詢延遲和每秒查詢數。措施及其目標通常可在非功能需求 (NFR) 文件中取得。

DBA

了解您的來源資料

任務描述所需技能

了解目前 SQL Server 來源的資料庫使用量。

了解您目前的 SQL Server 使用量。這可以透過對資料庫的INFORMATION結構描述執行查詢來實現。決定資料表的數量和每個資料表的大小。分析與每個資料表相關聯的索引。如需 SQL 分析的詳細資訊,請參閱 PeerIslands 網站上的部落格文章 SQL2Mongo:Data Migration Journey

DBA

了解來源結構描述。

決定資料表結構描述和資料的業務表示方式 (例如,郵遞區號、名稱和貨幣)。使用您現有的實體關係 (ER) 圖表,或從現有的資料庫產生 ER 圖表。如需詳細資訊,請參閱 PeerIslands 網站上的部落格文章 SQL2Mongo:Data Migration Journey

DBA

了解查詢模式。

記錄您使用的前 10 個 SQL 查詢。您可以使用資料庫中可用的 performance_schema.events_statements_summary_by_digest 資料表來了解熱門查詢。如需詳細資訊,請參閱 PeerIslands 網站上的部落格文章 SQL2Mongo:Data Migration Journey

DBA

了解 SLA 承諾。

記錄資料庫操作的目標服務水準協議 (SLAs)。典型的措施包括查詢延遲和每秒查詢數。措施及其目標通常可在非功能需求 (NFR) 文件中取得。

DBA
任務描述所需技能

定義目標結構描述。

定義目標 MongoDB 結構描述的各種選項。如需詳細資訊,請參閱 MongoDB Atlas 文件中的結構描述。根據資料表關係考慮最佳實務和設計模式。如需詳細資訊,請參閱 MongoDB 文件中的資料模型範例和模式

MongoDB 工程師

定義目標查詢模式。

定義 MongoDB 查詢和彙總管道。這些查詢相當於您為 SQL Server 工作負載擷取的熱門查詢。若要了解如何建構 MongoDB 彙總管道,請參閱 MongoDB 文件

MongoDB 工程師

定義 MongoDB 執行個體類型。

決定您計劃用於測試的執行個體大小。如需指引,請參閱 MongoDB 文件

MongoDB 工程師

定義 MongoDB 結構描述

任務描述所需技能

定義目標結構描述。

定義目標 MongoDB 結構描述的各種選項。如需詳細資訊,請參閱 MongoDB Atlas 文件中的結構描述。根據資料表關係考慮最佳實務和設計模式。如需詳細資訊,請參閱 MongoDB 文件中的資料模型範例和模式

MongoDB 工程師

定義目標查詢模式。

定義 MongoDB 查詢和彙總管道。這些查詢相當於您為 SQL Server 工作負載擷取的熱門查詢。若要了解如何建構 MongoDB 彙總管道,請參閱 MongoDB 文件

MongoDB 工程師

定義 MongoDB 執行個體類型。

決定您計劃用於測試的執行個體大小。如需指引,請參閱 MongoDB 文件

MongoDB 工程師
任務描述所需技能

設定 MongoDB Atlas 叢集。

若要在 AWS 上設定 MongoDB 叢集,請遵循 MongoDB 文件中的指示。

MongoDB 工程師

在目標資料庫中建立使用者。

遵循 MongoDB 文件中的指示,設定 MongoDB Atlas 叢集以進行存取和網路安全。

MongoDB 工程師

在 AWS 中建立適當的角色,並設定 Atlas 的角色型存取控制。

如有需要,請依照 MongoDB 文件中的指示設定其他使用者。透過 AWS 角色設定身分驗證和授權

MongoDB 工程師

設定 MongoDB Atlas 存取的 Compass。

設定 MongoDB Compass GUI 公用程式,以便於導覽和存取。

MongoDB 工程師

準備目標資料庫

任務描述所需技能

設定 MongoDB Atlas 叢集。

若要在 AWS 上設定 MongoDB 叢集,請遵循 MongoDB 文件中的指示。

MongoDB 工程師

在目標資料庫中建立使用者。

遵循 MongoDB 文件中的指示,設定 MongoDB Atlas 叢集以進行存取和網路安全。

MongoDB 工程師

在 AWS 中建立適當的角色,並設定 Atlas 的角色型存取控制。

如有需要,請依照 MongoDB 文件中的指示設定其他使用者。透過 AWS 角色設定身分驗證和授權

MongoDB 工程師

設定 MongoDB Atlas 存取的 Compass。

設定 MongoDB Compass GUI 公用程式,以便於導覽和存取。

MongoDB 工程師
任務描述所需技能

安裝測試資料產生器。

在您的環境中安裝 PeerIsland Test Data Generator

MongoDB 工程師

設定測試資料產生器以產生適當的資料。

使用資料程式庫來建立範本,以產生 MongoDB 結構描述中每個欄位的特定資料。如需詳細資訊,請參閱 MongoDB Data Generator & Perf。Analyzer 影片。

MongoDB 工程師

水平擴展測試資料產生器以產生所需的負載。

使用您建立的範本,透過設定所需的平行處理,開始針對目標集合產生負載。決定時間範圍並擴展以產生必要的資料。

MongoDB 工程師

驗證 MongoDB Atlas 中的負載。

檢查載入 MongoDB Atlas 的資料。

MongoDB 工程師

在 MongoDB 上產生所需的索引。

根據查詢模式,視需要定義索引。如需最佳實務,請參閱 MongoDB 文件

MongoDB 工程師

使用測試資料產生器設定基本負載

任務描述所需技能

安裝測試資料產生器。

在您的環境中安裝 PeerIsland Test Data Generator

MongoDB 工程師

設定測試資料產生器以產生適當的資料。

使用資料程式庫來建立範本,以產生 MongoDB 結構描述中每個欄位的特定資料。如需詳細資訊,請參閱 MongoDB Data Generator & Perf。Analyzer 影片。

MongoDB 工程師

水平擴展測試資料產生器以產生所需的負載。

使用您建立的範本,透過設定所需的平行處理,開始針對目標集合產生負載。決定時間範圍並擴展以產生必要的資料。

MongoDB 工程師

驗證 MongoDB Atlas 中的負載。

檢查載入 MongoDB Atlas 的資料。

MongoDB 工程師

在 MongoDB 上產生所需的索引。

根據查詢模式,視需要定義索引。如需最佳實務,請參閱 MongoDB 文件

MongoDB 工程師
任務描述所需技能

在 Performance Analyzer 中設定負載描述檔。

透過設定特定查詢及其對應的權重、測試執行持續時間和階段,在 Performance Analyzer 中建立效能測試設定檔。如需詳細資訊,請參閱 MongoDB Data Generator & Perf。Analyzer 影片。

MongoDB 工程師

執行效能測試。

使用您建立的效能測試描述檔,透過設定所需的平行處理來開始針對目標集合進行測試。水平擴展效能測試工具,以針對 MongoDB Atlas 執行查詢。

MongoDB 工程師

記錄測試結果。

記錄查詢的 P95, P99 延遲。

MongoDB 工程師

調校您的結構描述和查詢模式。

修改索引和查詢模式,以解決任何效能問題。

MongoDB 工程師

執行效能測試

任務描述所需技能

在 Performance Analyzer 中設定負載描述檔。

透過設定特定查詢及其對應的權重、測試執行持續時間和階段,在 Performance Analyzer 中建立效能測試設定檔。如需詳細資訊,請參閱 MongoDB Data Generator & Perf。Analyzer 影片。

MongoDB 工程師

執行效能測試。

使用您建立的效能測試描述檔,透過設定所需的平行處理來開始針對目標集合進行測試。水平擴展效能測試工具,以針對 MongoDB Atlas 執行查詢。

MongoDB 工程師

記錄測試結果。

記錄查詢的 P95, P99 延遲。

MongoDB 工程師

調校您的結構描述和查詢模式。

修改索引和查詢模式,以解決任何效能問題。

MongoDB 工程師
任務描述所需技能

關閉臨時 AWS 資源。

刪除您用於測試資料產生器和效能分析器的所有臨時資源。

AWS 管理員

更新效能測試結果。

了解 MongoDB 查詢效能,並將其與您的 SLAs 進行比較。如有必要,請微調 MongoDB 結構描述並重新執行程序。

MongoDB 工程師

結束專案。

關閉專案並提供意見回饋。

MongoDB 工程師

關閉專案

任務描述所需技能

關閉臨時 AWS 資源。

刪除您用於測試資料產生器和效能分析器的所有臨時資源。

AWS 管理員

更新效能測試結果。

了解 MongoDB 查詢效能,並將其與您的 SLAs 進行比較。如有必要,請微調 MongoDB 結構描述並重新執行程序。

MongoDB 工程師

結束專案。

關閉專案並提供意見回饋。

MongoDB 工程師

相關資源

其他資源:

隱私權網站條款Cookie 偏好設定
© 2025, Amazon Web Services, Inc.或其附屬公司。保留所有權利。