

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
<a name="rds-optimized-reads-mariadb"></a>

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.

**Topics**
+ [Ikhtisar RDS Optimized Reads](#rds-optimized-reads-mariadb-overview)
+ [Kasus penggunaan RDS Optimized Reads](#rds-optimized-reads-mariadb-use-cases)
+ [Praktik terbaik RDS Optimized Reads](#rds-optimized-reads-mariadb-best-practices)
+ [Menggunakan RDS Optimized Reads](#rds-optimized-reads-mariadb-using)
+ [Memantau instans DB yang menggunakan RDS Optimized Reads](#rds-optimized-reads-mariadb-monitoring)
+ [Batasan RDS Optimized Reads](#rds-optimized-reads-mariadb-limitations)

## Ikhtisar RDS Optimized Reads
<a name="rds-optimized-reads-mariadb-overview"></a>

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 Non-Volatile Memory Express (NVMe) solid state drive (SSD) yang secara fisik terpasang ke server host. Penyimpanan ini dioptimalkan untuk latensi rendah, I/O kinerja acak tinggi, dan throughput baca sekuensial 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](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/InstanceStorage.html) 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 membongkar operasi pada objek sementara ke penyimpanan instans, input/output operasi per detik (IOPS) atau throughput penyimpanan persisten (Amazon EBS) 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**  
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
<a name="rds-optimized-reads-mariadb-use-cases"></a>

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` dan `ORDER 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
<a name="rds-optimized-reads-mariadb-best-practices"></a>

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` untuk `binlog_format`. Tergantung ukuran transaksi, mengatur `binlog_format` ke `ROW` 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
<a name="rds-optimized-reads-mariadb-using"></a>

Saat Anda menyediakan RDS untuk instans MariaDB dengan salah satu kelas instans DB berikut dalam Single-AZ penerapan instans DB Multi-AZ atau penerapan instans DB, instans DB secara 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](USER_CreateDBInstance.md).
+ Modifikasi instans DB RDS for MariaDB untuk menggunakan salah satu kelas instans DB berikut. Untuk informasi selengkapnya, lihat [Memodifikasi instans DB Amazon RDS](Overview.DBInstance.Modifying.md).

RDS Optimized Reads tersedia di semua Region AWS tempat satu atau lebih kelas instans DB dengan penyimpanan SSD NVMe lokal didukung. Untuk informasi tentang kelas instans DB, lihat [Kelas instans DB](Concepts.DBInstanceClass.md).

Ketersediaan kelas instans DB berbeda untuk Region AWS. Untuk menentukan apakah kelas instans DB didukung secara spesifik AWS Region, lihat[Menentukan dukungan kelas instans DB di Region AWS](Concepts.DBInstanceClass.RegionSupport.md).

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
<a name="rds-optimized-reads-mariadb-monitoring"></a>

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](rds-metrics.md#rds-cw-metrics-instance).

## Batasan RDS Optimized Reads
<a name="rds-optimized-reads-mariadb-limitations"></a>

Batasan berikut berlaku untuk RDS Optimized Reads:
+ RDS Optimized Reads didukung untuk versi RDS for MariaDB berikut:
  + Semua versi minor yang tersedia dari 11.4 dan rilis utama yang lebih tinggi
  + 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](MariaDB.Concepts.VersionMgmt.md).
+ 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.