此內容已過時。這個版本的 Well-Architected 框架現在可以在以下位置找到: https://docs.aws.amazon.com/zh_tw/wellarchitected/2022-03-31/framework/performance-efficiency.html

PERF 4: 您如何選擇資料庫解決方案?

系統的最佳資料庫解決方案可能會依可用性、一致性、分割容錯度、延遲、耐用性、可擴展性及查詢能力的需求而有所不同。許多系統針對不同子系統使用不同資料庫解決方案,並啟用不同功能以提升效能。為系統選錯資料庫解決方案和功能,可能使效能達成效率降低。

資源

AWS purpose-built databases (DAT209-L)
Amazon Aurora storage demystified: How it all works (DAT309-R)
Amazon DynamoDB deep dive: Advanced design patterns (DAT403-R1)
Cloud Databases with AWS
AWS Database Caching
Amazon DynamoDB Accelerator
Amazon Aurora best practices
Amazon Redshift performance
Amazon Athena top 10 performance tips
Amazon Redshift Spectrum best practices
Amazon DynamoDB best practices

最佳實務:

改進方案

了解資料特性

  • 研究和文件資料特性: 在選擇資料庫解決方案之前,應了解工作負載的功能要求以及它如何與資料互動。在評估資料庫解決方案時,判斷它是否最適合滿足您的要求 (例如,交易或高可用性),以便您可以選擇用於工作負載的最佳資料庫組合。 評估更符合工作負載需求的替代資料庫。例如,如果您正在建置 IoT 應用程式,最好選擇時間序列資料庫 (例如 Amazon Timestream),以每天輕鬆存放和分析數兆個事件,而成本僅為關聯式資料庫的十分之一。
  • 評估可用選項

  • 為工作負載選取適當的資料庫類型: AWS 可讓您從多個專門打造的資料庫引擎中選擇,包括關聯式、鍵值、文件、記憶體內、圖形、時間序列和總帳資料庫。AWS 的專用資料庫產品組合支援各種資料模型,而且可讓您建立使用案例導向、可高度擴展的分散式應用程式。透過挑選最佳資料庫來解決特定問題或一組問題,您可以擺脫限制性的「一體適用」單體資料庫,並專注在建置應用程式以滿足您業務的需求。
  • 定義資料庫效能需求: 確定對您的工作負載重要的資料庫效能指標,並使用基準化分析或負載測試將要求作為資料驅動方法的一部分實作。使用這些資料來確定您的資料庫解決方案受限的地方,並檢查可以解決該問題的組態選項。
  • 啟用資料庫快取選項: 評估資料庫快取選項,例如適用於關聯式資料庫快取處理的 Amazon ElastiCache for Redis,或適用於 DynamoDB 的全受管、高可用性記憶體內快取的 Amazon DynamoDB Accelerator (DAX)。這些選項可提供改進的效能,在某些情況下,即使每秒數百萬個請求,也能從毫秒改進為微秒。
  • 收集並記錄資料庫效能指標

  • 收集資料庫相關指標: 設計工作負載,以記錄與資料庫活動相關的指標。對於了解資料庫系統如何影響工作負載的整體效能,以及可以在何處進行變更以提高效能和效率,這些資料至關重要。例如,追蹤資料點 (例如包括查詢次數、交易數、磁碟利用率、索引利用率或慢速查詢) 可以讓您優化資料庫系統。
  • 監控指標: Amazon CloudWatch 可以收集架構中各種資源的指標。您還可以收集和發佈自訂指標以顯示業務或衍生指標。使用 CloudWatch 或第三方解決方案來設定可指出何時超過閾值的警示。
  • 根據存取模式選擇資料儲存

  • 使用存取模式來判斷資料儲存: 評估工作負載的存取模式,以找出適當的資料儲存模式。例如,如果您的工作負載需要臨機操作查詢存取,您可以選擇關聯式資料庫,例如 Amazon RDS。如果您的工作負載是由高成長率或高流量事件所驅動,則應該選取鍵值資料庫,例如 Amazon DynamoDB。
  • 根據存取模式和指標優化資料儲存

  • 根據指標和模式優化資料儲存: 使用報告的指標來識別工作負載中任何效能不佳的區域,並優化您的資料庫元件。每個資料庫系統都有不同的效能特性要評估,例如建立索引的方式、快取的方式或在多個系統之間分發的方式。測量優化的影響。