Meningkatkan performa penulisan dengan RDS Optimized Writes for MySQL - Layanan Basis Data Relasional Amazon

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Meningkatkan performa penulisan dengan RDS Optimized Writes for MySQL

Anda dapat meningkatkan performa transaksi penulisan dengan RDS Optimized Writes for MySQL. Ketika basis data RDS for MySQL Anda menggunakan RDS Optimized Writes, RDS dapat mencapai throughput transaksi penulisan hingga dua kali lebih tinggi.

Ikhtisar RDS Optimized Writes

Ketika RDS Optimized Writes diaktifkan, basis data RDS for MySQL Anda hanya akan menulis satu kali saat melakukan flushing data ke penyimpanan yang kuat tanpa memerlukan buffer penulisan ganda. Basis data terus melindungi properti ACID untuk menghasilkan transaksi basis data yang andal dan meningkatkan performa.

Basis data relasional, seperti MySQL, menyediakan properti ACID seperti atomisitas, konsistensi, isolasi, dan daya tahan untuk transaksi basis data yang andal. Untuk membantu menyediakan properti ini, MySQL menggunakan area penyimpanan data yang disebut buffer penulisan ganda yang mencegah kesalahan penulisan sebagian halaman. Kesalahan ini terjadi ketika ada kegagalan perangkat keras saat basis data memperbarui halaman, seperti dalam kasus pemadaman listrik. Basis data MySQL dapat mendeteksi penulisan sebagian halaman dan memulihkan dengan salinan halaman di buffer penulisan ganda. Selain memberikan perlindungan, teknik ini juga menambah operasi penulisan. Untuk informasi selengkapnya tentang buffer penulisan ganda MySQL, lihat Doublewrite Buffer dalam dokumentasi MySQL.

Saat RDS Optimized Writes diaktifkan, basis data RDS for MySQL hanya menulis satu kali saat melakukan flushing data ke penyimpanan yang kuat tanpa menggunakan buffer penulisan ganda. RDS Optimized Writes berguna jika Anda menjalankan beban kerja penulisan berat pada basis data RDS for MySQL. Contoh basis data dengan beban kerja penulisan berat antara lain basis data yang mendukung pembayaran digital, perdagangan finansial, dan aplikasi game.

Database ini berjalan pada kelas instans DB yang menggunakan Sistem AWS Nitro. Karena konfigurasi perangkat keras dalam sistem ini, basis data dapat menulis halaman 16-KiB secara langsung ke file data secara andal dan kuat dalam satu langkah. Sistem AWS Nitro memungkinkan RDS Optimized Writes.

Anda dapat mengatur rds.optimized_writes parameter basis data baru untuk mengontrol fitur RDS Optimized Writes untuk basis data RDS for MySQL. Akses parameter ini dalam grup parameter DB untuk RDS for MySQL versi 8.0. Tetapkan parameter menggunakan nilai berikut:

  • AUTO – Aktifkan RDS Optimized Writes jika didukung oleh basis data. Nonaktifkan RDS Optimized Writes jika tidak didukung basis data. Ini adalah pengaturan default.

  • OFF – Nonaktifkan RDS Optimized Writes meski didukung oleh basis data.

Jika Anda sudah memiliki basis data dengan versi mesin, kelas instans DB, dan/atau format sistem file yang tidak mendukung RDS Optimized Writes, Anda bisa mengaktifkan fitur ini dengan membuat deployment blue/green. Untuk informasi selengkapnya, lihat Mengaktifkan RDS Optimized Writes pada basis data yang sudah ada.

Jika Anda memigrasikan basis data RDS for MySQL yang dikonfigurasi untuk menggunakan RDS Optimized Writes ke kelas instans DB yang tidak mendukung fitur tersebut, RDS secara otomatis menonaktifkan RDS Optimized Writes untuk basis data tersebut.

Saat RDS Optimized Writes dinonaktifkan, basis data akan menggunakan buffer penulisan ganda MySQL.

Untuk menentukan apakah basis data RDS for MySQL menggunakan RDS Optimized Writes, lihat nilai parameter innodb_doublewrite saat ini untuk basis data. Jika basis data menggunakan RDS Optimized Writes, parameter ini diatur ke FALSE (0).

Menggunakan RDS Optimized Writes

Anda dapat mengaktifkan RDS Optimized Writes saat membuat database RDS untuk MySQL dengan konsol RDS, API, atau RDS. AWS CLI RDS Optimized Writes diaktifkan secara otomatis ketika kedua kondisi berikut berlaku selama pembuatan basis data:

  • Anda menentukan versi mesin DB dan kelas instans DB yang mendukung RDS Optimized Writes.

    • RDS Optimized Writes didukung untuk RDS for MySQL versi 8.0.30 dan yang lebih tinggi. Untuk informasi tentang versi RDS for MySQL, lihat Versi MySQL di Amazon RDS.

    • RDS Optimized Writes didukung untuk basis data RDS for MySQL yang menggunakan kelas instans DB berikut:

      • db.m7g

      • db.m6g

      • db.m6gd

      • db.m6i

      • db.m5

      • db.m5d

      • db.r7g

      • db.r6g

      • db.r6gd

      • db.r6i

      • db.r5

      • db.r5b

      • db.r5d

      • db.x2idn

      • db.x2iedn

      Untuk informasi tentang kelas instans DB, lihat Kelas instans DB .

      Ketersediaan kelas instans DB berbeda untuk Wilayah AWS. Untuk menentukan apakah kelas instans DB didukung secara spesifik Wilayah AWS, lihatMenentukan dukungan kelas instans DB di Wilayah AWS.

      Untuk meningkatkan basis data Anda ke kelas instans DB yang mendukung RDS Optimized Writes, Anda bisa membuat deployment blue/green. Untuk informasi selengkapnya, lihat Mengaktifkan RDS Optimized Writes pada basis data yang sudah ada.

  • Dalam grup parameter yang terkait dengan basis data, parameter rds.optimized_writes diatur ke AUTO. Dalam grup parameter default, parameter ini selalu diatur ke AUTO.

Jika Anda ingin menggunakan versi mesin DB dan kelas instans DB yang mendukung RDS Optimized Writes, tetapi tidak ingin menggunakan fitur ini, tentukan grup parameter kustom saat Anda membuat basis data. Dalam grup parameter ini, atur parameter rds.optimized_writes ke OFF. Agar nantinya basis data menggunakan RDS Optimized Writes, Anda dapat mengatur parameter ke AUTO untuk mengaktifkannya. Untuk informasi tentang pembuatan grup parameter kustom dan pengaturan parameter, lihat Menggunakan grup parameter.

Untuk informasi tentang pembuatan instans DB, lihat Membuat instans DB Amazon RDS.

Saat menggunakan konsol RDS untuk membuat basis data RDS for MySQL, Anda dapat memfilter versi mesin DB dan kelas instans DB yang mendukung RDS Optimized Writes. Setelah mengaktifkan filter, Anda dapat memilih versi mesin DB dan kelas instans DB yang tersedia.

Untuk memilih versi mesin DB yang mendukung RDS Optimized Writes, filter versi mesin DB RDS for MySQL yang mendukungnya di Versi mesin, lalu pilih versi.

Bagian opsi Engine dengan filter Amazon RDS Optimized Writes diaktifkan untuk Versi Engine.

Di bagian Konfigurasi instans, gunakan filter untuk menemukan kelas instans DB yang mendukung RDS Optimized Writes, lalu pilih kelas instans DB.

Bagian konfigurasi Instans dengan filter Amazon RDS Optimized Writes diaktifkan untuk kelas instans DB.

Setelah menentukan pilihan ini, Anda dapat memilih pengaturan lain sesuai kebutuhan dan menyelesaikan pembuatan basis data RDS for MySQL dengan konsol.

Untuk membuat instance DB dengan menggunakan AWS CLI, gunakan create-db-instanceperintah. Pastikan nilai --engine-version dan --db-instance-class mendukung RDS Optimized Writes. Selain itu, pastikan parameter rds.optimized_writes untuk grup parameter yang terkait dengan instans DB telah diatur ke AUTO. Contoh ini mengaitkan grup parameter default dengan instans DB.

contoh Membuat instans DB yang menggunakan RDS Optimized Writes

Untuk Linux, macOS, atau Unix:

aws rds create-db-instance \ --db-instance-identifier mydbinstance \ --engine mysql \ --engine-version 8.0.30 \ --db-instance-class db.r5b.large \ --manage-master-user-password \ --master-username admin \ --allocated-storage 200

Untuk Windows:

aws rds create-db-instance ^ --db-instance-identifier mydbinstance ^ --engine mysql ^ --engine-version 8.0.30 ^ --db-instance-class db.r5b.large ^ --manage-master-user-password ^ --master-username admin ^ --allocated-storage 200

Anda dapat membuat instans DB menggunakan operasi CreateDBInstance. Saat Anda menggunakan operasi ini, pastikan nilai EngineVersion dan DBInstanceClass mendukung RDS Optimized Writes. Selain itu, pastikan parameter rds.optimized_writes untuk grup parameter yang terkait dengan instans DB telah diatur ke AUTO.

Mengaktifkan RDS Optimized Writes pada basis data yang sudah ada

Untuk mengubah basis data RDS for MySQL yang sudah ada untuk mengaktifkan RDS Optimized Writes, basis data harus dibuat dengan versi mesin DB dan kelas instans DB yang didukung. Selain itu, basis data harus sudah dibuat setelah RDS Optimized Writes dirilis pada 27 November 2022, karena konfigurasi sistem file yang diperlukan tidak kompatibel dengan basis data yang dibuat sebelum dirilis. Jika kondisi ini terpenuhi, Anda dapat mengaktifkan RDS Optimized Writes dengan mengatur parameter rds.optimized_writes ke AUTO.

Jika basis data Anda tidak dibuat dengan versi mesin, kelas instans, atau konfigurasi sistem file yang didukung, Anda dapat menggunakan Deployment Blue/Green RDS untuk bermigrasi ke konfigurasi yang didukung. Sambil membuat deployment blue/green, lakukan hal berikut:

  • Pilih Aktifkan Optimized Writes pada basis data hijau, lalu tentukan versi mesin dan kelas instans DB yang mendukung RDS Optimized Writes. Untuk daftar versi mesin dan kelas instans yang didukung, lihat Menggunakan RDS Optimized Writes.

  • Di bagian Penyimpanan, pilih Tingkatkan konfigurasi sistem file penyimpanan. Opsi ini meningkatkan basis data ke konfigurasi sistem file dasar yang kompatibel.

Saat Anda membuat deployment blue/green, jika parameter rds.optimized_writes diatur ke AUTO, RDS Optimized Writes akan secara otomatis diaktifkan pada lingkungan hijau. Anda kemudian dapat beralih antara deployment blue/green, yang mendukung lingkungan hijau sebagai lingkungan produksi yang baru.

Untuk informasi selengkapnya, lihat Membuat deployment blue/green.

Batasan RDS Optimized Writes

Saat Anda memulihkan basis data RDS for MySQL dari snapshot, Anda hanya bisa mengaktifkan RDS Optimized Writes untuk basis data jika semua kondisi berikut terpenuhi:

  • Snapshot dibuat dari basis data yang mendukung RDS Optimized Writes.

  • Snapshot dibuat dari basis data yang dibuat setelah RDS Optimized Writes dirilis.

  • Snapshot dikembalikan ke basis data yang mendukung RDS Optimized Writes.

  • Basis data yang dipulihkan berkaitan dengan grup parameter yang parameter rds.optimized_writes-nya diatur ke AUTO.