

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

# Meningkatkan performa kueri untuk RDS for PostgreSQL dengan Amazon RDS Optimized Reads
<a name="USER_PostgreSQL.optimizedreads"></a>

Anda dapat mencapai pemrosesan kueri yang lebih cepat untuk RDS for PostgreSQL dengan Amazon RDS Optimized Reads. Instans DB RDS for PostgreSQL atau klaster DB Multi-AZ yang menggunakan RDS Optimized Reads dapat mencapai pemrosesan kueri hingga 50% lebih cepat dibandingkan dengan yang tidak menggunakannya.

**Topics**
+ [Ikhtisar RDS Optimized Reads di PostgreSQL](#USER_PostgreSQL.optimizedreads-overview)
+ [Kasus penggunaan untuk RDS Optimized Reads](#USER_PostgreSQL.optimizedreads-use-cases)
+ [Praktik terbaik RDS Optimized Reads](#USER_PostgreSQL.optimizedreads-best-practices)
+ [Menggunakan RDS Optimized Reads](#USER_PostgreSQL.optimizedreads-using)
+ [Memantau instans DB yang menggunakan RDS Optimized Reads](#USER_PostgreSQL.optimizedreads-monitoring)
+ [Batasan untuk RDS Optimized Reads di PostgreSQL](#USER_PostgreSQL.optimizedreads-limitations)

## Ikhtisar RDS Optimized Reads di PostgreSQL
<a name="USER_PostgreSQL.optimizedreads-overview"></a>

Bacaan yang Dioptimalkan tersedia secara default pada RDS untuk PostgreSQL versi 15.2 dan lebih tinggi, 14.7 dan lebih tinggi, dan 13.10 dan lebih tinggi saat menggunakan kelas instans DB berbasis. NVMe Untuk spesifikasi perangkat keras yang menunjukkan instance mana yang digunakan NVMe, lihat[Spesifikasi perangkat keras untuk kelas instans DB ](Concepts.DBInstanceClass.Summary.md).

Saat Anda menggunakan RDS untuk instans PostgreSQL DB atau cluster DB multi-AZ yang mengaktifkan RDS Optimized Reads, ini mencapai kinerja kueri hingga 50% lebih cepat menggunakan penyimpanan tingkat blok solid state drive (SSD) berbasis Non-Volatile Memory Express NVMe () lokal. Anda dapat mencapai pemrosesan kueri yang lebih cepat dengan menempatkan tabel sementara yang dihasilkan oleh PostgreSQL di penyimpanan lokal, yang akan mengurangi lalu lintas ke Elastic Block Storage (EBS) melalui jaringan.

Di PostgreSQL, objek sementara ditetapkan ke namespace sementara yang menurun secara otomatis di akhir sesi. Saat menurun, namespace sementara menghapus objek apa pun yang bergantung pada sesi, termasuk objek yang memenuhi syarat skema, seperti tabel, fungsi, operator, atau bahkan ekstensi.

Di RDS for PostgreSQL, parameter `temp_tablespaces` dikonfigurasi untuk area kerja sementara ini di mana objek sementara disimpan.

Kueri berikut mengembalikan nama tablespace dan lokasinya.

```
postgres=> show temp_tablespaces;
temp_tablespaces
---------------------
rds_temp_tablespace
(1 row)
```

`rds_temp_tablespace`Ini adalah tablespace yang dikonfigurasi oleh RDS yang menunjuk ke penyimpanan NVMe lokal. Anda selalu dapat beralih kembali ke penyimpanan Amazon EBS dengan memodifikasi parameter ini dalam `Parameter group` menggunakan Konsol Manajemen AWS to point ke tablespace selain. `rds_temp_tablespace` Untuk informasi selengkapnya, lihat [](USER_WorkingWithParamGroups.Modifying.md). Anda juga dapat menggunakan perintah SET untuk memodifikasi nilai parameter `temp_tablespaces` menjadi `pg_default` di tingkat sesi menggunakan perintah SET. Memodifikasi parameter akan mengalihkan area kerja sementara ke Amazon EBS. Peralihan kembali ke Amazon EBS akan membantu ketika penyimpanan lokal untuk klaster atau instans RDS Anda tidak cukup untuk melakukan operasi SQL tertentu.

```
postgres=> SET temp_tablespaces TO 'pg_default';
SET
```

```
postgres=> show temp_tablespaces;
            
 temp_tablespaces
------------------
 pg_default
```

## Kasus penggunaan untuk RDS Optimized Reads
<a name="USER_PostgreSQL.optimizedreads-use-cases"></a>

Berikut ini adalah beberapa kasus penggunaan yang dapat memperoleh manfaat dari Optimized Reads:
+ Kueri analitis yang mencakup Ekspresi Tabel Umum (CTEs), tabel turunan, dan operasi pengelompokan.
+ Replika baca yang menangani kueri yang tidak dioptimalkan untuk aplikasi.
+ Kueri pelaporan sesuai permintaan atau dinamis dengan operasi kompleks seperti GROUP BY dan ORDER BY yang tidak selalu dapat menggunakan indeks yang sesuai.
+ Beban kerja lain yang menggunakan tabel sementara internal.
+ `CREATE INDEX`atau `REINDEX` operasi untuk menyortir.

## Praktik terbaik RDS Optimized Reads
<a name="USER_PostgreSQL.optimizedreads-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 mencapai batasnya karena beban kerja pada instans DB atau klaster DB Multi-AZ, modifikasi untuk menggunakan kelas instans DB yang lebih besar.

## Menggunakan RDS Optimized Reads
<a name="USER_PostgreSQL.optimizedreads-using"></a>

Saat Anda menyediakan RDS untuk instans PostgreSQL DB dengan salah satu kelas instans DB berbasis dalam penerapan NVMe instans DB tunggal AZ, penerapan instans DB multi-AZ, atau penerapan klaster DB multi-AZ, instans DB secara otomatis menggunakan RDS Optimized Reads.

Untuk informasi selengkapnya tentang penerapan Multi-AZ, lihat. [Mengonfigurasi dan mengelola penyebaran Multi-AZ untuk Amazon RDS](Concepts.MultiAZ.md)

Untuk mengaktifkan RDS Optimized Reads, lakukan salah satu tindakan berikut ini:
+ Buat RDS untuk instance PostgreSQL DB atau cluster DB multi-AZ menggunakan salah satu kelas instans DB berbasis. NVMe Untuk informasi selengkapnya, lihat [Membuat instans DB Amazon RDS](USER_CreateDBInstance.md).
+ Ubah RDS yang ada untuk instans PostgreSQL DB atau cluster DB multi-AZ untuk menggunakan salah satu kelas instans DB berbasis. NVMe Untuk informasi selengkapnya, lihat [Memodifikasi instans DB Amazon RDS](Overview.DBInstance.Modifying.md).

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

Untuk beralih kembali ke instans RDS baca yang tidak dioptimalkan, modifikasi kelas instans DB dari klaster atau instans RDS Anda menjadi kelas instans serupa yang hanya mendukung penyimpanan EBS untuk beban kerja basis data Anda. Misalnya, jika kelas instans DB saat ini adalah db.r6gd.4xlarge, pilih db.r6g.4xlarge untuk beralih kembali. Untuk informasi selengkapnya, lihat [Memodifikasi instans DB Amazon RDS](Overview.DBInstance.Modifying.md).

## Memantau instans DB yang menggunakan RDS Optimized Reads
<a name="USER_PostgreSQL.optimizedreads-monitoring"></a>

Anda dapat memantau instans DB yang menggunakan Bacaan yang Dioptimalkan RDS menggunakan 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).

Untuk memantau penggunaan penyimpanan lokal Anda saat ini, masuk ke database Anda dan jalankan kueri berikut:

```
SELECT
    spcname AS "Name",
    pg_catalog.pg_size_pretty(pg_catalog.pg_tablespace_size(oid)) AS "size"
FROM
    pg_catalog.pg_tablespace
WHERE
    spcname IN ('rds_temp_tablespace');
```

Untuk informasi selengkapnya tentang file sementara dan penggunaannya, lihat[Mengelola file sementara dengan PostgreSQL](PostgreSQL.ManagingTempFiles.md).

## Batasan untuk RDS Optimized Reads di PostgreSQL
<a name="USER_PostgreSQL.optimizedreads-limitations"></a>

Batasan berikut berlaku untuk RDS Optimized Reads di PostgreSQL:
+ Transaksi dapat gagal ketika penyimpanan instans penuh.