Mengoptimalkan query paralel di Aurora My SQL - Amazon Aurora:

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 My SQL

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.

Merencanakan klaster kueri paralel

Perencanaan untuk klaster DB dengan kueri paralel yang diaktifkan mengharuskan beberapa pilihan. Ini termasuk melakukan langkah-langkah penyiapan (baik membuat atau memulihkan cluster Aurora SQL My lengkap) dan memutuskan seberapa luas untuk mengaktifkan kueri paralel di seluruh cluster DB Anda.

Pertimbangkan hal berikut sebagai bagian dari perencanaan:

  • Jika Anda menggunakan Aurora My SQL yang kompatibel dengan My SQL 5.7, Anda harus memilih Aurora My 2.09 atau lebih tinggi. SQL Dalam hal ini, Anda selalu membuat klaster yang disediakan. Kemudian Anda mengaktifkan kueri paralel menggunakan parameter aurora_parallel_query.

    Jika Anda memiliki SQL cluster Aurora My yang menjalankan versi 2.09 atau lebih tinggi, 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.

Memeriksa kompatibilitas Aurora My SQL version untuk query paralel

Untuk memeriksa Aurora SQL Versi saya mana yang kompatibel dengan cluster kueri 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 SQL versi Aurora My yang tersedia di Wilayah yang ditentukan AWS .

5.7.mysql_aurora.2.11.1 8.0.mysql_aurora.3.01.0 8.0.mysql_aurora.3.01.1 8.0.mysql_aurora.3.02.0 8.0.mysql_aurora.3.02.1 8.0.mysql_aurora.3.02.2 8.0.mysql_aurora.3.03.0

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.

Pertimbangan peningkatan untuk kueri paralel

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.

Memutakhirkan cluster kueri paralel ke Aurora Versi saya 3 SQL

Beberapa SQL pernyataan, klausa, dan tipe data memiliki dukungan query paralel yang baru atau lebih baik dimulai di Aurora My versi 3. SQL 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, Tabel yang dipartisi, dan Fungsi agregat, klausa GROUP BY, dan klausa HAVING.

Jika Anda memutakhirkan cluster kueri paralel dari Aurora SQL My 2.08 atau yang lebih rendah, pelajari juga tentang perubahan cara mengaktifkan kueri paralel. Untuk mempelajarinya, baca Upgrade ke Aurora SQL My 2.09 dan lebih tinggi.

Di Aurora My SQL versi 3, optimasi bergabung hash diaktifkan secara default. Opsi konfigurasi aurora_disable_hash_join dari versi sebelumnya tidak digunakan.

Upgrade ke Aurora SQL My 2.09 dan lebih tinggi

Di Aurora My SQL versi 2.09 dan yang lebih tinggi, query paralel berfungsi untuk cluster yang disediakan dan tidak memerlukan parameter mode engine. 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 Memutakhirkan versi minor atau level patch cluster Aurora SQL My DB 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. Kemudian pilih Aurora My SQL 2.09 atau lebih tinggi.

Setelah Anda memutakhirkan klaster kueri paralel sebelumnya ke Aurora My SQL 2.09 atau lebih tinggi, Anda mengaktifkan kueri paralel di 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 kueri paralel di Aurora My SQL dan Mengaktifkan hash join untuk klaster kueri paralel.

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. aurora_pqParameter aurora_pq_supported dan tidak digunakan lagi di Aurora versi Saya yang lebih baru. SQL

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. Dalam SQL versi Aurora My sebelumnya, Anda memeriksa keberadaan parallelquery dalam daftar. SupportedEngineModes

Setelah Anda meningkatkan ke Aurora My SQL versi 2.09 atau lebih tinggi, Anda dapat memanfaatkan fitur-fitur berikut. Fitur-fitur ini tidak tersedia untuk cluster kueri paralel yang menjalankan versi Aurora SQL My yang lebih lama.

Penyempurnaan performa untuk kueri paralel

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:

Membuat objek skema untuk memanfaatkan kueri paralel

Sebelum Anda membuat atau memodifikasi tabel yang akan Anda gunakan untuk kueri paralel, pastikan untuk memahami persyaratan yang dijelaskan dalam Prasyarat dan Pembatasan.

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.