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.
Daftar Isi
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 membuat cluster yang disediakan. Kemudian Anda mengaktifkan kueri paralel menggunakan parameter
aurora_parallel_query
.Jika Anda memiliki SQL cluster Aurora My 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.
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
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.
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_pq
Parameter 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.
-
Wawasan Performa. Untuk informasi selengkapnya, lihat Memantau beban DB dengan Performance Insights di Amazon Aurora.
-
Pelacakan Mundur. Untuk informasi selengkapnya, lihat Melakukan backtracking klaster DB Aurora.
-
Menghentikan dan memulai klaster. Untuk informasi selengkapnya, lihat Menghentikan dan memulai klaster DB Amazon Aurora.
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:
-
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.
-
Pantau kueri mana yang menggunakan kueri paralel. Untuk mempelajari caranya, lihat Memantau query paralel untuk Aurora My SQL.
-
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 My SQL.
-
Sempurnakan SQL kode Anda untuk mengaktifkan kueri paralel agar diterapkan pada kueri yang Anda harapkan. Untuk mempelajari caranya, lihat SQLkonstruksi untuk kueri paralel di Aurora My SQL.
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.