本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
在 上評估將SQL伺服器資料庫遷移至 MongoDB Atlas 的查詢效能 AWS
由 Battulga Purevragchaa (AWS)、Krishnakumar Sathyanarayana (PeerIslands US Inc) 和 Babu Srinivasan (MongoDB ) 建立
環境:PoC 或試行 | 來源:Microsoft SQL Server | 目標:MongoDB Atlas 或 MongoDB Enterprise Advanced |
R 類型:Replatform | 工作負載:Microsoft | 技術:資料庫;遷移 |
Summary
此模式提供使用近乎實際的資料載入 MongoDB 的指引,並評估盡可能接近生產案例的 MongoDB 查詢效能。評估提供 輸入,協助您規劃從關聯式資料庫遷移至 MongoDB。此模式使用PeerIslands 測試資料產生器和效能分析
此模式對於 Microsoft SQL Server 遷移至 MongoDB 特別有用,因為執行結構描述轉換並從目前SQL伺服器執行個體將資料載入至 MongoDB 可能非常複雜。相反地,您可以載入接近真實世界的資料到 MongoDB 中,了解 MongoDB 效能,並在開始實際遷移之前微調結構描述設計。
先決條件和限制
先決條件
作用中AWS帳戶
目標 MongoDB 結構描述
一般查詢模式
限制
資料載入時間和效能會受到 MongoDB 叢集執行個體大小的限制。我們建議您選擇建議用於生產的執行個體,以了解實際效能。
PeerIslands Test Data Generator 和 Performance Analyzer 目前僅支援線上資料載入和查詢。尚未支援離線批次處理 (例如,使用 Spark 連接器將資料載入 MongoDB)。
PeerIslands Test Data Generator 和 Performance Analyzer 支援集合中的欄位關係。它不支援跨集合的關係。
產品版本
此模式同時支援 MongoDB Atlas
和 MongoDB Enterprise Advanced 。
架構
目標技術堆疊
MongoDB Atlas 或 MongoDB Enterprise Advanced
架構
PeerIslands 測試資料產生器和效能分析工具是使用 Java 和 Angular 建置,並將產生的資料存放在 Amazon Elastic Block Store (Amazon ) 上EBS。此工具包含兩個工作流程:測試資料產生和效能測試。
在測試資料產生中,您會建立範本,這是必須產生之資料模型的JSON表示法。建立範本後,您可以在目標集合中產生資料,如負載產生組態所定義。
在效能測試中,您可以建立設定檔。設定檔是多階段測試案例,您可以在其中設定建立、讀取、更新和刪除 (CRUD) 操作、彙總管道、每個操作的權重,以及每個階段的持續時間。建立設定檔後,您可以根據組態在目標資料庫上執行效能測試。
PeerIslands 測試資料產生器和效能分析工具會將其資料存放在 Amazon 上EBS,因此您可以使用任何 EBS MongoDB 支援的連線機制,包括對等、允許清單和私有端點,將 Amazon 連線至 MongoDB。根據預設,該工具不包含操作元件;不過,如果需要,可以使用 Amazon Managed Service for Prometheus、Amazon Managed Grafana、Amazon CloudWatch和 AWS Secrets Manager 進行設定。
工具
PeerIslands 測試 Data Generator 和 Performance Analyzer
包含兩個元件。Test Data Generator 元件可協助您根據 MongoDB 結構描述產生高度客戶特定的真實世界資料。該工具完全以使用者介面驅動,具有豐富的資料庫,可用於在 MongoDB 上快速產生數十億筆記錄。此工具也提供在 MongoDB 結構描述中的欄位之間實作關係的功能。Performance Analyzer 元件可協助您產生高度客戶特定的查詢和彙總,並在 MongoDB 上執行實際的效能測試。您可以使用效能分析工具,針對您的特定使用案例,使用豐富的負載描述檔和參數化查詢來測試 MongoDB 效能。
最佳實務
請參閱下列資源:
MongoDB 結構描述設計最佳實務
(MongoDB 開發人員網站) 在 (MongoDB 網站) 部署 MongoDB Atlas 的最佳實務 AWS
MongoDB 使用 ( 部落格文章) 將應用程式安全地連接至 MongoDB Atlas Data Plane AWS PrivateLink
AWS MongoDB 效能最佳實務指南
(MongoDB 網站)
史詩
任務 | 描述 | 所需的技能 |
---|---|---|
了解目前SQL伺服器來源的資料庫佔用空間。 | 了解您目前的SQL伺服器足跡。這可以透過針對資料庫 | 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 查詢和彙總管道。這些查詢等同於您為SQL伺服器工作負載擷取的熱門查詢。若要了解如何建構 MongoDB 彙總管道,請參閱 MongoDB 文件 | MongoDB 工程師 |
定義 MongoDB 執行個體類型。 | 決定您計劃用於測試的執行個體大小。如需指引,請參閱 MongoDB 文件 | MongoDB 工程師 |
任務 | 描述 | 所需的技能 |
---|---|---|
設定 MongoDB Atlas 叢集。 | 若要在 上設定 MongoDB 叢集AWS,請遵循 MongoDB 文件 | MongoDB 工程師 |
在目標資料庫中建立使用者。 | 遵循 MongoDB 文件 中的指示,設定 MongoDB | MongoDB 工程師 |
在 中建立適當的角色,AWS並為 Atlas 設定角色型存取控制。 | 如有需要,請依照 MongoDB 文件 | MongoDB 工程師 |
為 MongoDB Atlas 存取設定 Compass。 | 設定 MongoDB Compass GUI公用程式 | MongoDB 工程師 |
任務 | 描述 | 所需的技能 |
---|---|---|
安裝測試資料產生器。 | 在環境中安裝PeerIsland 測試資料產生器 | MongoDB 工程師 |
設定測試資料產生器以產生適當的資料。 | 使用資料庫為 MongoDB 結構描述中的每個欄位產生特定資料,藉此建立範本。如需詳細資訊,請參閱 MongoDB Data Generator & Perf。Analyzer | MongoDB 工程師 |
水平擴展測試資料產生器以產生所需的負載。 | 使用您建立的範本,透過設定所需的平行處理開始針對目標集合產生負載。決定時間範圍並擴展以產生必要的資料。 | MongoDB 工程師 |
驗證 MongoDB Atlas 中的負載。 | 檢查載入 MongoDB Atlas 的資料。 | MongoDB 工程師 |
在 MongoDB 上產生所需的索引。 | 根據查詢模式,視需要定義索引。如需最佳實務,請參閱 MongoDB 文件 | MongoDB 工程師 |
任務 | 描述 | 所需的技能 |
---|---|---|
在 Performance Analyzer 中設定負載描述檔。 | 透過設定特定查詢及其對應的權重、測試執行持續時間和階段,在效能分析器中建立效能測試描述檔。如需詳細資訊,請參閱 MongoDB Data Generator & Perf。Analyzer | MongoDB 工程師 |
執行效能測試。 | 使用您建立的效能測試描述檔,透過設定所需的平行處理開始針對目標集合進行測試。水平擴展效能測試工具,以針對 MongoDB Atlas 執行查詢。 | MongoDB 工程師 |
記錄測試結果。 | 記錄查詢的 P95, P99 延遲。 | MongoDB 工程師 |
調整您的結構描述和查詢模式。 | 修改索引和查詢模式,以解決任何效能問題。 | MongoDB 工程師 |
任務 | 描述 | 所需的技能 |
---|---|---|
關閉臨時AWS資源。 | 刪除您用於測試資料產生器和效能分析器的所有臨時資源。 | AWS 管理員 |
更新效能測試結果。 | 了解 MongoDB 查詢效能,並將其與您的 進行比較SLAs。如有必要,請微調 MongoDB 結構描述並重新執行程序。 | MongoDB 工程師 |
結束專案。 | 關閉專案並提供意見回饋。 | MongoDB 工程師 |
相關資源
GitHub 儲存庫:S3toAtlas
結構描述:MongoDB 結構描述設計
彙總管道:MongoDB 彙總管道
MongoDB Atlas 大小調整:大小調整層選擇
影片:MongoDB Data Generator
& Perf。分析器 參考:MongoDB 文件
AWS Marketplace: MongoDB Atlas on AWS Marketplace
AWS 合作夥伴解決方案: MongoDB Atlas on AWS Reference Deployment
其他資源: