

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

# Mengoptimalkan query paralel di Aurora MySQL
<a name="aurora-mysql-parallel-query-optimizing"></a>

Untuk mengoptimalkan cluster DB Anda untuk query paralel, pertimbangkan cluster DB mana yang akan mendapat manfaat dari query paralel dan apakah akan meningkatkan untuk query paralel. Kemudian, atur beban kerja Anda dan buat objek skema untuk query paralel.

**Contents**
+ [Merencanakan klaster kueri paralel](#aurora-mysql-parallel-query-planning)
  + [Memeriksa kompatibilitas versi Aurora MySQL untuk kueri paralel](#aurora-mysql-parallel-query-checking-compatibility)
+ [Pertimbangan peningkatan untuk kueri paralel](#aurora-mysql-parallel-query-upgrade)
  + [Meningkatkan klaster kueri paralel ke Aurora MySQL versi 3](#aurora-mysql-parallel-query-upgrade-pqv2)
  + [Peningkatan ke Aurora MySQL 2.09 dan yang lebih tinggi](#aurora-mysql-parallel-query-upgrade-2.09)
+ [Penyempurnaan performa untuk kueri paralel](#aurora-mysql-parallel-query-performance)
+ [Membuat objek skema untuk memanfaatkan kueri paralel](#aurora-mysql-parallel-query-tables)

## Merencanakan klaster kueri paralel
<a name="aurora-mysql-parallel-query-planning"></a>

Perencanaan untuk klaster DB dengan kueri paralel yang diaktifkan mengharuskan beberapa pilihan. Termasuk di antaranya adalah melakukan langkah penyiapan (baik membuat maupun memulihkan klaster Aurora MySQL penuh) dan memutuskan seberapa luas pengaktifan kueri paralel di seluruh klaster DB Aurora Anda.

Pertimbangkan hal berikut sebagai bagian dari perencanaan:
+ Jika Anda menggunakan Aurora MySQL yang kompatibel dengan MySQL 5.7, Anda harus membuat cluster yang disediakan. Kemudian Anda mengaktifkan kueri paralel menggunakan parameter `aurora_parallel_query`.

  Jika Anda memiliki cluster Aurora MySQL yang sudah ada, Anda tidak perlu membuat cluster baru untuk menggunakan query paralel. Anda dapat mengaitkan klaster Anda, atau instans DB tertentu dalam klaster, dengan grup parameter yang mengaktifkan parameter `aurora_parallel_query`. Dengan melakukannya, Anda dapat mengurangi waktu dan upaya untuk mengatur data yang relevan untuk digunakan dengan kueri paralel.
+ Rencanakan setiap tabel besar yang perlu Anda atur ulang agar Anda dapat menggunakan kueri paralel saat mengaksesnya. Anda mungkin perlu membuat versi baru dari beberapa tabel besar di mana kueri paralel akan bermanfaat. Misalnya, Anda mungkin perlu menghapus indeks pencarian teks penuh. Untuk detailnya, lihat [Membuat objek skema untuk memanfaatkan kueri paralel](#aurora-mysql-parallel-query-tables).

### Memeriksa kompatibilitas versi Aurora MySQL untuk kueri paralel
<a name="aurora-mysql-parallel-query-checking-compatibility"></a>

Untuk memeriksa versi MySQL Aurora mana yang kompatibel dengan cluster query paralel, gunakan `describe-db-engine-versions` AWS CLI perintah dan periksa nilai bidang. `SupportsParallelQuery` Contoh kode berikut menunjukkan cara memeriksa kombinasi mana yang tersedia untuk cluster query paralel di AWS Wilayah tertentu. Pastikan untuk menentukan string parameter `--query` secara lengkap pada satu baris.

```
aws rds describe-db-engine-versions --region us-east-1 --engine aurora-mysql \
--query '*[]|[?SupportsParallelQuery == `true`].[EngineVersion]' --output text
```

Perintah sebelumnya menghasilkan output yang serupa dengan yang berikut ini. Outputnya mungkin bervariasi tergantung pada versi Aurora MySQL mana yang tersedia di Wilayah yang ditentukan. AWS 

```
5.7.mysql_aurora.2.11.1
5.7.mysql_aurora.2.11.2
5.7.mysql_aurora.2.11.3
5.7.mysql_aurora.2.11.4
5.7.mysql_aurora.2.11.5
5.7.mysql_aurora.2.11.6
5.7.mysql_aurora.2.12.0
5.7.mysql_aurora.2.12.1
5.7.mysql_aurora.2.12.2
5.7.mysql_aurora.2.12.3
5.7.mysql_aurora.2.12.4
8.0.mysql_aurora.3.04.0
8.0.mysql_aurora.3.04.1
8.0.mysql_aurora.3.04.2
8.0.mysql_aurora.3.04.3
8.0.mysql_aurora.3.05.2
8.0.mysql_aurora.3.06.0
8.0.mysql_aurora.3.06.1
8.0.mysql_aurora.3.07.0
8.0.mysql_aurora.3.07.1
```

 Setelah mulai menggunakan kueri paralel dengan suatu klaster, Anda dapat memantau performa dan menghilangkan batasan pada penggunaan kueri paralel. Untuk petunjuk langkah demi langkah, lihat [Penyempurnaan performa untuk kueri paralel](#aurora-mysql-parallel-query-performance). 

## Pertimbangan peningkatan untuk kueri paralel
<a name="aurora-mysql-parallel-query-upgrade"></a>

 Tergantung versi asal dan tujuan saat Anda meningkatkan versi klaster kueri paralel, Anda mungkin menemukan penyempurnaan dalam jenis kueri yang dapat dioptimalkan oleh kueri paralel. Anda mungkin juga menemukan bahwa Anda tidak perlu menentukan parameter mode mesin khusus untuk kueri paralel. Bagian berikutnya menjelaskan pertimbangan saat Anda meningkatkan klaster dengan kueri paralel yang diaktifkan. 

### Meningkatkan klaster kueri paralel ke Aurora MySQL versi 3
<a name="aurora-mysql-parallel-query-upgrade-pqv2"></a>

 Beberapa pernyataan, klausa, dan tipe data SQL memiliki dukungan kueri paralel baru atau yang lebih baik dimulai di Aurora MySQL versi 3. Saat Anda melakukan peningkatan dari rilis sebelum versi 3, periksa apakah kueri tambahan dapat memperoleh manfaat dari pengoptimalan kueri paralel. Untuk informasi tentang penyempurnaan kueri paralel ini, lihat [Jenis data kolom](aurora-mysql-parallel-query-sql.md#aurora-mysql-parallel-query-sql-datatypes), [Tabel yang dipartisi](aurora-mysql-parallel-query-sql.md#aurora-mysql-parallel-query-sql-partitioning), dan [Fungsi agregat, klausa GROUP BY, dan klausa HAVING](aurora-mysql-parallel-query-sql.md#aurora-mysql-parallel-query-sql-aggregation). 

Jika Anda meningkatkan klaster kueri paralel dari Aurora MySQL 2.08 atau yang lebih rendah, pelajari juga tentang perubahan cara mengaktifkan kueri paralel. Untuk mempelajarinya, baca [Peningkatan ke Aurora MySQL 2.09 dan yang lebih tinggi](#aurora-mysql-parallel-query-upgrade-2.09).

Di Aurora MySQL versi 3, pengoptimalan hash join diaktifkan secara default. Opsi konfigurasi `aurora_disable_hash_join` dari versi sebelumnya tidak digunakan.

### Peningkatan ke Aurora MySQL 2.09 dan yang lebih tinggi
<a name="aurora-mysql-parallel-query-upgrade-2.09"></a>

Di Aurora MySQL versi 2.09 dan versi lebih tinggi, kueri paralel bekerja untuk klaster yang telah disediakan dan tidak memerlukan parameter mode mesin `parallelquery`. Dengan demikian, Anda tidak perlu membuat klaster baru atau memulihkan dari snapshot yang sudah ada untuk menggunakan kueri paralel dengan versi ini. Anda dapat menggunakan prosedur peningkatan yang dijelaskan dalam [Meningkatkan versi minor atau tingkat patch klaster DB Aurora MySQL](AuroraMySQL.Updates.Patching.md) untuk meningkatkan klaster Anda ke versi tersebut. Anda dapat meningkatkan klaster yang lebih lama terlepas dari apakah itu berupa klaster kueri paralel atau klaster yang tersedia. Untuk mengurangi jumlah pilihan dalam **Versi mesin** Anda dapat memilih **Tampilkan versi yang mendukung fitur kueri paralel** untuk memfilter entri di menu tersebut. Lalu pilih Aurora MySQL 2.09 atau lebih tinggi.

Setelah Anda meningkatkan klaster kueri paralel sebelumnya ke Aurora MySQL versi 2.09 atau lebih tinggi, Anda mengaktifkan kueri paralel dalam klaster yang ditingkatkan. Kueri paralel dimatikan secara default dalam versi ini, dan prosedur untuk mengaktifkannya berbeda. Pengoptimalan hash join juga dinonaktifkan secara default dan harus diaktifkan secara terpisah. Oleh karena itu, pastikan Anda mengaktifkan pengaturan ini lagi setelah peningkatan. Untuk petunjuk tentang melakukannya, lihat [Menghidupkan dan menonaktifkan query paralel di Aurora MySQL](aurora-mysql-parallel-query-enabling.md) dan [Mengaktifkan hash join untuk klaster kueri paralel](aurora-mysql-parallel-query-enabling.md#aurora-mysql-parallel-query-enabling-hash-join).

Secara khusus, Anda mengaktifkan kueri paralel dengan menggunakan parameter konfigurasi `aurora_parallel_query=ON` dan `aurora_disable_hash_join=OFF`, bukan `aurora_pq_supported` dan `aurora_pq`. Parameter `aurora_pq_supported` dan `aurora_pq` dihentikan dalam versi Aurora MySQL yang lebih baru.

 Dalam klaster yang ditingkatkan, atribut `EngineMode` memiliki nilai `provisioned`, bukan `parallelquery`. Untuk memeriksa apakah query paralel tersedia untuk versi mesin tertentu, sekarang Anda memeriksa nilai `SupportsParallelQuery` bidang dalam output `describe-db-engine-versions` AWS CLI perintah. Di versi Aurora MySQL sebelumnya, Anda memeriksa keberadaan `parallelquery` dalam daftar `SupportedEngineModes`. 

Setelah meningkatkan ke Aurora MySQL versi 2.09 atau lebih tinggi, Anda dapat memanfaatkan fitur-fitur berikut. Fitur ini tidak tersedia untuk klaster kueri paralel yang menjalankan Aurora MySQL versi lama.
+ Wawasan Performa. Untuk informasi selengkapnya, lihat [Memantau muatan DB dengan Wawasan Performa di Amazon Aurora](USER_PerfInsights.md).
+ Pelacakan Mundur. Untuk informasi selengkapnya, lihat [Melakukan backtracking klaster DB Aurora](AuroraMySQL.Managing.Backtrack.md).
+ Menghentikan dan memulai klaster. Untuk informasi selengkapnya, lihat [Menghentikan dan memulai klaster DB Amazon Aurora](aurora-cluster-stop-start.md).

## Penyempurnaan performa untuk kueri paralel
<a name="aurora-mysql-parallel-query-performance"></a>

 Untuk mengelola performa beban kerja dengan kueri paralel, pastikan kueri paralel digunakan untuk kueri di mana pengoptimalan ini paling membantu. 

 Untuk melakukannya, Anda dapat melakukan hal berikut: 
+  Pastikan tabel terbesar Anda kompatibel dengan kueri paralel. Anda mungkin mengubah properti tabel atau membuat ulang beberapa tabel sehingga kueri untuk tabel tersebut dapat memanfaatkan pengoptimalan kueri paralel. Untuk mempelajari caranya, lihat [Membuat objek skema untuk memanfaatkan kueri paralel](#aurora-mysql-parallel-query-tables). 
+  Pantau kueri mana yang menggunakan kueri paralel. Untuk mempelajari caranya, lihat [Memantau query paralel untuk Aurora MySQL](aurora-mysql-parallel-query-monitoring.md). 
+  Verifikasi bahwa kueri paralel digunakan untuk kueri sarat data dan berlangsung lama, dan dengan tingkat keserentakan yang tepat untuk beban kerja Anda. Untuk mempelajari caranya, lihat [Memverifikasi pernyataan mana yang menggunakan query paralel untuk Aurora MySQL](aurora-mysql-parallel-query-verifying.md). 
+  Sesuaikan kode SQL Anda untuk mengaktifkan kueri paralel agar diterapkan pada kueri yang Anda harapkan. Untuk mempelajari caranya, lihat [Konstruksi SQL untuk query paralel di Aurora MySQL](aurora-mysql-parallel-query-sql.md). 

## Membuat objek skema untuk memanfaatkan kueri paralel
<a name="aurora-mysql-parallel-query-tables"></a>

 Sebelum Anda membuat atau memodifikasi tabel yang akan Anda gunakan untuk kueri paralel, pastikan untuk memahami persyaratan yang dijelaskan dalam [Prasyarat](aurora-mysql-parallel-query.md#aurora-mysql-parallel-query-prereqs) dan [Pembatasan](aurora-mysql-parallel-query.md#aurora-mysql-parallel-query-limitations). 

 Karena kueri paralel memerlukan tabel untuk menggunakan pengaturan `ROW_FORMAT=Compact` atau `ROW_FORMAT=Dynamic`, periksa pengaturan konfigurasi Aurora Anda untuk setiap perubahan pada opsi konfigurasi `INNODB_FILE_FORMAT`. Keluarkan pernyataan `SHOW TABLE STATUS` untuk mengonfirmasi format baris untuk semua tabel dalam basis data. 

 Sebelum mengubah skema Anda untuk mengaktifkan kueri paralel agar dapat bekerja dengan lebih banyak tabel, pastikan untuk melakukan pengujian. Pengujian Anda harus mengonfirmasi apakah kueri paralel menghasilkan peningkatan performa bersih untuk tabel tersebut. Selain itu, pastikan bahwa persyaratan skema untuk kueri paralel kompatibel dengan sasaran Anda. 

 Sebagai contoh, sebelum beralih dari `ROW_FORMAT=Compressed` ke `ROW_FORMAT=Compact` atau `ROW_FORMAT=Dynamic`, uji performa beban kerja untuk tabel asal dan baru. Selain itu, pertimbangkan potensi efek lainnya seperti peningkatan volume data. 