Amazon Redshift tidak akan lagi mendukung penggunaan Python UDF setelah 30 Juni 2026. Kami akan mulai menegakkannya secara bertahap. Untuk informasi lebih lanjut tentang detail opsi akhir masa pakai dan migrasi Python, lihat posting blog
Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Faktor-faktor yang mempengaruhi kinerja kueri
Sejumlah faktor dapat mempengaruhi kinerja kueri. Aspek berikut dari operasi data, cluster, dan database Anda semua berperan dalam seberapa cepat proses kueri Anda.
-
Jumlah node, prosesor, atau irisan — Node komputasi dipartisi menjadi irisan. Lebih banyak node berarti lebih banyak prosesor dan lebih banyak irisan, yang memungkinkan kueri Anda diproses lebih cepat dengan menjalankan bagian kueri secara bersamaan di seluruh irisan. Namun, lebih banyak node juga berarti biaya yang lebih besar, jadi Anda perlu menemukan keseimbangan biaya dan kinerja yang sesuai untuk sistem Anda. Untuk informasi selengkapnya tentang arsitektur cluster Amazon Redshift, lihatArsitektur sistem gudang data.
-
Jenis node — Cluster Amazon Redshift dapat menggunakan salah satu dari beberapa jenis node. Setiap jenis node menawarkan ukuran dan batas yang berbeda untuk membantu Anda menskalakan cluster dengan tepat. Ukuran node menentukan kapasitas penyimpanan, memori, CPU, dan harga setiap node dalam cluster. Untuk informasi selengkapnya tentang jenis node, lihat Ring kasan cluster Amazon Redshift di Panduan Manajemen Amazon Redshift.
-
Distribusi data — Amazon Redshift menyimpan data tabel pada node komputasi sesuai dengan gaya distribusi tabel. Saat Anda menjalankan kueri, pengoptimal kueri mendistribusikan kembali data ke node komputasi sesuai kebutuhan untuk melakukan gabungan dan agregasi apa pun. Memilih gaya distribusi yang tepat untuk tabel membantu meminimalkan dampak langkah redistribusi dengan menemukan data di tempat yang diperlukan sebelum gabungan dilakukan. Untuk informasi selengkapnya, lihat Distribusi data untuk optimasi kueri.
-
Urutan pengurutan data — Amazon Redshift menyimpan data tabel pada disk dalam urutan yang diurutkan sesuai dengan kunci pengurutan tabel. Pengoptimal kueri dan prosesor kueri menggunakan informasi tentang di mana data berada untuk mengurangi jumlah blok yang perlu dipindai dan dengan demikian meningkatkan kecepatan kueri. Untuk informasi selengkapnya, lihat Urutkan kunci.
-
Ukuran dataset — Volume data yang lebih tinggi dalam cluster dapat memperlambat kinerja kueri untuk kueri, karena lebih banyak baris perlu dipindai dan didistribusikan kembali. Anda dapat mengurangi efek ini dengan menyedot debu dan pengarsipan data secara teratur, dan dengan menggunakan predikat untuk membatasi kumpulan data kueri.
-
Operasi bersamaan — Menjalankan beberapa operasi sekaligus dapat memengaruhi kinerja kueri. Setiap operasi mengambil satu atau lebih slot dalam antrian kueri yang tersedia dan menggunakan memori yang terkait dengan slot tersebut. Jika operasi lain sedang berjalan, slot antrian kueri yang cukup mungkin tidak tersedia. Dalam hal ini, kueri harus menunggu slot terbuka sebelum dapat mulai diproses. Untuk informasi selengkapnya tentang membuat dan mengonfigurasi antrian kueri, lihatManajemen beban kerja.
-
Struktur kueri — Bagaimana kueri Anda ditulis memengaruhi kinerjanya. Sebisa mungkin, tulis kueri untuk memproses dan mengembalikan data sesedikit mungkin sesuai kebutuhan Anda. Untuk informasi selengkapnya, lihat Praktik terbaik Amazon Redshift untuk merancang kueri.
-
Kompilasi kode — Amazon Redshift menghasilkan dan mengkompilasi kode yang dioptimalkan untuk setiap rencana eksekusi kueri. Kode yang dikompilasi berjalan lebih cepat karena menghilangkan overhead menggunakan penerjemah. Untuk meminimalkan latensi untuk kueri baru sambil mempertahankan manfaat kinerja kode yang dikompilasi, Amazon Redshift menggunakan teknik yang disebut komposisi. Komposisi menghasilkan pengaturan ringan dari logika yang sudah ada sebelumnya untuk memproses kueri baru segera, sementara secara bersamaan mengkompilasi kode khusus kueri yang sangat dioptimalkan di latar belakang. Ini menghapus kompilasi dari jalur kritis eksekusi kueri, sehingga kueri baru dimulai lebih cepat dan memberikan kinerja yang konsisten dengan proses berikutnya.
Amazon Redshift juga menggunakan layanan kompilasi tanpa server untuk menskalakan kompilasi kueri di luar sumber daya komputasi cluster Amazon Redshift. Segmen kode yang dikompilasi di-cache baik secara lokal di cluster dan dalam cache jarak jauh yang hampir tidak terbatas yang tetap ada setelah reboot cluster. Eksekusi berikutnya dari kueri yang sama berjalan lebih cepat karena mereka dapat melewati fase kompilasi. Dengan menggunakan layanan kompilasi yang dapat diskalakan, Amazon Redshift mengkompilasi kode secara paralel untuk memberikan kinerja cepat secara konsisten.