簡介

Amazon Web Services (AWS) 提供越來越多的專用資料庫選項 (目前超過 15 個),以支援各種資料模型。這些專用資料庫包括包括關聯式資料庫、鍵值資料庫、文件資料庫、記憶體內資料庫、圖形資料庫、時間序列資料庫、寬欄資料庫和帳本資料庫。

若要選擇合適的資料庫或多個資料庫,需要您根據組織需求做出一系列決策。本決策指南將協助您提出正確的問題,為實作提供明確途徑,並協助您從現有資料庫遷移。

這段時長為六分半的影片由 AWS 資深開發人員支援主管 Ricardo Ferreira 為您帶來,他闡述了選擇 AWS 資料庫的基礎知識,並深入介紹了本決策指南其餘部分所述的概念、準則和選擇。

閱讀時間

20 分鐘

作用

協助確定哪些 AWS 資料庫服務最適合貴組織。

等級

初階

上次更新日期

2023 年 9 月 11 日

關於以下內容的更多決策指南

了解

資料庫是用於儲存任何類型應用程式之資料的重要後端系統,無論是小型行動應用程式,或是具有網際網路規模和即時需求的企業應用程式。

本決策指南旨在協助您了解可供選擇的範圍,建立適合您選擇資料庫的標準,為您提供有關每個資料庫獨特屬性的詳細資訊,然後讓您深入了解每個資料庫所提供的功能。

人們使用資料庫來建置哪類應用程式?

  • 網際網路規模的應用程式︰建置全球分散式和網際網路規模的應用程式,每秒處理數百 TB 資料的數百萬個請求。這類資料庫能擴展或縮減規模,以順應您突增的工作負載。
  • 即時應用程式︰快取、工作階段儲存、遊戲排行榜、叫車、廣告定位和即時分析等即時應用程式需要微秒級的延遲和高輸送量,才能支援每秒數百萬個請求。
  • 開放原始碼應用程式:部分客戶更喜歡開放原始碼資料庫,因為其具有低成本、社群支援的開發與支援,以及龐大的工具和擴充功能生態系統。
  • 企業應用程式︰企業應用程式用於管理核心業務流程,例如銷售、計費、客戶服務、人力資源和業務線流程,以及旅館連鎖店的預訂系統或保險公司的風險管理系統。這些應用程式需要快速、可擴展、安全、可用且可靠的資料庫。

注意:本指南著重於適用於線上交易處理 (OLTP) 應用程式的資料庫。如果您主要需要快速有效地存放和分析大量資料 (通常由線上分析處理 (OLAP) 應用程式滿足),AWS 可提供 Amazon Redshift,這是全受管雲端資料倉儲服務,專為處理大規模分析工作負載而設計。 

AWS OLTP 資料庫有兩個高階類別:關聯式和非關聯式。

  • AWS 關聯式資料庫系列包括七個適用於 Amazon RDS 和 Amazon Aurora 的熱門引擎 (與 MySQL 相容的 Amazon Aurora、與 PostgreSQL 相容的 Amazon Aurora、MySQL、MariaDB、PostgreSQL、Oracle 和 SQL Server),以及在 AWS Outposts 上使用 Amazon RDS 內部部署的選項。
  • 非關聯式資料庫選項是專為滿足對鍵值、文件、快取、記憶體內、圖形、時間序列、寬欄和帳本資料庫有特定需求的使用者而設計。

我們將在本指南的選擇部分中詳細探討所有這些內容。

資料庫遷移

在決定要使用哪個資料庫服務來處理資料前,您可能需要花點時間考慮如何遷移現有資料庫。

最佳資料庫遷移策略有助於您充分利用 AWS 雲端。這涉及將應用程式遷移至使用專門建置、以雲端為中心的資料庫。它也不會將您綁定在您於內部部署中使用的相同資料庫。考慮將應用程式現代化,並選擇最適合您應用程式工作流程需求的資料庫。

例如,如果您選擇先轉移再轉換應用程式,您可能會決定先 隨即轉移資料庫。完全使用 AWS 雲端時,您就可以開始著手將應用程式現代化。此策略可協助您迅速退出目前的內部部署環境,然後專注於現代化。
 
上圖顯示如何使用 AWS Database Migration Service 將資料移至 Amazon Aurora。

下列資源有助於您制定遷移策略:

除了在規劃前期擁有遷移策略外,您還希望能從資料中獲得洞察。您可以使用 Amazon Redshift。Amazon Redshift 是快速、全受管 PB 級資料倉儲服務,可讓您使用現有的商業智慧工具有效率地分析所有資料。它已針對範圍從幾百 GB 到 PB 以上的資料集最佳化。

考慮

您正考慮在 AWS 上託管資料庫。這可能是為了支援綠地/先導專案,作為雲端遷移之旅的第一步,或者您可能希望在最少干擾下遷移現有工作負載。或者您希望將工作負載轉移到受管 AWS 服務,甚至將其重構為完全雲端原生。

無論您的目標為何,考慮適當的問題會讓您更輕鬆地做出資料庫決策。以下是需要考慮的主要標準摘要。

  • 選擇資料庫的首要考慮因素是您的商業目標。推動貴組織改變的策略方向是什麼? 誠如 AWS 的 7 R 策略所建議,請考慮是否要對現有工作負載進行重新架構或重構,移至新平台以擺脫商業授權承諾,將現有的資料庫和資料主機轉換至雲端,而不需要做出任何變更即可充分利用雲端功能,或是立即轉向受管資料庫策略。

  • 您可以選擇主機轉換策略,以更快地部署至雲端,並減少資料遷移的麻煩。在一個或多個 EC2 執行個體上安裝資料庫引擎軟體、遷移您的資料,並與內部部署一樣管理此資料庫執行個體。或者,您可以選擇平台轉換策略,將內部部署關聯式資料庫遷移至全受管 Amazon RDS 執行個體。

    最後,您可以考慮將工作負載重構為雲端原生,充分利用 Amazon DynamoDB 和 Amazon DocumentDB (with MongoDB compatibility) 等專用 NoSQL 資料庫。如果您想要轉為無伺服器佔用空間,以減輕基礎設施管理和容量規劃的負擔,AWS 針對其眾多資料庫提供了無伺服器服務,例如 Amazon Aurora Serverless 和 Amazon Neptune Serverless、圖形資料庫。

  • 您是否需要為特定目的建立資料庫? 正如您可能已閱讀過的那樣,一體適用所有用途的巨型資料庫的時代已成明日黃花。現在,選擇專為特定任務或使用案例最佳化的專用資料庫變得更加普遍。

    AWS 提供廣泛且深入的專用資料庫組合,支援多樣化的資料模型。使用這些資料庫,您可以建置資料驅動、可高度擴展的分散式應用程式。選擇正確的專用資料庫 (針對您需要執行的操作最佳化) 將加快開發和部署速度。

  • 任何資料庫選擇的核心,都包括了您需要儲存、擷取、分析和操作所需的資料特性。這包括您的資料模型 (是關聯式、結構化還是半結構化,使用高度連線的資料集或時間序列?)、資料存取 (您需要存取資料的方式?)、您需要即時資料的程度,以及是否有特定的資料記錄大小需求。

  • 您的主要營運考量與資料的存放位置及管理方式有關。您需要做出的兩個關鍵選擇是:

    • 自我託管還是全受管:此處的核心問題是,您的團隊將在哪方面為企業帶來最大價值? 如果資料庫是自我託管的,您將負責實現資料庫真正差異化的價值 (透過您在結構描述設計、查詢建構和查詢最佳化方面的工作),並負責資料庫的日常維護、監控和修補。選擇全受管 AWS 資料庫可簡化您的工作,讓您的團隊專注於可能帶來獨特價值的地方。

    • 無論您需要無伺服器還是已佈建的資料庫:Amazon Aurora 都提供如何考慮此選擇的模型。 Amazon Aurora Serverless v2 適用於要求嚴荷且高度可變的工作負載。例如,您的資料庫用量可能會在短時間內很高,然後是長時間的輕度活動或完全沒有活動。一些範例包括零售、遊戲或會定期舉辦推廣活動的體育類網站,以及只在需要時產生報告的資料庫。Aurora 佈建的叢集適用於穩定的工作負載。使用佈建的叢集,您可以選擇具有預先定義記憶體、CPU 運算能力和 I/O 頻寬的 Aurora 執行個體類別。
  • 資料庫的可靠性對任何企業都至關重要。實現並維持資料庫的可靠性和復原能力代表要注意許多關鍵因素。這些因素包括備份和還原、複製、容錯移轉及時間點復原 (PITR) 功能。
     
    此外,支援遍佈全球的應用程式/資料集,以及復原時間點目標 (RTO) / 復原點目標 (RPO) 的需求,對您而言可能很重要。

  • 請考慮您的工作負載輸送量是否可能超過單一運算節點的容量。然後考慮您對資料庫的潛在需求,以支援高度並行的交易 (10,000 個或更多),以及是否需要在多個地理區域部署。
     
    如果您的工作負載需要極高的讀取效能,而且回應時間以微秒,而非個位數毫秒為單位來衡量,您可能需要考慮與資料庫一併施行記憶體快取解決方案,或者使用支援記憶體內資料存取的資料庫。
  • 安全是 AWS 和您的共同責任。AWS 共同責任模式將此描述為雲端安全性和雲端內的安全性。特定的安全性考量包括在您資料的所有層級的資料保護、驗證、合規性、資料安全性、敏感資料儲存,以及稽核需求的支援。

選擇

既然您已了解評估資料庫選項的標準,那麼您已準備好選擇適合貴組織需求的 AWS 資料庫。

以下表格反白顯示了哪些資料庫會針對哪些情況和資料類型最佳化。使用它來協助確定最適合您使用案例的資料庫。

資料庫系列
您何時會使用此服務表?
此資料庫針對什麼最佳化?
相關資料庫引擎或服務
遷移內部部署關聯式工作負載,或工作負載具有臨機操作查詢模式時使用。
已針對儲存在資料表、資料列和資料欄中的結構化資料最佳化。上述結構化資料支援透過聯結進行複雜的臨機操作查詢。
用於處理工作負載,例如工作階段儲存體或購物車。鍵值資料庫能進行擴展,從而處理大量資料和極大量的狀態變更,同時透過分散式處理和儲存,為數百萬同時上線的使用者提供服務。
經過最佳化,可快速存取具有高讀寫輸送量的大量結構化、半結構化或非結構化資料。
需要快取層以提高讀取效能時使用。
已針對需要毫秒級資料存取的應用程式最佳化。
想在文件的各個欄位中存放具有豐富查詢功能的 JSON 文件時使用。
經過優化可將半結構化資料做為 JSON 文件來存放。
需要遷移內部部署 Cassandra 工作負載時,或需要高速處理需要個位數毫秒延遲之應用程式的資料時使用。
已針對需要大量讀取/寫入、高輸送量、低延遲和線性可擴展性的工作負載最佳化。
用於詐騙偵測、推薦引擎和航空公司網路等使用案例。
經過優化且專門用於存放和導覽關係。
擁有大量時間序列資料 (可能來自多種來源,如物聯網 (IoT) 資料、應用程式指標和資產追蹤) 時使用。
已針對儲存和查詢隨時間變更的資料最佳化。
貴組織必須與其他實體 (企業、客戶) 通訊,且您需要一種互相驗證和信任的方法時使用。
已針對維護完整且可驗證的資料庫變更歷史記錄最佳化。

使用

現在您已了解了資料形狀,資料如何適應您的環境、支持您的使用案例,以及每個資料庫服務針對什麼進行了最佳化。現在,您應該已經能選擇針對貴組織的需求進行了最佳化的 AWS 資料庫服務。

若要探索如何使用並了解有關每項可用 AWS 資料庫服務的更多資訊,我們提供了探索每個服務運作方式的途徑。下一節提供助您開始使用的深入說明文件、實作教學課程和資源的連結。

  • Amazon Aurora
  • Amazon Aurora

    開始使用 Amazon Aurora

    我們將概述開始使用 Aurora 的基本知識。本指南包含教學,並涵蓋更進階的 Aurora 概念和程序,例如不同類型的端點,以及如何擴展和縮小 Aurora 叢集。

    探索指南 »

    Amazon Aurora

    建立高可用性資料庫

    學習如何設定 Amazon Aurora 叢集以建立高可用性資料庫。此資料庫由跨多個可用區域複寫的運算節點組成,以提供提升的讀取可擴展性和容錯移轉保護。

    立即開始本教學 »

    Amazon Aurora

    使用 Amazon Aurora 全球資料庫

    我們協助您開始使用 Aurora 全球資料庫。本指南概述 Aurora 全球資料庫支援的引擎,以及 Aurora MySQL 和 Aurora PostgreSQL 的 AWS 區域可用性。

    探索指南 »

    Amazon Aurora

    從 Amazon RDS for MySQL 遷移至 Amazon Aurora MySQL
     
    我們向您展示如何將任何應用程式的資料庫從 Amazon RDS for MySQL 遷移至 Amazon Aurora MySQL,並將停機時間降至最低。本教學不在免費方案內,將花費您不到 1 USD。

    立即開始本教學 »

    AWS Database Migration Service

    建立無伺服器訊息處理應用程式


    我們向您展示如何使用 Amazon Aurora Serverless (PostgreSQL 相容版本)、適用於 Aurora Serverless 的 Data API、AWS Lambda 和 Amazon SNS 建立無伺服器訊息處理應用程式。

    立即開始本教學 »

  • Amazon DocumentDB
  • Amazon DynamoDB

    開始使用 Amazon DocumentDB

    只需七個步驟,我們就能協助您開始使用 Amazon DocumentDB。本指南使用 AWS Cloud9 從 AWS 管理主控台直接連線並使用 MongoDB Shell 查詢叢集。

    探索指南 »

    Amazon DynamoDB

    使用 Amazon DocumentDB 設定文件資料庫
     

    本教學可協助您開始使用 MongoDB Shell 從 AWS Cloud9 環境連線至 Amazon DocumentDB 叢集,並執行一些查詢。

    立即開始本教學 »

    Amazon DynamoDB

    使用 Amazon DocumentDB 的最佳實務
     

    了解使用 Amazon DocumentDB (with MongoDB compatibility) 的最佳實務,以及使用它時的基本操作準則。

    探索指南 »

    Amazon DynamoDB

    從 MongoDB 遷移至 Amazon DocumentDB
     

    了解如何將現有自我管理的 MongoDB 資料庫遷移至 Amazon DocumentDB (with MongoDB compatibility) 上的全受管資料庫。

    立即開始本教學 »

    Amazon DynamoDB

    評估 MongoDB 相容性
     

    使用 Amazon DocumentDB 相容性工具,透過應用程式的原始程式碼或 MongoDB 伺服器設定檔日誌,助您評估 MongoDB 應用程序的相容性。

    使用工具 »

  • Amazon DynamoDB
  • AWS Database Migration Service

    開始使用 Amazon DynamoDB


    我們協助您開始使用,並進一步了解 Amazon DynamoDB。本指南包含實作教學和基本概念。

    探索指南 »

    AWS Database Migration Service

    開始使用 DynamoDB 和 AWS SDK


    我們協助您開始使用 Amazon DynamoDB 和 AWS SDK。本指南包含實作教學,示範如何在 DynamoDB 中執行程式碼範例。
    探索指南 »

    AWS Database Migration Service

    利用 Amazon DynamoDB 建立和查詢 NoSQL 表

    了解如何使用 Amazon DynamoDB 主控台來建立簡易資料表、新增資料、掃描和查詢資料、刪除資料以及刪除資料表。

    立即開始本教學 »

    AWS Database Migration Service

    建立 Amazon DynamoDB 資料表

    我們將示範如何建立 DynamoDB 資料表並使用該資料表來儲存和擷取資料。本教學會使用線上書店應用程式作為指導範例。

    立即開始本教學 »

  • Amazon ElastiCache
  • AWS Database Migration Service

    Amazon ElastiCache 文件
     

    探索 Amazon ElastiCache 完整文件集,包括 ElastiCache for Redis 和 ElastiCache for Memcached 的使用者指南,以及特定 AWS CLI 和 API 參考資料。

    探索指南 »

    AWS Database Migration Service

    開始使用 Amazon ElastiCache for Redis
     

    了解如何使用 Amazon ElastiCache 主控台建立、授予存取權、連線和刪除 Redis (已停用叢集模式) 叢集。


    探索指南 »

    AWS Database Migration Service

    為線上應用程式建置工作階段存放區
     

    了解如何將 Amazon ElastiCache for Redis 用作工作階段管理的分散式快取。並且學習設定 ElastiCache 節點的最佳實務,以及如何處理應用程式的工作階段。

    立即開始本教學 »

    AWS Database Migration Service

    設定 Redis 叢集以實現可擴展性和高可用性

    了解如何在啟用 TLS 加密功能下使用 ElastiCache for Redis 7.0 版本建立並設定 Redis 叢集。在啟用叢集模式的情況下,Redis 叢集將提升可擴展性及高可用性。

    立即開始本教學 »

  • Amazon Keyspaces
  • AWS Database Migration Service

    開始使用 Amazon Keyspaces (適用於 Apache Cassandra)

    本指南適用於剛接觸 Apache Cassandra 和 Amazon Keyspaces (適用於 Apache Cassandra) 的人。它會引導您安裝成功使用 Amazon Keyspaces 所需的全部程式和驅動程式。

    探索指南 »

    AWS Database Migration Service

    使用 Amazon Keyspaces 執行 Apache Cassandra 工作負載

    了解如何使用 Property Graph 和 W3C 的 RDF 來建立叢集和建置圖形模型。了解如何使用 Apache TinkerPop Gremlin、SPARQL 撰寫查詢,疑難排解效能,以及與 AWS Glue 和 Elasticsearch 整合。

    觀賞影片 »

    AWS Database Migration Service

    初階 Amazon Keyspaces 使用課程

    了解 Amazon Keyspaces 的優勢、典型使用案例和技術概念。您可以透過提供的範例程式碼或 AWS 管理主控台中的互動工具嘗試此服務。


    參加課程 (需要登入) »

  • Amazon MemoryDB
  • AWS Database Migration Service

    開始使用 Amazon MemoryDB


    我們會引導您使用 MemoryDB 管理主控台完成建立、授予存取權、連線及刪除 MemoryDB 叢集的步驟。

    使用指南 »

    AWS Database Migration Service

    開始使用 Amazon MemoryDB


    了解如何簡化架構,並使用 MemoryDB 作為單一主要資料庫,而不是在耐用資料庫前使用低延遲快取。

    閱讀部落格 »

    AWS Database Migration Service

    整合 Amazon MemoryDB for Redis 與以 Java 為基礎的 AWS Lambda

    我們會討論專為提供耐久性和更快讀寫速度打造之資料存放區 Amazon MemoryDB for Redis 的一些常見使用案例。

    閱讀部落格 »

  • Amazon Neptune
  • Amazon Aurora

    開始使用 Amazon Neptune


    我們協助您開始使用全受管圖形資料庫服務 Amazon Neptune。本指南說明如何建立 Neptune 資料庫。

    探索指南 »

    Amazon Aurora

    建立使用 Amazon Neptune 的詐騙偵測服務

    我們會引導您完成建立 Neptune 資料庫、設計資料模型,以及在應用程式中使用資料庫的步驟。

    探索指南 »

    Amazon Aurora

    使用 Amazon Neptune 建立推薦引擎

    我們將向您展示如何使用 Amazon Neptune 為多人遊戲應用程式建立朋友推薦引擎。

    探索指南 »

  • Amazon QLDB
  • Amazon DynamoDB

    開始使用 Amazon QLDB

    在 Amazon Quantum Ledger Database (Amazon QLDB) 中,日誌是資料庫的核心。本指南提供 Amazon QLDB 服務元件及其互動方式的高階概觀。

    探索指南 »

    Amazon DynamoDB

    建立您的第一個 Amazon QLDB 帳本

    我們會引導您完成建立第一個 Amazon QLDB 範例帳本,並在其中填入資料表和範例資料的步驟。

    立即開始本教學 »

    Amazon DynamoDB

    搭配 AWS SDK 使用 Amazon QLDB 驅動程式

    了解如何將 Amazon QLDB 驅動程式與 AWS SDK 搭配使用,以建立 QLDB 帳本並在其中填入範例資料。此驅動程式能讓應用程式使用交易資料 API 與 QLDB 互動。

    立即開始本教學 »

  • Amazon RDS
  • AWS Database Migration Service

    開始使用 Amazon RDS

    我們會說明如何使用 Amazon RDS 建立並連接到資料庫執行個體。您將學會如何建立使用 MariaDB、MySQL、Microsoft SQL Server、Oracle 或 PostgreSQL 的資料庫執行個體。

    探索指南 »

    AWS Database Migration Service

    開始建立 MySQL 資料庫執行個體

    我們會向您展示如何使用 AWS 管理主控台建立 Amazon RDS MySQL 資料庫執行個體,並使用標準 MySQL 公用程式 (如 MySQL Workbench) 連線至資料庫執行個體上的資料庫。
    探索指南 »

    AWS Database Migration Service

    建立 Web 伺服器和 Amazon RDS 資料庫執行個體

    了解如何安裝含有 PHP 的 Apache 網頁伺服器,並建立 MySQL 資料庫。網頁伺服器在使用 Amazon Linux 的 Amazon EC2 執行個體上執行,而 MySQL 資料庫是 MySQL DB 執行個體。

    探索指南 »

    AWS Database Migration Service

    建立並連接到 MySQL 資料庫

    了解如何建立執行 MySQL 資料庫的環境、連接到資料庫,以及刪除資料庫執行個體。我們將使用 Amazon RDS 進行此工作,而且本教學中的所有操作都可用免費方案資格來進行。

    開始本教學 »

  • Amazon Timestream
  • AWS Database Migration Service

    開始使用 Amazon Timestream

    我們協助您開始使用 Amazon Timestream。此指南提供設定功能完整之範例應用程式的說明。

    探索指南 »

    AWS Database Migration Service

    Amazon Timestream 的最佳實務

    我們探討包括與資料建模、安全性、設定、資料擷取、查詢、用戶端應用程式和支援之整合相關的最佳實務。

    探索指南 »

    AWS Database Migration Service

    使用 AWS SDK 存取 Amazon Timestream

    了解如何以您選擇的程式語言:Java、Go、Python、Node.js 或 .NET,使用 AWS SDK 來存取 Amazon Timestream。

    探索指南 »

探索

架構圖

探索參考架構圖,以協助您在 AWS 上開發、擴展和測試資料庫。

探索架構圖 »

 

白皮書

探索白皮書以協助您開始使用、學習最佳實務及遷移資料庫。

探索白皮書 »

 

AWS 解決方案

探索經審核的解決方案和常見資料庫使用案例的架構指南。

探索解決方案 »

 

其他資源

本頁對您是否有幫助?