Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Anda dapat mencapai pemrosesan kueri yang lebih cepat RDS untuk My SQL dengan Amazon RDS Optimized Reads. Instans RDS for My SQL DB atau cluster DB multi-AZ yang menggunakan RDS Optimized Reads dapat mencapai pemrosesan kueri hingga 2x lebih cepat dibandingkan dengan instans DB atau cluster yang tidak menggunakannya.
Topik
Ikhtisar Bacaan yang RDS Dioptimalkan
Saat Anda menggunakan instans RDS for My SQL DB atau cluster DB multi-AZ yang mengaktifkan RDS Optimized Reads, ini akan mencapai kinerja kueri yang lebih cepat melalui penggunaan penyimpanan instans. Penyimpanan instans menyediakan penyimpanan tingkat blok sementara untuk instans DB atau klaster DB Multi-AZ Anda. Penyimpanan terletak di Non-Volatile Memory Express (NVMe) solid state drive (SSDs) yang secara fisik terpasang ke server host. Penyimpanan ini dioptimalkan untuk latensi rendah, performa I/O acak tinggi, dan throughput baca berurutan tinggi.
RDSBacaan yang Dioptimalkan diaktifkan secara default ketika instans DB atau cluster DB multi-AZ menggunakan kelas instans DB dengan penyimpanan instance, seperti db.m5d atau db.m6gd. Dengan RDS Optimized Reads, beberapa objek sementara disimpan di toko instance. 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 EC2 instans Amazon di Panduan Pengguna Amazon Elastic Compute Cloud untuk Instans Linux.
Beban kerja yang menghasilkan objek sementara di My SQL untuk pemrosesan kueri dapat memanfaatkan penyimpanan instance untuk pemrosesan kueri yang lebih cepat. Jenis beban kerja ini mencakup kueri yang melibatkan jenis, agregasi hash, gabungan beban tinggi, Ekspresi Tabel Umum (CTEs), dan kueri pada kolom yang tidak diindeks. Volume penyimpanan instans ini memberikan kinerja yang lebih tinggiIOPS, terlepas dari konfigurasi penyimpanan yang digunakan untuk EBS penyimpanan Amazon persisten. Karena RDS Optimized Reads membongkar operasi pada objek sementara ke penyimpanan instance, operasi input/output per detik (IOPS) atau throughput penyimpanan persisten (AmazonEBS) sekarang 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
Baik RDS snapshot manual maupun otomatis hanya berisi file mesin untuk objek persisten. Objek sementara yang dibuat di toko instance tidak disertakan dalam RDS snapshot.
Kasus penggunaan untuk Pembacaan yang RDS Dioptimalkan
Jika Anda memiliki beban kerja yang sangat bergantung pada objek sementara, seperti tabel atau file internal, untuk eksekusi kueri mereka, maka Anda bisa mendapatkan keuntungan dari mengaktifkan Bacaan yang RDS Dioptimalkan. Kasus penggunaan berikut adalah kandidat untuk Bacaan yang RDS Dioptimalkan:
-
Aplikasi yang menjalankan kueri analitik dengan ekspresi tabel umum yang kompleks (CTEs), 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 untuk Pembacaan yang RDS Dioptimalkan
Gunakan praktik terbaik berikut untuk Bacaan yang RDS Dioptimalkan:
-
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 atau klaster DB Multi-AZ Anda 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. -
Untuk versi My SQL 8.0 dan yang lebih rendah, gunakan nilai default
MIXED
untukbinlog_format
parameter. Tergantung ukuran transaksi, mengaturbinlog_format
keROW
dapat menghasilkan file cache binlog berukuran besar pada penyimpanan instans. Untuk My SQL 8.4 dan yang lebih tinggi, gunakan nilai defaultROW
untukbinlog_format
parameter. -
Atur parameter internal_tmp_mem_storage_engine
ke TempTable
, sesuaikan parameter temptable_max_mmapdengan ukuran penyimpanan yang tersedia 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.
-
Gunakan nilai default
ABORT_SERVER
untuk parameterbinlog_error_action
. Hal ini dapat mencegah masalah pencatatan log biner pada instans DB yang mengaktifkan pencadangan.
Menggunakan Bacaan yang RDS Dioptimalkan
Saat Anda menyediakan instans SQL DB Saya dengan salah satu kelas instans DB berikut dalam penerapan instans DB AZ tunggal, penerapan instans DB multi-AZ, atau penerapan klaster DB multi-AZ, instans DB secara otomatis menggunakan Bacaan yang Dioptimalkan. RDS RDS
Untuk mengaktifkan Bacaan yang RDS Dioptimalkan, lakukan salah satu hal berikut:
-
Buat instans RDS for My SQL DB atau cluster DB multi-AZ menggunakan salah satu kelas instans DB ini. Untuk informasi selengkapnya, lihat Membuat instans Amazon RDS DB.
-
Ubah yang sudah ada RDS untuk instans My SQL DB atau cluster DB multi-AZ untuk menggunakan salah satu kelas instans DB ini. Untuk informasi selengkapnya, lihat Memodifikasi instans Amazon RDS DB.
RDSBacaan yang Dioptimalkan tersedia di semua Wilayah AWS RDS tempat satu atau lebih kelas instans DB dengan NVMe SSD penyimpanan 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, ubah instans DB atau cluster DB multi-AZ agar tidak menggunakan kelas instans DB yang mendukung fitur tersebut.
Memantau instans DB yang menggunakan Bacaan yang RDS Dioptimalkan
Anda dapat memantau instans DB yang menggunakan Bacaan yang RDS Dioptimalkan dengan CloudWatch metrik berikut:
-
FreeLocalStorage
-
ReadIOPSLocalStorage
-
ReadLatencyLocalStorage
-
ReadThroughputLocalStorage
-
WriteIOPSLocalStorage
-
WriteLatencyLocalStorage
-
WriteThroughputLocalStorage
Metrik ini menyediakan data tentang penyimpanan penyimpanan instans yang tersedia,IOPS, dan throughput. Untuk informasi selengkapnya tentang metrik ini, lihat Metrik CloudWatch tingkat instans Amazon untuk Amazon RDS.
Batasan untuk Bacaan yang RDS Dioptimalkan
Batasan berikut berlaku untuk Bacaan yang RDS Dioptimalkan:
-
RDSBacaan yang Dioptimalkan didukung untuk versi berikut:
-
RDSuntuk SQL versi Saya 8.0.28 dan versi mayor dan minor yang lebih tinggi
Untuk informasi tentang RDS SQL versi Saya, lihatVersi MySQL di Amazon RDS.
-
-
Anda tidak dapat mengubah lokasi objek sementara menjadi penyimpanan persisten (AmazonEBS) pada kelas instans DB yang mendukung Pembacaan yang RDS Dioptimalkan.
-
Saat pencatatan log biner pada instans DB diaktifkan, ukuran transaksi maksimum dibatasi oleh ukuran penyimpanan instans. Di MySQL, setiap sesi yang membutuhkan lebih banyak penyimpanan daripada nilai transaksi
binlog_cache_size
tulis berubah menjadi file cache binlog sementara, yang dibuat di penyimpanan instance. -
Transaksi dapat gagal ketika penyimpanan instans penuh.