Amazon RDS 僅供讀取複本提供資料庫 (DB) 執行個體增強的效能和耐久性。此複寫功能可以輕鬆彈性地擴展超越單一資料庫執行個體的容量限制,以處理高讀取量的資料庫工作負載。您可以建立一或多個指定來源資料庫執行個體的複本,然後從多個資料副本為大量應用程式讀取流量提供服務,以這種方式提升總體的讀取輸送量。需要將僅供讀取複本變為獨立資料庫執行個體時,也可以提升該僅供讀取複本。
Amazon RDS for MySQL、MariaDB 和 PostgreSQL 可使用僅供讀取複本。建立僅供讀取複本時,要指定現有資料庫執行個體做為來源。Amazon RDS 會拍攝來源執行個體的快照,並從快照建立唯讀的執行個體。對於 MySQL、MariaDB 和 PostgreSQL,Amazon RDS 使用這些引擎的原生非同步複寫,在每次來源資料庫執行個體發生變更時更新僅供讀取複本。使用僅供讀取複本做為資料庫執行個體僅允許唯讀連線;應用程式連線到僅供讀取複本的方式與連線其他資料庫執行個體一樣。Amazon RDS 會複寫來源資料庫執行個體中的所有資料庫。
Amazon Aurora 採用專為資料庫工作負載建置的 SSD 虛擬化儲存層。Amazon Aurora 複本與來源執行個體共用同一個基礎儲存,不僅能降低成本,也能消除將資料複製到複本節點的需求。如需 Amazon Aurora 複寫功能的詳細資訊,請參閱線上文件。
開始免費使用 AWS
建立免費帳戶AWS 免費方案包括為期一年每月 750 小時的微型資料庫執行個體使用時間,以及由 Amazon Relational Database Service (RDS) 提供的 20 GB 儲存以及 20 GB 備份空間。
您可以將讀取查詢從應用程式路由到僅供讀取複本,以減少來源資料庫執行個體的負載。僅供讀取複本可以讓您彈性地擴展超越單一資料庫執行個體的容量限制,以處理高讀取量的資料庫工作負載。
為了進一步最大化讀取效能,使用 Amazon RDS for MySQL 可在僅供讀取複本直接新增表格索引,不須將這些索引放入主複本。
因為僅供讀取複本可提升為主要狀態,因此實作碎片時很有用。要對資料庫進行碎片處理,先新增僅供讀取複本並提升為主要狀態,然後從每個產生的資料庫執行個體刪除屬於其他碎片的資料。
由於 Amazon RDS for MySQL 引擎也可讓您執行全表格動作,像是新增索引或新欄到僅供讀取複本,因此您可以使用它的複本提升功能盡量減少這些動作產生的影響。您要將動作的 DDL 引導到僅供讀取複本,將該僅供讀取複本提升到主要狀態,然後將資料庫流量重新導向到新的主複本。
Amazon RDS for MySQL、MariaDB 和 PostgreSQL 中的僅供讀取複本為 Amazon RDS 異地同步備份部署提供互補的可用性機制。如果來源資料庫執行個體失敗,可提升僅供讀取複本。您也可以在災難復原策略中,跨 AWS 區域複寫資料庫執行個體。這個功能可補充同步複寫、自動故障偵測,以及異地同步備份部署提供之容錯移轉的不足之處。
建立 Amazon RDS for MySQL、MariaDB 和 PostgreSQL 的僅供讀取複本時,Amazon RDS 會使用來源資料庫執行個體和僅供讀取複本之間的公開金鑰加密來設定安全的通訊通道,即使跨區域複寫時也一樣。Amazon RDS 會建立各種 AWS 安全組態,像是新增啟用安全通道所需的安全群組項目。
您也可以針對使用 AWS Key Management Service (KMS) 靜態加密的 Amazon RDS for MySQL、MariaDB 和 PostgreSQL 資料庫執行個體,在區域內或區域間建立僅供讀取複本。
僅供讀取複本的費率與標準資料庫執行個體一樣,且相同資料庫執行個體類別和區域的標準資料庫執行個體保留 (RDS 預留執行個體) 也可套用到僅供讀取複本。如需詳細資訊,請參閱 Amazon RDS 定價頁面。
您可以使用 AWS 管理主控台,輕鬆將僅供讀取複本新增到現有的資料庫執行個體。使用 AWS 管理主控台中與資料庫執行個體對應的 "Create Read Replica" 選項。使用 Amazon RDS for MySQL、MariaDB 和 PostgreSQL 可在每個資料庫執行個體最多新增 5 個僅供讀取複本。
Amazon RDS for MySQL、MariaDB 和 PostgreSQL 提供您三種資料庫儲存選擇:一般用途 (SSD)、佈建 IOPS (SSD) 和磁帶。這些引擎的僅供讀取複本不需要使用與其主資料庫執行個體相同的儲存類型。您可以為僅供讀取複本選取替代儲存類型,以優化效能或支出。
Amazon RDS 可讓您搭配使用僅供讀取複本和異地同步備份部署。在 MySQL、MariaDB、Oracle、SQL Server 和 PostgreSQL 的異地同步備份部署中,主資料庫執行個體的資料會同步複寫到不同可用區域 (AZ) 的備用執行個體。由於同步複寫的關係,這些引擎的異地同步備份部署可比僅供讀取複本提供更好的資料耐久性優勢。(在所有 Amazon RDS for Aurora 部署中,您的資料會自動複寫到 3 個可用區域。)
您可以結合異地同步備份部署和僅供讀取複本,以獲得兩者互補的優點。您可以直接將特定的異地同步備份部署指定為僅供讀取複本的來源資料庫執行個體。以此方式就可兼具異地同步備份部署的資料持久性和可用性優點,以及僅供讀取複本的讀取擴展優點。
請注意,針對異地同步備份部署,您可以選擇在主執行個體和備用執行個體以外的可用區域建立僅供讀取複本,以獲得更多冗餘。您可以在 AWS 管理主控台查看資料庫執行個體的 "Secondary Zone" 欄位,以識別與備用執行個體對應的可用區域。