Menyiapkan binlog yang disempurnakan untuk Aurora My SQL - Amazon Aurora

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

Menyiapkan binlog yang disempurnakan untuk Aurora My SQL

Binlog yang ditingkatkan akan mengurangi overhead performa komputasi yang disebabkan oleh pengaktifan binlog, yang dapat mencapai hingga 50% dalam kasus tertentu. Dengan binlog yang ditingkatkan, overhead ini dapat dikurangi menjadi sekitar 13%. Untuk mengurangi overhead, binlog yang ditingkatkan menulis log biner dan transaksi ke penyimpanan secara paralel, yang meminimalkan data yang ditulis pada waktu commit transaksi.

Menggunakan binlog yang disempurnakan juga meningkatkan waktu pemulihan database setelah restart dan failover hingga 99% dibandingkan dengan komunitas Binlog saya. SQL Binlog yang disempurnakan kompatibel dengan beban kerja berbasis binlog yang ada, dan Anda berinteraksi dengannya dengan cara yang sama seperti Anda berinteraksi dengan komunitas Binlog saya. SQL

Binlog yang disempurnakan tersedia di Aurora SQL My versi 3.03.1 dan lebih tinggi.

Mengonfigurasi parameter binlog yang ditingkatkan

Anda dapat beralih antara komunitas Binlog saya dan SQL binlog yang disempurnakan dengan mengaktifkan/menonaktifkan parameter binlog yang disempurnakan. Konsumen binlog yang ada dapat terus membaca dan mengonsumsi file binlog tanpa kesenjangan dalam urutan file binlog.

Untuk mengaktifkan binlog yang disempurnakan, atur parameter berikut:

Parameter Default Deskripsi
binlog_format Atur parameter binlog_format ke format pencatatan log biner pilihan Anda untuk mengaktifkan binlog yang ditingkatkan. Pastikan binlog_format parameter tidak diatur keOFF. Untuk informasi selengkapnya, lihat Mengonfigurasi Aurora Pencatatan biner SQL saya.
aurora_enhanced_binlog 0 Tetapkan nilai parameter ini ke 1 dalam kelompok parameter cluster DB yang terkait dengan cluster Aurora MySQL. Ketika Anda mengubah nilai parameter ini, Anda harus melakukan boot ulang instans penulis ketika nilai DBClusterParameterGroupStatus ditampilkan sebagai pending-reboot.
binlog_backup 1 Nonaktifkan parameter ini untuk mengaktifkan binlog yang ditingkatkan. Untuk melakukannya, tetapkan nilai parameter ini ke 0.
binlog_replication_globaldb 1 Nonaktifkan parameter ini untuk mengaktifkan binlog yang ditingkatkan. Untuk melakukannya, tetapkan nilai parameter ini ke 0.
penting

Anda dapat menonaktifkan binlog_replication_globaldb parameter binlog_backup dan hanya ketika Anda menggunakan binlog yang ditingkatkan.

Untuk mematikan binlog yang disempurnakan, atur parameter berikut:

Parameter Deskripsi
aurora_enhanced_binlog Tetapkan nilai parameter ini ke 0 dalam kelompok parameter cluster DB yang terkait dengan cluster Aurora MySQL. Setiap kali Anda mengubah nilai parameter ini, Anda harus melakukan boot ulang instans penulis ketika nilai DBClusterParameterGroupStatus ditampilkan sebagai pending-reboot.
binlog_backup Aktifkan parameter ini saat Anda menonaktifkan binlog yang ditingkatkan. Untuk melakukannya, tetapkan nilai parameter ini ke 1.
binlog_replication_globaldb Aktifkan parameter ini saat Anda menonaktifkan binlog yang ditingkatkan. Untuk melakukannya, tetapkan nilai parameter ini ke 1.

Untuk memeriksa apakah binlog yang disempurnakan diaktifkan, gunakan perintah berikut di SQL Klien saya:

mysql>show status like 'aurora_enhanced_binlog'; +------------------------+--------+ | Variable_name | Value | +------------------------+--------+ | aurora_enhanced_binlog | ACTIVE | +------------------------+--------+ 1 row in set (0.00 sec)

Saat binlog yang ditingkatkan diaktifkan, output-nya akan menampilkan ACTIVE untuk aurora_enhanced_binlog.

Parameter terkait lainnya

Saat Anda mengaktifkan binlog yang ditingkatkan, parameter berikut akan terpengaruh:

  • Parameter max_binlog_size terlihat, tetapi tidak dapat dimodifikasi. Nilai default-nya, 134217728, secara otomatis disesuaikan menjadi 268435456 saat binlog yang ditingkatkan diaktifkan.

  • Tidak seperti di komunitas SQL Binlog saya, binlog binlog_checksum tidak bertindak sebagai parameter dinamis saat binlog yang disempurnakan dihidupkan. Agar perubahan pada parameter ini berlaku, Anda harus melakukan boot ulang klaster DB secara manual bahkan jika ApplyMethod adalah immediate.

  • Nilai yang Anda tetapkan pada parameter binlog_order_commits tidak berpengaruh pada urutan commit saat binlog yang ditingkatkan diaktifkan. Commit selalu diperintahkan tanpa implikasi performa lebih lanjut.

Perbedaan antara binlog yang disempurnakan dan komunitas Binlog saya SQL

Binlog yang disempurnakan berinteraksi secara berbeda dengan klon, cadangan, dan database global Aurora jika dibandingkan dengan komunitas Binlog saya. SQL Sebaiknya Anda memahami perbedaan berikut sebelum menggunakan binlog yang ditingkatkan.

  • File binlog yang ditingkatkan dari klaster DB sumber tidak tersedia di klaster DB yang dikloning.

  • File binlog yang ditingkatkan tidak disertakan dalam cadangan Aurora. Oleh karena itu, file binlog yang ditingkatkan dari klaster DB sumber tidak tersedia setelah memulihkan klaster DB meskipun ada periode retensi yang ditetapkan padanya.

  • Ketika digunakan dengan basis data global Aurora, file binlog yang ditingkatkan untuk klaster DB primer tidak direplikasi ke klaster DB di wilayah sekunder.

Contoh

Contoh berikut menggambarkan perbedaan antara binlog yang disempurnakan dan komunitas Binlog sayaSQL.

Pada klaster DB yang dipulihkan atau dikloning

Saat binlog yang ditingkatkan diaktifkan, file binlog historis tidak tersedia di klaster DB yang dipulihkan atau dikloning. Setelah operasi pemulihan atau kloning, jika binlog dihidupkan, cluster DB baru mulai menulis urutan file binlognya sendiri, mulai dari 1 (.000001)mysql-bin-changelog.

Untuk mengaktifkan binlog yang ditingkatkan setelah operasi pemulihan atau kloning, atur parameter klaster DB yang diperlukan pada klaster DB yang dipulihkan atau dikloning. Untuk informasi selengkapnya, lihat Mengonfigurasi parameter binlog yang ditingkatkan.

contoh Contoh: Operasi klon atau pemulihan dilakukan saat binlog yang ditingkatkan dihidupkan

Klaster DB Sumber:

mysql> show binary logs; +----------------------------+-----------+-----------+ | Log_name | File_size | Encrypted | +----------------------------+-----------+-----------+ | mysql-bin-changelog.000001 | 156 | No | | mysql-bin-changelog.000002 | 156 | No | | mysql-bin-changelog.000003 | 156 | No | | mysql-bin-changelog.000004 | 156 | No | --> Enhanced Binlog turned on | mysql-bin-changelog.000005 | 156 | No | --> Enhanced Binlog turned on | mysql-bin-changelog.000006 | 156 | No | --> Enhanced Binlog turned on +----------------------------+-----------+-----------+ 6 rows in set (0.00 sec)

Pada klaster DB yang dipulihkan atau dikloning, file binlog tidak akan dicadangkan saat binlog yang ditingkatkan diaktifkan. Untuk menghindari diskontinuitas dalam data binlog, file binlog yang ditulis sebelum binlog yang ditingkatkan diaktifkan juga tidak akan tersedia.

mysql>show binary logs; +----------------------------+-----------+-----------+ | Log_name | File_size | Encrypted | +----------------------------+-----------+-----------+ | mysql-bin-changelog.000001 | 156 | No | --> New sequence of Binlog files +----------------------------+-----------+-----------+ 1 row in set (0.00 sec)
contoh Contoh: Operasi klon atau pemulihan dilakukan saat binlog yang ditingkatkan dimatikan

Klaster DB sumber:

mysql>show binary logs; +----------------------------+-----------+-----------+ | Log_name | File_size | Encrypted | +----------------------------+-----------+-----------+ | mysql-bin-changelog.000001 | 156 | No | | mysql-bin-changelog.000002 | 156 | No | --> Enhanced Binlog enabled | mysql-bin-changelog.000003 | 156 | No | --> Enhanced Binlog enabled | mysql-bin-changelog.000004 | 156 | No | | mysql-bin-changelog.000005 | 156 | No | | mysql-bin-changelog.000006 | 156 | No | +----------------------------+-----------+-----------+ 6 rows in set (0.00 sec)

Pada klaster DB yang dipulihkan atau dikloning, file binlog yang ditulis setelah binlog yang ditingkatkan dinonaktifkan akan tersedia.

mysql>show binary logs; +----------------------------+-----------+-----------+ | Log_name | File_size | Encrypted | +----------------------------+-----------+-----------+ | mysql-bin-changelog.000004 | 156 | No | | mysql-bin-changelog.000005 | 156 | No | | mysql-bin-changelog.000006 | 156 | No | +----------------------------+-----------+-----------+ 1 row in set (0.00 sec)

Pada basis data global Amazon Aurora

Pada basis data global Amazon Aurora, data binlog klaster DB primer tidak direplikasi ke klaster DB sekunder. Setelah proses failover lintas Wilayah, data binlog tidak tersedia di klaster DB primer yang baru dipromosikan. Jika binlog dihidupkan, cluster DB yang baru dipromosikan memulai urutan file binlognya sendiri, mulai dari 1 (mysql-bin-changelog.000001).

Untuk mengaktifkan binlog yang ditingkatkan setelah failover, Anda harus mengatur parameter klaster DB yang diperlukan pada klaster DB sekunder. Untuk informasi selengkapnya, lihat Mengonfigurasi parameter binlog yang ditingkatkan.

contoh Contoh: Operasi failover database global dilakukan saat binlog yang ditingkatkan diaktifkan

Klaster DB primer lama (sebelum failover):

mysql>show binary logs; +----------------------------+-----------+-----------+ | Log_name | File_size | Encrypted | +----------------------------+-----------+-----------+ | mysql-bin-changelog.000001 | 156 | No | | mysql-bin-changelog.000002 | 156 | No | | mysql-bin-changelog.000003 | 156 | No | | mysql-bin-changelog.000004 | 156 | No | --> Enhanced Binlog enabled | mysql-bin-changelog.000005 | 156 | No | --> Enhanced Binlog enabled | mysql-bin-changelog.000006 | 156 | No | --> Enhanced Binlog enabled +----------------------------+-----------+-----------+ 6 rows in set (0.00 sec)

Klaster DB primer baru (setelah failover):

File binlog tidak direplikasi ke wilayah sekunder saat binlog yang ditingkatkan diaktifkan. Untuk menghindari diskontinuitas dalam data binlog, file binlog yang ditulis sebelum binlog yang ditingkatkan diaktifkan tidak akan tersedia.

mysql>show binary logs; +----------------------------+-----------+-----------+ | Log_name | File_size | Encrypted | +----------------------------+-----------+-----------+ | mysql-bin-changelog.000001 | 156 | No | --> Fresh sequence of Binlog files +----------------------------+-----------+-----------+ 1 row in set (0.00 sec)
contoh Contoh: Operasi failover database global dilakukan saat binlog yang disempurnakan dimatikan

Klaster DB Sumber:

mysql>show binary logs; +----------------------------+-----------+-----------+ | Log_name | File_size | Encrypted | +----------------------------+-----------+-----------+ | mysql-bin-changelog.000001 | 156 | No | | mysql-bin-changelog.000002 | 156 | No | --> Enhanced Binlog enabled | mysql-bin-changelog.000003 | 156 | No | --> Enhanced Binlog enabled | mysql-bin-changelog.000004 | 156 | No | | mysql-bin-changelog.000005 | 156 | No | | mysql-bin-changelog.000006 | 156 | No | +----------------------------+-----------+-----------+ 6 rows in set (0.00 sec)

Klaster DB yang dipulihkan atau dikloning:

File binlog yang ditulis setelah binlog yang ditingkatkan dinonaktifkan akan direplikasi dan tersedia di klaster DB yang baru dipromosikan.

mysql>show binary logs; +----------------------------+-----------+-----------+ | Log_name | File_size | Encrypted | +----------------------------+-----------+-----------+ | mysql-bin-changelog.000004 | 156 | No | | mysql-bin-changelog.000005 | 156 | No | | mysql-bin-changelog.000006 | 156 | No | +----------------------------+-----------+-----------+ 3 rows in set (0.00 sec)

CloudWatch Metrik Amazon untuk binlog yang disempurnakan

CloudWatch Metrik Amazon berikut diterbitkan hanya ketika binlog yang disempurnakan diaktifkan.

CloudWatch metrik Deskripsi Unit
ChangeLogBytesUsed Jumlah penyimpanan yang digunakan oleh binlog yang ditingkatkan. Byte
ChangeLogReadIOPs Jumlah operasi I/O baca yang dilakukan di binlog yang ditingkatkan dalam interval 5 menit. Hitungan per 5 menit
ChangeLogWriteIOPs Jumlah operasi I/O disk tulis yang dilakukan di binlog yang ditingkatkan dalam interval 5 menit. Hitungan per 5 menit

Batasan binlog yang ditingkatkan

Batasan berikut berlaku untuk klaster Amazon Aurora DB saat binlog yang ditingkatkan diaktifkan.

  • Binlog yang disempurnakan hanya didukung di Aurora SQL My version3.03.1 dan yang lebih tinggi.

  • File binlog yang ditingkatkan yang ditulis pada klaster DB primer tidak disalin ke klaster DB yang dikloning atau dipulihkan.

  • Saat digunakan dengan basis data global Amazon Aurora, file binlog yang ditingkatkan untuk klaster DB primer tidak direplikasi ke klaster DB sekunder. Oleh karena itu, setelah proses failover, data binlog historis tidak tersedia di klaster DB primer yang baru.

  • Parameter konfigurasi binlog berikut diabaikan:

    • binlog_group_commit_sync_delay

    • binlog_group_commit_sync_no_delay_count

    • binlog_max_flush_queue_time

  • Anda tidak dapat menghapus atau mengganti nama tabel yang rusak dalam basis data. Untuk menjatuhkan tabel ini, Anda dapat menghubungi AWS Support.

  • Cache I/O binlog dinonaktifkan saat binlog yang ditingkatkan diaktifkan. Untuk informasi selengkapnya, lihat Mengoptimalkan replikasi log biner untuk Aurora My SQL.

    catatan

    Binlog yang ditingkatkan memberikan peningkatan performa baca yang serupa dengan cache I/O binlog dan peningkatan performa tulis yang lebih baik.

  • Fitur pelacakan mundur tidak didukung. Binlog yang ditingkatkan tidak dapat diaktifkan di klaster DB dalam kondisi berikut:

    • Klaster DB dengan fitur pelacakan mundur saat ini diaktifkan.

    • Cluster DB tempat fitur backtrack sebelumnya diaktifkan, tetapi sekarang dinonaktifkan.

    • Klaster DB dipulihkan dari klaster DB sumber atau snapshot dengan fitur pelacakan mundur diaktifkan.