Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Artikel ini menjelaskan cara mengelola sumber daya komputasi untuk kumpulan SQL khusus (sebelumnya SQL DW) di Azure Synapse Analytics. Anda dapat menurunkan biaya dengan menjeda kumpulan SQL khusus, atau menskalakan kumpulan SQL khusus untuk memenuhi tuntutan performa.
Apa itu manajemen komputasi?
Arsitektur kumpulan SQL khusus memisahkan penyimpanan dan komputasi, yang memungkinkan masing-masing untuk diskalakan secara independen. Hasilnya, Anda dapat menskalakan komputasi untuk memenuhi tuntutan performa yang independen dari penyimpanan data. Anda juga dapat menjeda dan melanjutkan sumber daya komputasi.
Konsekuensi alami dari arsitektur ini adalah bahwa harga untuk komputasi dan penyimpanan terpisah. Jika Anda tidak perlu menggunakan kumpulan SQL khusus Anda untuk sementara waktu, Anda dapat menghemat biaya komputasi dengan menjeda komputasi.
Penskalaan komputasi
Anda dapat meluaskan skala atau menskalakan kembali komputasi dengan menyesuaikan pengaturan unit gudang data (DWUs) untuk kumpulan SQL khusus Anda. Performa pemuatan dan kueri dapat meningkat secara linier saat Anda menambahkan lebih banyak DWU.
Untuk langkah-langkah peluasan skala, lihat panduan awal untuk portal Azure, PowerShell, atau T-SQL. Anda juga dapat melakukan operasi peluasan skala menggunakan REST API.
Untuk melakukan operasi skala, kumpulan SQL khusus terlebih dahulu membunuh semua kueri masuk dan kemudian mengembalikan transaksi untuk memastikan status yang konsisten. Penskalaan hanya terjadi setelah pengembalian transaksi selesai dilakukan. Untuk operasi skala, sistem melepaskan lapisan penyimpanan dari simpul komputasi, menambahkan simpul komputasi, lalu memasang kembali lapisan penyimpanan ke lapisan komputasi.
Setiap kumpulan SQL khusus disimpan sebagai 60 distribusi, yang didistribusikan secara merata ke simpul komputasi. Menambahkan lebih banyak simpul komputasi akan menambah lebih banyak daya komputasi. Ketika jumlah simpul komputasi meningkat, jumlah distribusi per simpul komputasi akan berkurang, sehingga memberikan lebih banyak daya komputasi untuk kueri Anda. Demikian juga, mengurangi DWU mengurangi jumlah simpul komputasi, yang mengurangi sumber daya pemrosesan untuk kueri.
Tabel berikut ini memperlihatkan bagaimana jumlah distribusi per simpul komputasi berubah saat DWU berubah. DW30000c menyediakan 60 simpul komputasi dan mencapai performa kueri yang jauh lebih tinggi daripada DW100c.
| Unit gudang data | Jumlah node komputasi | Jumlah distribusi per node |
|---|---|---|
| DW100c | 1 | 60 |
| DW200c | 1 | 60 |
| DW300c | 1 | 60 |
| DW400c | 1 | 60 |
| DW500c | 1 | 60 |
| DW1000c | 2 | 30 |
| DW1500c | 3 | 20 |
| DW2000c | 4 | 15 |
| DW2500c | 5 | 12 |
| DW3000c | 6 | 10 |
| DW5000c | 10 | 6 |
| DW6000c | 12 | 5 |
| DW7500c | 15 | 4 |
| DW10000c | 20 | 3 |
| DW15000c | 30 | 2 |
| DW30000c | 60 | 1 |
Menemukan ukuran unit gudang data yang tepat
Untuk melihat keuntungan performa dari peluasan skala, khususnya untuk unit gudang data yang lebih besar, sebaiknya gunakan minimal 1 TB himpunan data. Untuk menemukan jumlah DWU terbaik untuk kumpulan SQL khusus Anda, coba tingkatkan dan turunkan skala. Jalankan beberapa kueri dengan jumlah DWU yang berbeda setelah memuat data Anda. Karena proses penskalaan berjalan cepat, Anda dapat mencoba berbagai tingkat performa dalam satu jam atau kurang.
Rekomendasi untuk menemukan jumlah DWU terbaik:
- Untuk kumpulan SQL khusus dalam pengembangan, mulailah dengan memilih sejumlah kecil DWU. Titik awal yang baik adalah DW400c atau DW200c.
- Pantau performa aplikasi Anda, mengamati jumlah DWU yang dipilih dibandingkan dengan performa yang Anda amati.
- Asumsikan skala linier, dan tentukan berapa banyak yang Anda butuhkan untuk meningkatkan atau mengurangi DWU.
- Terus lakukan penyesuaian hingga Anda mencapai tingkat performa optimal untuk persyaratan bisnis Anda.
Kapan melakukan peluasan skala
Penskalaan DWU berdampak pada aspek performa ini:
- Secara linier meningkatkan performa sistem untuk pemindaian, agregasi, dan pernyataan CTAS
- Meningkatkan jumlah pembaca dan penulis untuk memuat data
- Jumlah maksimum kueri bersamaan dan slot konkurensi
Rekomendasi kapan harus menskalakan DWU:
- Sebelum Anda melakukan operasi pemuatan atau transformasi data yang berat, perluas skala agar data tersedia lebih cepat.
- Selama jam kerja puncak, perluas skala untuk mengakomodasi jumlah kueri bersamaan yang lebih besar.
Bagaimana jika peluasan skala tidak meningkatkan performa?
Menambahkan DWU meningkatkan paralelisme. Jika pekerjaan dibagi secara merata antara simpul komputasi, paralelisme tambahan meningkatkan performa kueri. Jika peluasan skala tidak mengubah performa Anda, ada beberapa alasan mengapa hal ini mungkin terjadi. Data Anda mungkin menunjukkan kemiringan di seluruh distribusi, atau kueri mungkin menimbulkan pergerakan data yang besar. Untuk menyelidiki masalah performa kueri, lihat Pemecahan masalah performa.
Menjeda dan melanjutkan komputasi
Menjeda komputasi menyebabkan lapisan penyimpanan terlepas dari simpul komputasi. Sumber daya komputasi dirilis dari akun Anda. Anda tidak dikenakan biaya untuk komputasi saat komputasi dijeda. Melanjutkan komputasi memasang ulang penyimpanan ke simpul komputasi, dan melanjutkan biaya untuk komputasi.
Saat Anda menjeda kumpulan SQL khusus:
- Sumber daya komputasi dan memori dikembalikan ke kumpulan sumber daya yang tersedia di pusat data.
- Biaya unit gudang data adalah nol selama jeda.
- Penyimpanan data tidak terpengaruh dan data Anda tetap utuh.
- Semua operasi yang berjalan atau diantrekan dibatalkan.
- Penghitung DMV diatur ulang.
Saat Anda melanjutkan kumpulan SQL khusus:
- Kumpulan SQL khusus memperoleh sumber daya komputasi dan memori untuk pengaturan DWU Anda.
- Hitung biaya untuk melanjutkan operasi DWUs Anda.
- Data Anda menjadi tersedia.
- Setelah kumpulan SQL khusus online, Anda perlu memulai ulang kueri beban kerja Anda.
Jika Anda selalu ingin kumpulan SQL khusus Anda dapat diakses, pertimbangkan untuk menurunkan skalanya ke ukuran terkecil daripada menjeda.
Untuk langkah-langkah jeda dan lanjutkan, lihat mulai cepat untuk portal Azure atau PowerShell. Anda juga dapat menggunakan REST API jeda atau API REST lanjutkan.
Menghabiskan transaksi sebelum melakukan jeda atau penskalaan
Sebaiknya izinkan transaksi yang ada untuk selesai terlebih dahulu sebelum Anda memulai operasi jeda atau skala.
Saat Anda menjeda atau menyesuaikan kumpulan SQL khusus, kueri Anda dibatalkan di balik layar ketika Anda memulai permintaan jeda atau penyesuaian. Membatalkan kueri SELECT sederhana adalah operasi cepat dan hampir tidak berpengaruh pada waktu yang diperlukan untuk menjeda atau menskalakan instans Anda. Namun, kueri transaksi, yang memodifikasi data atau struktur data Anda, mungkin tidak dapat berhenti dengan cepat. Kueri transaksional, menurut definisi, harus diselesaikan secara keseluruhan atau digulung balik perubahannya.
Menggulung balik pekerjaan yang diselesaikan oleh kueri transaksional dapat memakan waktu selama, atau bahkan lebih lama daripada, perubahan asli yang diterapkan oleh kueri. Misalnya, jika Anda membatalkan kueri yang menghapus baris dan telah berjalan selama satu jam, dibutuhkan waktu satu jam bagi sistem untuk menyisipkan kembali baris yang dihapus. Jika Anda menjalankan jeda atau penskalaan saat transaksi sedang berlangsung, jeda atau penskalaan Anda mungkin akan memakan waktu lama karena jeda dan penskalaan harus menunggu pemulihan transaksi selesai sebelum dapat dilanjutkan.
Untuk informasi selengkapnya, lihat Menggunakan transaksi dan Mengoptimalkan transaksi.
Mengotomatiskan manajemen komputasi
Untuk mengotomatiskan operasi manajemen komputasi, lihat Menggunakan Azure Functions untuk mengelola sumber daya komputasi untuk kumpulan SQL khusus Anda.
Setiap operasi peluasan skala, jeda, dan lanjutkan dapat memakan waktu beberapa menit untuk selesai. Jika Anda menskalakan, menjeda, atau melanjutkan secara otomatis, sebaiknya terapkan logika untuk memastikan bahwa operasi tertentu selesai sebelum melanjutkan tindakan lain. Memeriksa status kumpulan SQL khusus melalui berbagai titik akhir memungkinkan Anda menerapkan otomatisasi operasi tersebut dengan benar.
Untuk memeriksa status kolam SQL khusus, lihat panduan memulai cepat untuk PowerShell atau T-SQL. Anda juga dapat memeriksa status kumpulan SQL khusus dengan REST API.
Izin
Penskalaan kumpulan SQL khusus memerlukan izin yang dijelaskan dalam ALTER DATABASE. Jeda dan lanjutkan memerlukan peran SQL DB Kontributor, yaitu khususnya Microsoft.Sql/servers/databases/action.