Mengelola komputasi untuk kumpulan SQL khusus (sebelumnya SQL DW) di Azure Synapse Analytics

Pelajari cara mengelola sumber daya komputasi kumpulan SQL khusus (sebelumnya SQL DW) di Azure Synapse Analytics. Kurangi biaya dengan menjeda kumpulan SQL khusus, atau menskalakan kumpulan SQL khusus untuk memenuhi permintaan performa.

Apa itu manajemen komputasi?

Arsitektur kumpulan SQL khusus (sebelumnya SQL DW) 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. Arsitektur ini akan memisahkan tagihan untuk komputasi dan penyimpanan. Jika Anda tidak perlu menggunakan kumpulan SQL khusus Anda (sebelumnya SQL DW) untuk sementara waktu, Anda dapat menghemat biaya komputasi dengan menjeda komputasi.

Penskalaan komputasi

Anda dapat memperluas skala atau menskalakan kembali komputasi dengan menyesuaikan pengaturan unit gudang data untuk kumpulan SQL khusus Anda (sebelumnya SQL DW). Performa pemuatan dan kueri dapat meningkat secara linear saat Anda menambahkan lebih banyak unit gudang data.

Untuk langkah-langkah peluasan skala, lihat mulai cepat portal Microsoft Azure, PowerShell, atau T-SQL. Anda juga dapat melakukan operasi peluasan skala dengan REST API.

Untuk melakukan operasi penskalaan, kumpulan SQL khusus (sebelumnya SQL DW) pertama-tama menghapus semua kueri yang masuk kemudian menggulung balik transaksi untuk memastikan status yang konsisten. Penskalaan hanya terjadi setelah putar kembali transaksi selesai. Untuk operasi penskalaan, sistem akan melepaskan lapisan penyimpanan dari simpul komputasi, menambahkan simpul komputasi, lalu melampirkan ulang lapisan penyimpanan ke lapisan Azure Compute. Setiap kumpulan SQL khusus (sebelumnya SQL DW) 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, penurunan unit gudang data akan mengurangi jumlah simpul komputasi, sehingga mengurangi sumber daya komputasi untuk kueri.

Tabel berikut menunjukkan bagaimana jumlah distribusi per simpul Azure Compute berubah saat unit gudang data berubah. DW30000c menyediakan 60 simpul Azure Compute dan mencapai performa kueri yang jauh lebih tinggi daripada DW100c.

Unit gudang data # dari node komputasi # dari 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. Guna menemukan jumlah unit gudang data terbaik untuk kumpulan SQL khusus Anda (sebelumnya SQL DW), coba tingkatkan atau turunkan skala. Jalankan beberapa kueri dengan jumlah unit gudang data yang berbeda setelah Anda memuat data. Karena proses penskalaan berjalan cepat, Anda dapat mencoba berbagai tingkat performa dalam satu jam atau kurang.

Rekomendasi untuk menemukan jumlah unit gudang data terbaik:

  • Untuk kumpulan SQL khusus (sebelumnya SQL DW) dalam pengembangan, mulailah dengan memilih sejumlah kecil unit gudang data. Titik awal yang baik adalah DW400c atau DW200c.
  • Pantau performa aplikasi Anda, perhatikan jumlah unit gudang data yang dipilih dibandingkan dengan performa yang Anda amati.
  • Asumsikan skala linier, dan tentukan jumlah yang Anda perlukan untuk menambah atau mengurangi unit gudang data.
  • Terus lakukan penyesuaian hingga Anda mencapai tingkat performa optimal untuk persyaratan bisnis Anda.

Kapan melakukan peluasan skala

Peluasan skala unit gudang data akan memengaruhi aspek performa berikut:

  • Meningkatkan performa sistem untuk pernyataan CTAS, pemindaian, dan agregasi secara linear.
  • Meningkatkan jumlah pembaca dan penulis untuk pemuatan data.
  • Jumlah maksimum kueri bersamaan dan slot konkurensi.

Rekomendasi waktu yang tepat untuk melakukan peluasan skala unit gudang data:

  • 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 unit gudang data meningkatkan paralelisme. Jika pekerjaan dibagi secara merata antara simpul Azure Compute, paralelisme tambahan akan meningkatkan performa kueri. Jika peluasan skala tidak mengubah performa Anda, ada beberapa alasan mengapa 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 Azure Compute. Sumber daya komputasi dirilis dari akun Anda. Anda tidak dikenakan biaya untuk komputasi selama komputasi dijeda. Melanjutkan komputasi akan melampirkan penyimpanan kembali ke simpul Azure Compute dan melanjutkan biaya untuk Komputasi. Saat Anda menjeda kumpulan SQL khusus (sebelumnya SQL DW):

  • Sumber daya komputasi dan memori dikembalikan ke kumpulan sumber daya yang tersedia di pusat data
  • Unit gudang data tidak dikenakan biaya selama jeda.
  • Penyimpanan data tidak terpengaruh dan data Anda tetap utuh.
  • Semua operasi yang berjalan atau diantrikan akan dibatalkan.
  • Penghitung DMV diatur ulang.

Saat anda melanjutkan kumpulan SQL khusus (sebelumnya SQL DW):

  • Kumpulan SQL khusus (sebelumnya SQL DW) memperoleh sumber daya komputasi dan memori untuk pengaturan unit gudang data Anda.
  • Biaya komputasi untuk unit gudang data Anda akan dilanjutkan.
  • Data Anda menjadi tersedia.
  • Setelah kumpulan SQL khusus (sebelumnya SQL DW) online, Anda perlu menghidupkan ulang kueri beban kerja Anda.

Jika Anda selalu ingin kumpulan SQL khusus Anda (sebelumnya SQL DW) dapat diakses, pertimbangkan untuk menskalakannya ke ukuran terkecil daripada menjedanya.

Untuk langkah-langkah menjeda dan melanjutkan, lihat mulai cepat portal Microsoft 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 agar selesai lebih dulu sebelum Anda memulai operasi jeda atau skala.

Saat Anda menjeda atau menskalakan kumpulan SQL khusus Anda (sebelumnya SQL DW), kueri Anda dibatalkan di balik layar saat Anda memulai permintaan jeda atau skala. Operasi pembatalan kueri SELECT sederhana dapat dilakukan dengan cepat dan hampir tidak berdampak pada waktu yang diperlukan untuk menjeda atau menskalakan instans Anda. Namun, untuk kueri transaksional 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 lama, atau sangat lama, dibandingkan perubahan asli yang diterapkan kueri. Misalnya, jika Anda membatalkan kueri yang menghapus baris dan telah berjalan selama satu jam, sistem bisa memakan waktu satu jam untuk menyisipkan kembali baris yang dihapus. Jika Anda menjalankan operasi jeda atau penskalaan saat transaksi sedang diproses, jeda atau penskalaan Anda mungkin memerlukan waktu lama karena jeda dan penskalaan harus menunggu operasi putar balik selesai sebelum dapat dilanjutkan.

Lihat juga Memahami transaksi dan Mengoptimalkan transaksi.

Mengotomatiskan manajemen komputasi

Untuk mengotomatisasi operasi manajemen komputasi, lihat Mengelola komputasi dengan fungsi Azure.

Setiap operasi peluasan skala, jeda, dan lanjutkan dapat memakan waktu beberapa menit untuk selesai. Jika Anda menskalakan, menjeda, dan melanjutkan secara otomatis, sebaiknya terapkan logika untuk memastikan operasi tertentu telah selesai sebelum melanjutkan tindakan lain. Dengan memeriksa status kumpulan SQL khusus (sebelumnya SQL DW) melalui berbagai titik akhir, Anda dapat menerapkan otomatisasi operasi tersebut dengan benar.

Untuk memeriksa status kumpulan SQL khusus (sebelumnya SQL DW), lihat mulai cepat PowerShell atau T-SQL. Anda juga dapat memeriksa status kumpulan SQL khusus (sebelumnya SQL DW) dengan REST API.

Izin

Penskalaan kumpulan SQL khusus (sebelumnya SQL DW) memerlukan izin yang dijelaskan dalam ALTER DATABASE. Menjeda dan melanjutkan operasi memerlukan izin Kontributor SQL DB, khususnya Microsoft.Sql/servers/databases/action.

Langkah berikutnya

Lihat panduan cara mengelola komputasi Aspek lain dalam mengelola sumber daya komputasi adalah mengalokasikan sumber daya komputasi yang berbeda untuk setiap kueri. Untuk mengetahui informasi selengkapnya, lihat Kelas sumber daya untuk manajemen beban kerja.