本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
使用 My 的RDS最佳化寫入來改善寫入效能SQL
您可以使用 RDS Optimized Writes for My 來改善寫入交易的效能SQL。當 RDS for MySQL 資料庫使用 RDS Optimized Writes 時,它可以實現高達兩倍的寫入交易輸送量。
RDS 最佳化寫入概觀
當您開啟 RDS Optimized Writes 時,當將資料排清為耐用的儲存體時,RDS適用於我的SQL資料庫的 只會寫入一次,而不需要雙寫入緩衝區。資料庫會繼續為可靠的資料庫交易提供ACID屬性保護,並提升效能。
像 My 這樣的關聯式資料庫SQL,可為可靠的資料庫交易提供原子性、一致性、隔離性和耐用性的ACID屬性。為了協助提供這些屬性,我的SQL 使用稱為雙寫入緩衝區的資料儲存區域,以防止部分頁面寫入錯誤。當資料庫正在更新頁面時發生硬體故障 (例如停電) 時,就會發生這些錯誤。答 我的SQL資料庫可以偵測部分頁面寫入,並使用雙寫入緩衝區中的頁面複本進行復原。雖然這項技術可提供保護,但也會產生額外的寫入操作。如需我的SQL雙寫入緩衝區的詳細資訊,請參閱我的SQL文件中的雙寫入緩衝區
在 RDS Optimized Writes 開啟的情況下,RDS對於我的SQL資料庫,在未使用雙寫入緩衝區的情況下,將資料排清至耐用儲存體時只會寫入一次。 RDS如果您在 RDS for MySQL 資料庫上執行大量寫入工作負載, Optimized Writes 非常有用。具有大量寫入工作負載的資料庫範例包括支援數位支付、金融交易和遊戲應用程式的資料庫。
這些資料庫會在使用 AWS Nitro 系統的資料庫執行個體類別上執行。由於這些系統中的硬體組態,資料庫可以在一個步驟中可靠且持久地將 16 KiB 頁面直接寫入至資料檔案。 AWS Nitro 系統讓 RDS Optimized Writes 成為可能。
您可以設定新的資料庫參數rds.optimized_writes
,以控制RDS適用於 MySQL 資料庫的RDS最佳化寫入功能。在RDS適用於 MySQL 8.0 版和RDS適用於 MySQL 8.4 版的資料庫參數群組中存取此參數。請使用下列值設定參數:
-
AUTO
– 如果資料庫支援,請開啟RDS最佳化寫入。如果資料庫不支援,請關閉 RDS Optimized Writes。此設定是預設值。 -
OFF
– 關閉RDS最佳化寫入,即使資料庫支援它。
如果您有具有引擎版本、資料庫執行個體類別、and/or file system format that doesn't support RDS Optimized Writes, you can enable the feature by creating a blue/green部署的現有資料庫。如需詳細資訊,請參閱在現有資料庫上啟用RDS最佳化寫入。
如果您將設定為使用RDS最佳化寫入的 RDS for MySQL 資料庫遷移至不支援此功能的資料庫執行個體類別, RDS會自動關閉資料庫的RDS最佳化寫入。
當 RDS Optimized Writes 關閉時,資料庫會使用 MySQL Doublewrite 緩衝區。
若要判斷 RDS for MySQL 資料庫是否使用 RDS Optimized Writes,請檢視資料庫 innodb_doublewrite
參數的目前值。如果資料庫使用 RDS Optimized Writes,此參數會設為 FALSE
(0
)。
使用RDS最佳化寫入
當您使用RDS主控台 AWS CLI、 或 RDS 建立 RDS for MySQL 資料庫時,您可以開啟RDS最佳化寫入API。 RDS當下列兩種條件在建立資料庫期間套用時,最佳化寫入會自動開啟:
-
您可以指定支援 RDS Optimized Writes 的資料庫引擎版本和資料庫執行個體類別。
-
RDS My RDS SQL 8.0.30 版及更新版本支援最佳化寫入。如需RDS適用於 MySQL 版本的資訊,請參閱 MySQL on Amazon RDS 版本。
-
RDS 使用下列資料庫執行個體類別RDS的 MySQL 資料庫支援 Optimized Writes:
-
db.m7i
-
db.m7g
-
db.m6g
-
DB.m6gd
-
db.m6i
-
db.m5
-
db.m5d
-
db.r7i
-
db.r7g
-
db.r6g
-
db.r6gd
-
db.r6i
-
db.r5
-
db.r5b
-
db.r5d
-
db.x2idn
-
db.x2iedn
如需資料庫執行個體類別的相關資訊,請參閱 資料庫執行個體類別。
資料庫執行個體類別可用性會有所不同 AWS 區域。若要判斷特定 是否支援資料庫執行個體類別 AWS 區域,請參閱 在 中判斷資料庫執行個體類別支援 AWS 區域。
若要將資料庫升級至支援RDS最佳化寫入的資料庫執行個體類別,您可以建立藍/綠部署。如需詳細資訊,請參閱在現有資料庫上啟用RDS最佳化寫入。
-
-
-
在與資料庫相關聯的參數群組中,
rds.optimized_writes
參數設為AUTO
。在預設參數群組中,此參數一律設為AUTO
。
如果您想要使用支援 RDS Optimized Writes 的資料庫引擎版本和資料庫執行個體類別,但不想使用此功能,請在建立資料庫時指定自訂參數群組。在此參數群組中,將 rds.optimized_writes
參數設為 OFF
。如果您希望資料庫稍後使用 RDS Optimized Writes,您可以將 參數設定為 AUTO
以將其開啟。如需建立自訂參數群組和設定參數的相關資訊,請參閱 Amazon RDS 的參數群組。
如需建立資料庫執行個體的相關資訊,請參閱 建立 Amazon RDS 資料庫執行個體。
當您使用RDS主控台建立 RDS for MySQL 資料庫時,您可以篩選支援 RDS Optimized Writes 的資料庫引擎版本和資料庫執行個體類別。開啟篩選條件後,您可以從可用的資料庫引擎版本和資料庫執行個體類別中進行選擇。
若要選擇支援 RDS Optimized Writes 的資料庫引擎版本,請篩選支援引擎版本的 RDS for MySQL 資料庫引擎版本,然後選擇版本。

在執行個體組態區段中,篩選支援RDS最佳化寫入的資料庫執行個體類別,然後選擇資料庫執行個體類別。

進行這些選擇後,您可以選擇其他符合您需求的設定,並使用 主控台完成RDS為 MySQL 資料庫建立 。
若要使用 建立資料庫執行個體 AWS CLI,請執行 create-db-instance命令。確定 --engine-version
和 --db-instance-class
值支援RDS最佳化寫入。此外,確定與資料庫執行個體相關聯的參數群組已將 rds.optimized_writes
參數設為 AUTO
:此範例會將預設參數群組與資料庫執行個體建立關聯。
範例 建立使用RDS最佳化寫入的資料庫執行個體
用於 Linux, macOS、 或 Unix:
aws rds create-db-instance \ --db-instance-identifier
mydbinstance
\ --engine mysql \ --engine-version8.0.30
\ --db-instance-classdb.r5b.large
\ --manage-master-user-password \ --master-usernameadmin
\ --allocated-storage200
用於 Windows:
aws rds create-db-instance ^ --db-instance-identifier
mydbinstance
^ --engine mysql ^ --engine-version8.0.30
^ --db-instance-classdb.r5b.large
^ --manage-master-user-password ^ --master-usernameadmin
^ --allocated-storage200
您可以使用 CreateDBInstance 操作建立資料庫執行個體。當您使用此操作時,請確定 EngineVersion
和 DBInstanceClass
值支援RDS最佳化寫入。此外,確定與資料庫執行個體相關聯的參數群組已將 rds.optimized_writes
參數設為 AUTO
:
在現有資料庫上啟用RDS最佳化寫入
為了修改現有的 RDS 供我的SQL資料庫開啟RDS最佳化寫入,資料庫必須使用支援的資料庫引擎版本和資料庫執行個體類別建立。此外,資料庫必須在 RDS Optimized Writes 於 2022 年 11 月 27 日發行之後建立,因為所需的基礎檔案系統組態與發行之前建立的資料庫組態不相容。如果符合這些條件,您可以將 rds.optimized_writes
參數設定為 以開啟RDS最佳化寫入AUTO
。
如果您的資料庫未使用支援的引擎版本、執行個體類別或檔案系統組態建立,您可以使用RDSBlue/Green Deployments to migrate to a supported configuration. While creating the blue/green部署,請執行下列動作:
-
選取在綠色資料庫上啟用最佳化寫入,然後指定支援RDS最佳化寫入的引擎版本和資料庫執行個體類別。如需受支援引擎版本和執行個體類別的清單,請參閱 使用RDS最佳化寫入。
-
在儲存體下,選擇升級儲存體檔案系統組態。此選項會將資料庫升級為相容的基礎檔案系統組態。
當您建立藍/綠部署時,如果 rds.optimized_writes
參數設定為 AUTO
,則綠色環境中會自動啟用 RDS Optimized Writes。然後,您可以轉換藍/綠部署,將綠色環境提升至新的生產環境。
如需詳細資訊,請參閱在 Amazon RDS 中建立藍/綠部署。
RDS 最佳化寫入的限制
當您從快照還原 RDS for MySQL 資料庫時,只有在符合下列所有條件時,才能開啟資料庫的RDS最佳化寫入:
-
快照是從支援 RDS Optimized Writes 的資料庫建立的。
-
快照是從發行RDS最佳化寫入後建立的資料庫建立的。
-
快照會還原至支援 RDS Optimized Writes 的資料庫。
-
還原的資料庫與將
rds.optimized_writes
參數設為AUTO
的參數群組相關聯。