資料庫組態、備份和容錯移轉
許多 Web 應用程式包含某種形式的持久性,通常採用關聯式資料庫或非關聯式資料庫
表 1 - 關聯式和非關聯式資料庫解決方案
關聯式資料庫解決方案 | NoSQL 解決方案 | |
---|---|---|
受管資料庫服務 |
Amazon RDS for MySQL |
Amazon DynamoDB |
自我管理 | 在 Amazon EC2 |
在 EC2 執行個體上託管非關聯式資料庫解決方案 |
Amazon RDS
Amazon Relational Database Service
Amazon RDS 異地同步備份部署可提高資料庫的可用性,並保護您的資料庫免受意外停機的影響。Amazon RDS 僅供讀取複本提供資料庫的唯讀複本,因此針對讀取量較大的資料庫工作負載,您可以水平擴展,超出單一資料庫部署的容量。與所有 AWS 服務一樣,無需前期投資,只需為您所使用的資源付費。
在 Amazon EC2 執行個體上託管關聯式資料庫管理系統 (RDBMS)
除了受管 Amazon RDS 產品之外,您還可以在 EC2 執行個體上安裝您選擇的 RDBMS (如 MySQL、Oracle、SQL Server 或 DB2) 並自行管理。在 Amazon EC2 上託管資料庫的 AWS 客戶成功地使用各種主要/備用和複寫模型,包括唯讀副本的鏡像以及針對一律就緒的被動從屬節點的記錄傳送。
直接在 Amazon EC2 上管理您自己的資料庫軟體時,您還應考慮容錯和持久性儲存的可用性。為此,我們建議在 Amazon EC2 上執行的資料庫使用 Amazon Elastic Block Store
對於執行資料庫的 EC2 執行個體,您應將所有資料庫資料和記錄放在 EBS 磁碟區上。即使資料庫主機發生故障,這些資料庫仍然可用。此組態可實現簡單的容錯移轉案例,在其中,如果主機失敗,即可以啟動新的 EC2 執行個體,且現有的 EBS 磁碟區可以連接到新執行個體。然後,資料庫可以在其中斷的位置接著繼續。
EBS 磁碟區會自動在可用區域內提供備援。如果單一 EBS 磁碟區的效能不足以滿足您的資料庫需求,則可以對磁碟區進行條帶化以提高資料庫的每秒輸入/輸出作業 (IOPS) 效能。
對於要求苛刻的工作負載,您還可以使用 EBS 佈建 IOPS,在其中您可以指定所需的 IOPS。如果您使用 Amazon RDS,服務會管理其自己的儲存,使得您可以專注於管理資料。
非關聯式資料庫
除了支援關聯式資料庫之外,AWS 還提供了許多受管非關聯式資料庫:
-
Amazon DynamoDB
是一項完全受管的 NoSQL 資料庫服務,可提供快速且可預期的效能及無縫的可擴展性。使用 AWS Management Console 或 DynamoDB API,您可以在無停機或效能下降的情況下將容量向上擴展或縮小。因為 DynamoDB 會處理操作及擴展分散式資料庫至 AWS 的管理負擔,您不再需要煩惱硬體佈建、設定和組態、複寫、軟體修補或叢集擴展。 -
Amazon DocumentDB
(與 MongoDB 相容) 是特別為大規模 JSON 資料管理建置的資料庫服務,完全受管且在 AWS 上執行,具備高耐用性非常適合企業使用。 -
Amazon Keyspaces
(適用於 Apache Cassandra ) 是一種具可擴展性、高可用性且受管的 Apache Cassandra 相容資料庫服務。透過 Amazon Keyspaces,您可以在 AWS 上使用與今天相同的 Cassandra 應用程式程式碼和開發人員工具執行 Cassandra 工作負載。 -
Amazon Neptune
是快速、可靠的全受管圖形資料庫服務,可讓您輕鬆建置及執行搭配高度連線資料集運作的應用程式。Amazon Neptune 的核心專為高效能圖形資料庫引擎而打造,並進行最佳化以存放數十億個關聯資訊並以數毫秒的延遲查詢圖片。 -
Amazon Quantum Ledger Database (Amazon QLDB)
(QLDB) 是全受管總帳資料庫,可針對集中信任單位所有的交易日誌提供透明、不可變及採用密碼演算法的可驗證交易日誌。QLDB 可用於追蹤所有應用程式資料變更,並維護一段時間內完整且可驗證的變更歷史記錄。 -
Amazon Timestream
是一種適用於 IoT 和操作應用程式的快速、可擴展、無伺服器時間序列資料庫服務,可輕鬆存放和分析每天數兆個事件,速度是關聯式資料庫的 1,000 倍,但成本只有十分之一。
此外,您還可以使用 Amazon EC2 來託管您可能正在使用的其他非關聯式資料庫技術。