Kumpulan SQL kustom

Berlaku untuk:✅ Titik akhir analitik SQL dan Gudang di Microsoft Fabric

Penting

Fitur ini sedang dalam tahap pratinjau.

Kumpulan SQL kustom memungkinkan administrator untuk memiliki kontrol lebih besar atas bagaimana sumber daya komputasi backend dialokasikan ke gudang dan titik akhir analitik SQL mereka di ruang kerja.

Diagram mesin SQL dengan kumpulan SQL kustom.

Fabric Data Warehouse menyediakan manajemen beban kerja otonom yang memisahkan sumber daya komputasi ke dalam "kumpulan SQL" internal yang menskalakan secara independen berdasarkan permintaan.

Secara bawaan, batas isolasi adalah ingesti (bukan tipe perintahSELECT) dan pemrosesan kueri (SELECT perintah). Dengan kumpulan SQL kustom, administrator dapat:

  • Ubah jumlah batas isolasi (tambahkan lebih banyak kumpulan SQL kustom).
  • Buat klasifikasi beban kerja kustom khusus nama aplikasi.
  • Mengontrol alokasi sumber daya dari setiap kumpulan, melalui persentase sumber daya maks.

Kasus penggunaan kumpulan SQL kustom

Kumpulan SQL khusus memiliki dua kasus penggunaan utama: melindungi beban kerja dari persaingan sumber daya, dan memproteksi dari pembatasan kapasitas oleh Fabric akibat konsumsi tinggi.

Bersaing beban kerja dengan kumpulan beban kerja otonom

Skenario ini berlaku ketika beban kerja yang berbeda bersaing untuk sumber daya, menyebabkan beban kerja penting melewatkan tujuan performa.

Contoh skenario

  • Beban kerja pelaporan perusahaan besar tidak berjalan dengan baik ketika kueri pengguna sementara dijalankan melalui editor kueri SQL di portal Fabric.

Pendekatan yang direkomendasikan

  • Pisahkan beban kerja ini di dua kumpulan SQL kustom terpisah.
  • Alokasikan persentase sumber daya yang lebih besar ke kumpulan yang melayani aplikasi pelaporan perusahaan, memastikan lebih banyak sumber daya tersedia untuk aplikasi penting bisnis.

Pembatasan kapasitas karena konsumsi tinggi

Skenario ini berlaku ketika konsumsi kapasitas Fabric yang tinggi menyebabkan throttling yang memengaruhi performa gudang secara keseluruhan.

Contoh skenario

Pendekatan yang direkomendasikan

  • Kurangi persentase sumber daya total yang dialokasikan ke gudang yang terpengaruh.
  • Pantau apakah perubahan ini mengurangi pembatasan tingkat kueri dan peningkatan performa keseluruhan.

Perbedaan antara manajemen beban kerja otonom dan kumpulan SQL kustom

Topik Manajemen beban kerja otonom Kumpulan SQL kustom
Konfigurasi Tidak ada (di luar kotak) - Antarmuka pengguna web
-Api
Permissions N/A Administrator ruang kerja
Ruang lingkup Ruang kerja - mencakup perangkat akhir analitik gudang data dan SQL Ruang kerja - mencakup perangkat akhir analitik gudang data dan SQL
Metode klasifikasi Jenis pernyataan (SELECT atau lainnya) - Nama aplikasi
- Ekspresi reguler nama aplikasi
Satuan Ukuran N/A Persentase dari total simpul backend
Kumpulan SQL SELECT atau lainnya Alokasi yang ditentukan pengguna
Kapasitas dapat meledak-ledak Dikelola oleh Fabric (hingga 12x per kumpulan SQL, total 24x) Pengguna ditentukan berdasarkan persentase node backend yang dialokasikan. Jumlah total sumber daya masih 24x.

Kapasitas dapat meledak-ledak

Kumpulan SQL kustom memungkinkan administrator untuk mengonfigurasi persentase sumber daya maksimum sebagai jumlah sumber daya komputasi yang dapat dialokasikan. Faktor peningkatan kapasitas dari ukuran SKU kapasitas akan diterapkan dan digunakan berdasarkan persentase yang diberikan untuk setiap pool.

Pengklasifikasi

Pengklasifikasi adalah atribut permintaan SQL yang menginformasikan sistem cara merutekan ke kumpulan SQL yang sesuai.

Fabric Data Warehouse menyediakan tiga cara untuk mengklasifikasikan permintaan:

Jenis penggolonal Deskripsi Konfigurasi
Jenis pernyataan Mengklasifikasikan permintaan ke dalam SELECT (kueri) atau non-SELECT (semua pernyataan DML, DDL) Hanya manajemen beban kerja otonom
Nama aplikasi - Aplikasi (atau nama program) yang digunakan dalam string koneksi saat menyambungkan ke Fabric Warehouse atau SQL Analytics Endpoint.
- Mendukung beberapa nama aplikasi per kumpulan SQL kustom
- 128 karakter atau kurang
- Saling eksklusif antara kumpulan SQL kustom
Hanya kumpulan SQL kustom
Regex nama aplikasi - Ekspresi reguler digunakan untuk mencocokkan nilai untuk nama aplikasi.
- Hanya nilai pertama dalam daftar yang dievaluasi untuk ekspresi reguler
Hanya kumpulan SQL kustom

Pedoman:

  • Hanya satu jenis pengklasifikasi yang dapat digunakan per ruang kerja. Semua kumpulan SQL kustom dalam satu ruang kerja harus menggunakan pengklasifikasi yang sama.
  • Dalam kasus pengklasifikasi ekspresi reguler nama aplikasi, jika permintaan memenuhi dua klasifikasi atau lebih, pemilihan kumpulan SQL kustom acak dan tidak ada kriteria prioritas.

Permissions

  • Anggota peran Administrator ruang kerja dapat mengaktifkan atau menonaktifkan pool SQL kustom untuk ruang kerja.
  • Anggota peran ruang kerja Administrator dapat memperbarui konfigurasi kumpulan SQL kustom.

Mengonfigurasi kumpulan SQL kustom

Anda dapat mengonfigurasi kumpulan SQL kustom di Fabric Data Warehouse di portal Fabric atau melalui panggilan API.

Monitor

Anda dapat melihat nama aplikasi dan kumpulan SQL yang direkam untuk kueri di program_name bidang sql_pool_name dan queryinsights.exec_requests_history tampilan sistem.

Anda dapat menggunakan program_name sebagai nama aplikasi di pengklasifikasi, atau dalam pola ekspresi reguler untuk pengklasifikasi nama aplikasi.

Misalnya, untuk menemukan semua program_name dan sql_pool_name yang sesuai dengan program_name dalam riwayat terbaru:

SELECT DISTINCT 
         program_name
        ,sql_pool_name
FROM queryinsights.exec_requests_history;

Anda dapat mengidentifikasi kumpulan SQL mana yang berada di bawah tekanan dengan mengkueri queryinsights.sql_pool_insights tampilan.

Misalnya, temukan periode waktu ketika kumpulan berada di bawah tekanan selama seminggu terakhir.

SELECT [timestamp]
        ,sql_pool_name
        ,max_resource_percentage
        ,is_pool_under_pressure
FROM queryinsights.sql_pool_insights
WHERE is_pool_under_pressure = 1
AND [timestamp] > DATEADD(WEEK, -1, GETDATE())
ORDER BY [timestamp] DESC, sql_pool_name;

Untuk mengagregasi program_name nilai menurut beberapa metrik biaya kueri, Anda bisa menggunakan kueri berikut:

SELECT 
    program_name,
    sql_pool_name,
    [CPU] = SUM(allocated_cpu_time_ms), 
    [Disk] = SUM(data_scanned_disk_mb), 
    [Memory] = SUM(data_scanned_memory_mb), 
    [Remote storage] = SUM(data_scanned_remote_storage_mb)
FROM queryinsights.exec_requests_history
GROUP BY program_name, sql_pool_name
ORDER BY [CPU] desc, [Disk] desc, [Memory] desc, [Remote storage] desc;

Keterbatasan

  • Ruang kerja harus berisi satu atau beberapa gudang atau titik akhir analitik SQL sebelum menjalankan API.
  • Anda dapat membuat hingga delapan kumpulan SQL kustom per ruang kerja.
  • Saat kumpulan SQL kustom dihapus saat kueri berjalan pada kumpulan, kueri akan gagal dengan pesan Request to perform an external distributed computation has failed with error "Query canceled by user." Mengubah ukuran kumpulan SQL kustom tidak menyebabkan kegagalan kueri.

Perubahan ukuran kapasitas fabric

Setiap ruang kerja memiliki kapasitas dengan unit kapasitas (CUs) terkait, berdasarkan SKU yang Anda beli. Kapasitas kumpulan SQL kustom yang dapat meledak tergantung pada ukuran SKU. Jadi, ketika Anda mengubah kapasitas, Anda memengaruhi jumlah maksimum sumber daya untuk setiap kumpulan SQL kustom.

Saat Anda mengubah ukuran SKU kapasitas atau menetapkan kapasitas yang berbeda ke ruang kerja, jika kumpulan SQL kustom diaktifkan, mereka secara otomatis menskalakan ke ukuran SKU baru.

Jika downscaling memaksa kumpulan SQL ke nol simpul yang ditetapkan, kesalahan berikut ditampilkan pada runtime: "Kumpulan SQL yang ditetapkan untuk kueri ini tidak memiliki sumber daya dan harus dikonfigurasi ulang." Admin harus mengonfigurasi ulang kumpulan SQL kustom untuk menghapus kesalahan ini.

Langkah selanjutnya