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.
Menunjuk gaya distribusi
Pertimbangan dan rekomendasi untuk menunjuk gaya distribusi di bagian ini menggunakan skema bintang sebagai contoh. Desain database Anda mungkin didasarkan pada skema bintang, beberapa varian skema bintang, atau skema yang sama sekali berbeda. Amazon Redshift dirancang untuk bekerja secara efektif dengan desain skema apa pun yang Anda pilih. Prinsip-prinsip dalam bagian ini dapat diterapkan pada skema desain apa pun.
-
Tentukan kunci utama dan kunci asing untuk semua tabel Anda.
Amazon Redshift tidak menerapkan batasan kunci utama dan kunci asing, tetapi pengoptimal kueri menggunakannya saat menghasilkan rencana kueri. Jika Anda menetapkan kunci utama dan kunci asing, aplikasi Anda harus mempertahankan validitas kunci.
-
Bagikan tabel fakta dan tabel dimensi terbesarnya pada kolom umum mereka.
Pilih dimensi terbesar berdasarkan ukuran dataset yang berpartisipasi dalam gabungan yang paling umum, bukan hanya ukuran tabel. Jika tabel biasanya difilter, menggunakan klausa WHERE, hanya sebagian dari barisnya yang berpartisipasi dalam gabungan. Tabel seperti itu memiliki dampak yang lebih kecil pada redistribusi daripada tabel yang lebih kecil yang menyumbang lebih banyak data. Tentukan kunci utama tabel dimensi dan kunci asing yang sesuai tabel fakta sebagai DISTKEY. Jika beberapa tabel menggunakan kunci distribusi yang sama, mereka juga dikolokasikan dengan tabel fakta. Tabel fakta Anda hanya dapat memiliki satu kunci distribusi. Setiap tabel yang bergabung pada kunci lain tidak dikolokasikan dengan tabel fakta.
-
Tentukan kunci distribusi untuk tabel dimensi lainnya.
Bagikan tabel pada kunci utama atau kunci asing mereka, tergantung pada bagaimana mereka paling sering bergabung dengan tabel lain.
-
Mengevaluasi apakah akan mengubah beberapa tabel dimensi untuk menggunakan distribusi SEMUA.
Jika tabel dimensi tidak dapat dikolokasikan dengan tabel fakta atau tabel penggabungan penting lainnya, Anda dapat meningkatkan kinerja kueri secara signifikan dengan mendistribusikan seluruh tabel ke semua node. Menggunakan distribusi ALL melipatgandakan kebutuhan ruang penyimpanan dan meningkatkan waktu pemuatan dan operasi pemeliharaan, jadi Anda harus mempertimbangkan semua faktor sebelum memilih distribusi SEMUA. Bagian berikut menjelaskan cara mengidentifikasi kandidat untuk distribusi ALL dengan mengevaluasi rencana EXPLAIN.
-
Gunakan distribusi AUTO untuk tabel yang tersisa.
Jika tabel sebagian besar didenormalisasi dan tidak berpartisipasi dalam gabungan, atau jika Anda tidak memiliki pilihan yang jelas untuk gaya distribusi lain, gunakan distribusi AUTO.
Untuk membiarkan Amazon Redshift memilih gaya distribusi yang sesuai, jangan secara eksplisit menentukan gaya distribusi.