Topik ini menjelaskan faktor-faktor yang mempengaruhi kinerja query AnalyticDB for MySQL.
Informasi latar belakang
Spesifikasi Kluster
AnalyticDB for MySQL mendukung berbagai spesifikasi kluster. Untuk informasi lebih lanjut tentang spesifikasi kluster, lihat Spesifikasi. Spesifikasi kluster yang berbeda memberikan kemampuan pemrosesan subtugas yang bervariasi karena masing-masing memiliki jumlah core CPU, ukuran memori, dan media penyimpanan tertentu. Pilih spesifikasi kluster berdasarkan karakteristik query bisnis Anda. Sebagai contoh, query dengan operasi join atau pengelompokan dan agregasi intensif mengonsumsi banyak sumber daya CPU dan memori, sedangkan query yang melibatkan pemindaian data atau pengelompokan sederhana menggunakan lebih banyak sumber daya disk I/O. Perbedaan konsumsi sumber daya ini mempengaruhi batas kinerja kluster dan hasil query secara keseluruhan.
Jumlah Node
AnalyticDB for MySQL menggunakan arsitektur pemrosesan data terdistribusi untuk membagi query menjadi beberapa tahap dan mengeksekusinya secara paralel di berbagai node. Kluster AnalyticDB for MySQL dengan lebih banyak node dapat memberikan kemampuan pemrosesan query yang lebih tinggi. Anda dapat menentukan jumlah node kluster sesuai kebutuhan bisnis aktual Anda. Untuk informasi lebih lanjut, lihat Buat kluster.
Karakteristik Distribusi Data
AnalyticDB for MySQL menggunakan arsitektur pemrosesan data terdistribusi untuk mengeksekusi query secara paralel di beberapa node. Namun, kemampuan AnalyticDB for MySQL dalam memanfaatkan beberapa node secara penuh untuk eksekusi query paralel bergantung pada karakteristik distribusi data di node penyimpanan. Jika data terdistribusi secara merata di seluruh node penyimpanan, subtugas pemrosesan data di AnalyticDB for MySQL dapat diselesaikan hampir secara bersamaan. Sebaliknya, jika distribusi data tidak merata, latensi tinggi akan terjadi pada subtugas selama pemrosesan data, yang berdampak pada hasil akhir query.
Ukuran Data
Selama eksekusi query, AnalyticDB for MySQL biasanya memproses semua data di memori tanpa menulis hasil sementara ke disk. Namun, jika volume data besar, query tersebut dapat memakan sumber daya dalam waktu lama, menurunkan efisiensi dan mempengaruhi hasil akhir.
Jika tabel AnalyticDB for MySQL menyimpan sejumlah besar data, operasi seperti penyaringan indeks dan pembacaan detail data dapat menyebabkan kompetisi sumber daya disk I/O, memperlambat query.
Konkurensi Query
Karena batasan spesifikasi dan ukuran kluster, jumlah query yang dapat diproses oleh AnalyticDB for MySQL secara bersamaan juga terbatas. Jika banyak query dieksekusi secara konkuren dan sumber daya node telah mencapai batas maksimum, query tambahan akan mengantri, mempengaruhi hasil keseluruhan.
Kompleksitas Query
AnalyticDB for MySQL menghadapi tantangan unik dari query kompleks. Misalnya, kondisi filter yang rumit dapat menyebabkan pembacaan data dalam jumlah besar dari node penyimpanan. Operator JOIN yang banyak memerlukan transfer data antar node melalui jaringan, menyebabkan kemacetan. Penggunaan banyak kolom dalam klausa GROUP BY dapat menghabiskan sumber daya memori secara signifikan.