Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Meningkatkan performa kueri RDS for MariaDB dengan Amazon RDS Optimized Reads
Anda dapat mempercepat pemrosesan kueri untuk RDS for MariaDB dengan Amazon RDS Optimized Reads. Instans DB RDS for MariaDB yang menggunakan RDS Optimized Reads dapat memproses kueri hingga 2x lebih cepat dibandingkan dengan instans DB yang tidak menggunakannya.
Topik
Ikhtisar RDS Optimized Reads
Saat Anda menggunakan instans DB RDS for MariaDB yang mengaktifkan RDS Optimized Reads, performa kueri instans DB Anda akan lebih cepat melalui penggunaan penyimpanan instans. Penyimpanan instans menyediakan penyimpanan tingkat blok sementara untuk instans Anda. Penyimpanan terletak di solid state drive (SSD) Non-Volatile Memory Express (NVMe) yang secara fisik terpasang ke server host. Penyimpanan ini dioptimalkan untuk latensi rendah, performa I/O acak tinggi, dan throughput baca berurutan tinggi.
RDS Optimized Reads diaktifkan secara default ketika instans DB menggunakan kelas instans DB dengan penyimpanan instans, seperti db.m5d atau db.m6gd. Dengan RDS Optimized Reads, beberapa objek sementara disimpan di penyimpanan instans. Objek sementara ini termasuk file sementara internal, tabel sementara internal pada disk, file peta memori, dan file cache log biner (binlog). Untuk informasi selengkapnya tentang penyimpanan instans, lihat Penyimpanan instans Amazon EC2 dalam Panduan Pengguna Amazon Elastic Compute Cloud untuk Instans Linux.
Beban kerja yang menghasilkan objek sementara di MariaDB untuk pemrosesan kueri dapat memanfaatkan penyimpanan instans untuk mempercepat pemrosesan kueri. Jenis beban kerja ini mencakup kueri yang melibatkan pengurutan, agregasi hash, penggabungan dengan beban tinggi, Ekspresi Tabel Umum (CTE), dan kueri pada kolom yang tidak diindeks. Volume penyimpanan instans ini memberikan IOPS dan performa yang lebih tinggi, terlepas dari konfigurasi penyimpanan yang digunakan untuk penyimpanan Amazon EBS secara persisten. Karena RDS Optimized Reads memindahkan beban operasi pada objek sementara ke penyimpanan instans, operasi input/output per detik (IOPS) atau throughput penyimpanan persisten (Amazon EBS) kini dapat digunakan untuk operasi pada objek persisten. Operasi ini mencakup pembacaan dan penulisan file data biasa, dan operasi mesin latar belakang, seperti flushing dan penggabungan buffer sisipan.
catatan
Snapshot RDS manual dan otomatis hanya berisi file mesin untuk objek persisten. Objek sementara yang dibuat di penyimpanan instans tidak disertakan dalam snapshot RDS.
Kasus penggunaan RDS Optimized Reads
Jika Anda memiliki beban kerja yang sangat bergantung pada objek sementara, seperti tabel atau file internal, untuk eksekusi kueri, Anda dapat memperoleh manfaat dengan mengaktifkan RDS Optimized Reads. Kasus penggunaan berikut ini adalah kandidat untuk RDS Optimized Reads:
-
Aplikasi yang menjalankan kueri analitis dengan ekspresi tabel umum (CTE) yang kompleks, tabel turunan, dan operasi pengelompokan
-
Replika baca yang melayani lalu lintas baca padat dengan kueri yang tidak dioptimalkan
-
Aplikasi yang menjalankan kueri pelaporan berdasarkan permintaan atau dinamis yang melibatkan operasi yang kompleks, seperti kueri dengan klausa
GROUP BY
danORDER BY
-
Beban kerja yang menggunakan tabel sementara internal untuk pemrosesan kueri
Anda dapat memantau variabel status mesin
created_tmp_disk_tables
untuk menentukan jumlah tabel sementara berbasis disk yang dibuat pada instans DB Anda. -
Aplikasi yang membuat tabel sementara dalam jumlah besar, baik secara langsung maupun dalam prosedur, untuk menyimpan hasil sementara
-
Kueri basis data yang melakukan pengelompokan atau pengurutan pada kolom yang tidak diindeks
Praktik terbaik RDS Optimized Reads
Gunakan praktik terbaik RDS Optimized Reads berikut:
-
Tambahkan logika coba lagi untuk kueri hanya baca jika terjadi kegagalan karena penyimpanan instans penuh selama eksekusi.
-
Pantau ruang penyimpanan yang tersedia di penyimpanan instans dengan CloudWatch metrik
FreeLocalStorage
. Jika penyimpanan instans hampir penuh karena beban kerja pada instans DB, modifikasi instans DB untuk menggunakan kelas instans DB yang lebih besar. -
Jika memori instans DB sudah memadai tetapi masih mencapai batas penyimpanan pada penyimpanan instans, tingkatkan nilai
binlog_cache_size
untuk mempertahankan entri binlog khusus sesi dalam memori. Konfigurasi ini akan mencegah penulisan entri binlog ke file cache binlog sementara pada disk.Parameter
binlog_cache_size
dibuat per sesi. Anda dapat mengubah nilai untuk setiap sesi baru. Pengaturan untuk parameter ini dapat meningkatkan pemanfaatan memori pada instans DB selama beban kerja mencapai puncaknya. Oleh karena itu, pertimbangkan untuk meningkatkan nilai parameter berdasarkan pola beban kerja aplikasi Anda dan memori yang tersedia pada instans DB. -
Gunakan nilai default
MIXED
untukbinlog_format
. Tergantung ukuran transaksi, mengaturbinlog_format
keROW
dapat menghasilkan file cache binlog berukuran besar pada penyimpanan instans. -
Jangan melakukan perubahan besar-besaran dalam satu transaksi. Transaksi seperti ini dapat menghasilkan file cache binlog berukuran besar pada penyimpanan instans dan dapat menyebabkan masalah ketika penyimpanan instans penuh. Pertimbangkan untuk membagi penulisan menjadi beberapa transaksi kecil guna meminimalkan penggunaan penyimpanan untuk file cache binlog.
Menggunakan RDS Optimized Reads
Saat Anda menyediakan instans DB RDS for MariaDB dengan salah satu kelas instans DB berikut dalam deployment instans DB Satu AZ atau deployment instans DB Multi-AZ, instans DB akan otomatis menggunakan RDS Optimized Reads.
Untuk mengaktifkan RDS Optimized Reads, lakukan salah satu tindakan berikut:
-
Buat instans DB RDS for MariaDB menggunakan salah satu kelas instans DB berikut. Untuk informasi selengkapnya, lihat Membuat instans DB Amazon RDS.
-
Modifikasi instans DB RDS for MariaDB untuk menggunakan salah satu kelas instans DB berikut. Untuk informasi selengkapnya, lihat Memodifikasi instans Amazon RDS DB.
RDS Optimized Reads tersedia di semua Wilayah AWS tempat satu atau lebih kelas instans DB dengan penyimpanan SSD NVMe lokal didukung. Untuk informasi tentang kelas instans DB, lihat 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.
Jika Anda tidak ingin menggunakan RDS Optimized Reads, modifikasi instans DB Anda agar tidak menggunakan kelas instans DB yang mendukung fitur tersebut.
Memantau instans DB yang menggunakan RDS Optimized Reads
Anda dapat memantau instans DB yang menggunakan Bacaan yang Dioptimalkan RDS dengan metrik berikut: CloudWatch
-
FreeLocalStorage
-
ReadIOPSLocalStorage
-
ReadLatencyLocalStorage
-
ReadThroughputLocalStorage
-
WriteIOPSLocalStorage
-
WriteLatencyLocalStorage
-
WriteThroughputLocalStorage
Metrik ini menyediakan data tentang penyimpanan instans, IOPS, dan throughput yang tersedia. Untuk informasi selengkapnya tentang metrik ini, lihat Metrik CloudWatch tingkat instans Amazon untuk Amazon RDS.
Batasan RDS Optimized Reads
Batasan berikut berlaku untuk RDS Optimized Reads:
-
RDS Optimized Reads didukung untuk versi RDS for MariaDB berikut:
-
10.11.4 dan versi 10.11 yang lebih tinggi
-
10.6.7 dan versi 10.6 yang lebih tinggi
-
10.5.16 dan versi 10.5 yang lebih tinggi
-
10.4.25 dan versi 10.4 yang lebih tinggi
Untuk informasi tentang versi RDS for MariaDB, lihat Versi-versi MariaDB pada Amazon RDS.
-
-
Anda tidak dapat mengubah lokasi objek sementara ke penyimpanan persisten (Amazon EBS) pada kelas instans DB yang mendukung RDS Optimized Reads.
-
Saat pencatatan log biner pada instans DB diaktifkan, ukuran transaksi maksimum dibatasi oleh ukuran penyimpanan instans. Di MariaDB, setiap sesi yang membutuhkan penyimpanan lebih banyak daripada nilai
binlog_cache_size
transaksi penulisan akan berubah menjadi file cache binlog sementara, yang dibuat pada penyimpanan instans. -
Transaksi dapat gagal ketika penyimpanan instans penuh.