Azure 與 AWS 上的資料庫服務

本文比較了亞馬遜網路服務(AWS)與 Azure 上的營運資料庫服務。 它涵蓋關聯式資料庫及非關聯式資料儲存,涵蓋文件、鍵值、寬欄、圖形及記憶體工作負載。

關於資料整合、資料湖、資料倉儲、串流處理及商業智慧,請參見 Azure 與 AWS 上的分析服務。

Amazon RDS 和 Azure 關係資料庫服務

Amazon 關聯式資料庫服務(Amazon RDS)提供受管理式關聯式資料庫引擎。 Azure 為數個對應引擎提供管理服務:

你也可以在 Azure Virtual Machine 上執行 Azure 虛擬機器上的 SQL Server。 針對 Oracle 工作負載,請根據引擎、支援及遷移需求評估 Oracle AI Database@Azure 及 Oracle 軟體在Azure基礎設施上的應用。

不要只根據引擎相容性來選擇服務。 比較可用性與災難復原需求、擴展模型、維護控制、網路隔離、認證、擴充支援、遷移停機時間及價格。

非關聯式資料庫服務

AWS 和 Azure 為不同資料模型提供非關聯式服務。 相容的 API 並不保證功能或操作上的一致性。 遷移前,先比較分割、一致性、交易、索引、查詢行為、變更串流、全域分布、吞吐量單元及客戶端-驅動程式相容性。

Azure Cosmos DB 支援多個 API 與資料模型。 每個 API 都建立一個獨立帳號,並且對該帳號中的所有資料存取都使用同一個 API。 Azure 也提供適用於與 MongoDB 相容、以 vCore 為基礎之文件工作負載的 Azure DocumentDB,以及適用於受控開放原始碼 Cassandra 叢集的 Azure 受控執行個體 for Apache Cassandra。

對於記憶體內快取與暫存資料,Azure Managed Redis 提供基於 Redis Enterprise 的託管服務。 不要把它當作工作負載的權威持久資料庫。

服務比較

資料模型或能力 AWS 服務 Azure 服務 選擇指引
管理式關聯式資料庫 亞馬遜 RDS Azure SQL Database、適用於 MySQL 的 Azure 資料庫, or 適用於 PostgreSQL 的 Azure 資料庫 先依資料庫引擎選擇。 接著比較高可用性、讀取副本、擴展、維護、擴充功能與遷移支援。
無伺服器關聯式資料庫 Amazon Aurora 無伺服器 Azure SQL Database serverless 或 SQL Database in Microsoft Fabric 這些服務採用不同的擴展與計費模式。 SQL 資料庫的無伺服器可自動調整計算資源規模,並在閒置期間暫停。 Fabric 中的 SQL 資料庫會消耗共享的 Fabric 容量,並將營運資料與 Fabric 分析整合。
鍵值與文件資料庫 亞馬遜 DynamoDB Azure Cosmos DB 用於 NoSQL 這兩個服務都依分割區鍵分發資料並提供變更串流。 它們的一致性、索引、查詢、交易、容量與定價模型各不相同。 規劃應用與資料模型的變更,而非假設 API 相容性。
MongoDB 相容文件資料庫 亞馬遜文件資料庫 Azure DocumentDB 或 Azure Cosmos DB for MongoDB Azure DocumentDB 採用 vCore 模型與 MongoDB 線路協定。 Azure Cosmos DB for MongoDB 提供分散式、基於請求單元的服務。 驗證支援的 MongoDB 版本、指令、擴充功能、擴展及遷移工具。
寬欄式資料庫 Amazon Keyspaces for Apache Cassandra Azure Cosmos DB for Apache Cassandra 或 Azure 受控執行個體 for Apache Cassandra 當你想要一個受管理且支援 Cassandra 協議的 Azure Cosmos DB 服務時,請使用 Cosmos DB for Apache Cassandra。 當你需要託管的開源 Cassandra 叢集和更高的引擎層級相容性時,請使用 受控執行個體。
圖形資料庫 亞馬遜海王星 適用於 Apache Gremlin 的 Azure Cosmos DB Neptune 支援屬性圖與 RDF 工作負載。 Cosmos DB for Gremlin 支援屬性圖模型與 Gremlin 查詢語言。 RDF 與 SPARQL 工作負載則需要另一種設計。
表格資料 亞馬遜 DynamoDB Azure 資料表儲存體 or Azure Cosmos DB for Table 使用表格儲存作為基本的鍵屬性儲存。 當你需要全球分散吞吐量、多種一致性選項和 Azure Cosmos DB 功能時,請使用 Cosmos DB for Table。
記憶體內快取與暫存資料儲存 Amazon ElastiCache Azure 託管 Redis 使用 Azure Managed Redis 來進行快取、會話、訊息傳遞及其他低延遲的臨時資料模式。 將權威資料保存在持久資料庫中。
具持久性的 Redis 相容資料庫 亞馬遜記憶資料庫 沒有直接對應 Amazon MemoryDB 被設計為一個耐用的主資料庫。 Azure Managed Redis 是快取和暫時性資料存放區。 在 Azure 上,評估 Azure Cosmos DB 或其他持久性資料庫作為記錄系統,並以 Azure Managed Redis 作為可選快取。
資料庫移轉 AWS 資料移轉服務 Azure 資料庫移轉服務 支援依來源、目標及線上或離線遷移模式而異。 在選擇工具前,請確認目前支援的 Azure 遷移情境。

移轉考慮

資料庫遷移不僅需要移動資料。 庫存引擎功能、儲存程序、擴充、索引、一致性假設、分割鍵、交易邊界、變更-資料擷取依賴關係,以及營運流程。 在切換前測試應用程式行為與效能,針對目標服務進行測試。

如果你計劃將 AWS 工作負載遷移到 Azure,請參閱「將資料庫從 Amazon Web Services 遷移到 Azure」及其範例遷移情境。

貢獻者們

本文由 Microsoft 維護。 它最初是由下列參與者所撰寫。

主要作者:

其他參與者:

若要查看非公開的LinkedIn個人資料,請登入LinkedIn。