

# 資料庫組態、備份和容錯移轉
<a name="database-configuration-backup-and-failover"></a>

許多 Web 應用程式包含某種形式的持久性，通常採用關聯式資料庫或非關聯式[資料庫](https://aws.amazon.com/products/databases/)的形式。AWS 同時提供關聯式和非關聯式資料庫服務。或者，您也可以在 EC2 執行個體上部署自己的資料庫軟體。下表摘要說明這些選項，本節中將對這些選項進行更詳細的討論。

*表 1 - 關聯式和非關聯式資料庫解決方案*


|   |  關聯式資料庫解決方案  |  NoSQL 解決方案  | 
| --- | --- | --- | 
|  受管資料庫服務  |  [Amazon RDS for MySQL](https://aws.amazon.com/rds/mysql/)、[Oracle](https://www.oracle.com/index.html)、[SQL Server](https://www.microsoft.com/en-us/sql-server/sql-server-downloads)、[MariaDB](https://mariadb.org/)、[PostgreSQL](https://www.postgresql.org/)、[Amazon Aurora](https://aws.amazon.com/rds/aurora/)  |  [Amazon DynamoDB](https://aws.amazon.com/dynamodb/)、[Amazon Keyspaces](https://aws.amazon.com/keyspaces/)、[Amazon Neptune](https://aws.amazon.com/neptune/)、[Amazon QLDB](https://aws.amazon.com/qldb/)、[Amazon Timestream](https://aws.amazon.com/timestream/) | 
|  自我管理  |  在 [Amazon EC2](https://aws.amazon.com/ec2/) 執行個體上託管關聯式資料庫管理系統 (DBMS) |  在 EC2 執行個體上託管非關聯式資料庫解決方案 | 

## Amazon RDS
<a name="amazon-rds"></a>

 [Amazon Relational Database Service](https://aws.amazon.com/rds/) (Amazon RDS) 讓您可以存取熟悉的 MySQL、PostgreSQL、Oracle 和 Microsoft SQL Server 資料庫引擎的功能。您已在使用的程式碼、應用程式和工具，可與 Amazon RDS 搭配使用。Amazon RDS 可自動修補資料庫軟體和備份資料庫，並以使用者定義的保留時間存放備份。它還支援時間點復原。透過進行一次 API 呼叫，即可靈活地擴展與關聯式資料庫執行個體關聯的運算資源或儲存容量，讓您從中受益。

Amazon RDS 異地同步備份部署可提高資料庫的可用性，並保護您的資料庫免受意外停機的影響。Amazon RDS 僅供讀取複本提供資料庫的唯讀複本，因此針對讀取量較大的資料庫工作負載，您可以水平擴展，超出單一資料庫部署的容量。與所有 AWS 服務一樣，無需前期投資，只需為您所使用的資源付費。

## 在 Amazon EC2 執行個體上託管關聯式資料庫管理系統 (RDBMS)
<a name="hosting-a-relational-database-management-system-rdbms-on-an-amazon-ec2-instance"></a>

除了受管 Amazon RDS 產品之外，您還可以在 EC2 執行個體上安裝您選擇的 RDBMS (如 MySQL、Oracle、SQL Server 或 DB2) 並自行管理。在 Amazon EC2 上託管資料庫的 AWS 客戶成功地使用各種主要/備用和複寫模型，包括唯讀副本的鏡像以及針對一律就緒的被動從屬節點的記錄傳送。

直接在 Amazon EC2 上管理您自己的資料庫軟體時，您還應考慮容錯和持久性儲存的可用性。為此，我們建議在 Amazon EC2 上執行的資料庫使用 [Amazon Elastic Block Store](https://aws.amazon.com/ebs/) (Amazon EBS) 磁碟區，其類似於網路連接儲存。

對於執行資料庫的 EC2 執行個體，您應將所有資料庫資料和記錄放在 EBS 磁碟區上。即使資料庫主機發生故障，這些資料庫仍然可用。此組態可實現簡單的容錯移轉案例，在其中，如果主機失敗，即可以啟動新的 EC2 執行個體，且現有的 EBS 磁碟區可以連接到新執行個體。然後，資料庫可以在其中斷的位置接著繼續。

EBS 磁碟區會自動在可用區域內提供備援。如果單一 EBS 磁碟區的效能不足以滿足您的資料庫需求，則可以對磁碟區進行條帶化以提高資料庫的每秒輸入/輸出作業 (IOPS) 效能。

對於要求苛刻的工作負載，您還可以使用 EBS 佈建 IOPS，在其中您可以指定所需的 IOPS。如果您使用 Amazon RDS，服務會管理其自己的儲存，使得您可以專注於管理資料。

## 非關聯式資料庫
<a name="nosql-solutions"></a>

除了支援關聯式資料庫之外，AWS 還提供了許多受管非關聯式資料庫：
+ **[Amazon DynamoDB](https://aws.amazon.com/dynamodb/)** 是一項完全受管的 NoSQL 資料庫服務，可提供快速且可預期的效能及無縫的可擴展性。使用 [AWS 管理主控台](https://aws.amazon.com/console/) 或 [DynamoDB API](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/HowItWorks.API.html)，您可以在無停機或效能下降的情況下將容量向上擴展或縮小。因為 DynamoDB 會處理操作及擴展分散式資料庫至 AWS 的管理負擔，您不再需要煩惱硬體佈建、設定和組態、複寫、軟體修補或叢集擴展。
+ **[Amazon DocumentDB](https://aws.amazon.com/documentdb/)** (與 [MongoDB](https://aws.amazon.com/documentdb/what-is-mongodb/) 相容) 是特別為大規模 JSON 資料管理建置的資料庫服務，完全受管且在 AWS 上執行，具備高耐用性非常適合企業使用。
+ **[Amazon Keyspaces](https://aws.amazon.com/keyspaces/)** (適用於 [Apache Cassandra](https://cassandra.apache.org/_/index.html)) 是一種具可擴展性、高可用性且受管的 Apache Cassandra 相容資料庫服務。透過 Amazon Keyspaces，您可以在 AWS 上使用與今天相同的 Cassandra 應用程式程式碼和開發人員工具執行 Cassandra 工作負載。
+ **[Amazon Neptune](https://aws.amazon.com/neptune)** 是快速、可靠的全受管圖形資料庫服務，可讓您輕鬆建置及執行搭配高度連線資料集運作的應用程式。Amazon Neptune 的核心專為高效能圖形資料庫引擎而打造，並進行最佳化以存放數十億個關聯資訊並以數毫秒的延遲查詢圖片。
+ **[Amazon Quantum Ledger Database (Amazon QLDB)](https://aws.amazon.com/qldb/)** (QLDB) 是全受管總帳資料庫，可針對集中信任單位所有的交易日誌提供透明、不可變及採用密碼演算法的可驗證交易日誌。QLDB 可用於追蹤所有應用程式資料變更，並維護一段時間內完整且可驗證的變更歷史記錄。
+ **[Amazon Timestream](https://aws.amazon.com/timestream)** 是一種適用於 IoT 和操作應用程式的快速、可擴展、無伺服器時間序列資料庫服務，可輕鬆存放和分析每天數兆個事件，速度是關聯式資料庫的 1,000 倍，但成本只有十分之一。

此外，您還可以使用 Amazon EC2 來託管您可能正在使用的其他非關聯式資料庫技術。