Penentuan ukuran, penskalaan, dan perilaku antrean gudang SQL

Artikel ini menjelaskan cara mengukur, menskalakan, dan mengelola antrean kueri untuk gudang Databricks SQL untuk mengoptimalkan performa dan biaya. Databricks merekomendasikan penggunaan gudang SQL tanpa server untuk sebagian besar beban kerja. Gudang SQL tanpa server memberikan performa dan efisiensi terbaik dengan mengelola sumber daya secara dinamis untuk kueri Anda.

Manajemen gudang SQL tanpa server

Gudang SQL tanpa server menggunakan Intelligent Workload Management (IWM) untuk mengelola beban kerja kueri secara otomatis. IWM adalah sekumpulan fitur bertenaga AI yang memproses kueri dengan cepat dan hemat biaya tanpa mengharuskan Anda mengelola infrastruktur.

Manajemen Beban Kerja Cerdas dan penskalakan otomatis

IWM menggunakan model pembelajaran mesin untuk mengelola sumber daya komputasi secara dinamis:

  • Ketika kueri baru tiba, IWM memprediksi persyaratan sumber dayanya dan memeriksa kapasitas yang tersedia.
    • Jika ada kapasitas, kueri akan segera dimulai.
    • Jika tidak, kueri ditempatkan dalam antrean.
  • IWM terus memantau antrean. Jika waktu tunggu meningkat, autoscaler dengan cepat menyediakan lebih banyak kluster untuk memproses kueri yang diantrekan.
  • Ketika permintaan turun, IWM menurunkan skala sumber daya untuk mengurangi biaya sambil menjaga kapasitas yang cukup untuk menangani beban puncak terbaru.

Pendekatan ini menyediakan:

  • Peningkatan skala cepat untuk mempertahankan latensi kueri yang rendah.
  • Throughput tinggi dicapai dengan memproses kueri segera setelah perangkat keras tersedia.
  • Penurunan skala cepat untuk menghemat biaya selama permintaan rendah.

Mengukur gudang SQL tanpa server

Ukuran kluster (misalnya, X-Small, Medium, Large) menentukan sumber daya komputasi yang tersedia untuk satu kluster. Autoscaler menambahkan atau menghapus kluster dengan ukuran tersebut sesuai kebutuhan.

Gunakan panduan berikut untuk membantu memilih ukuran yang tepat:

  • Mulailah dengan satu gudang yang lebih besar dan biarkan fitur tanpa server mengelola konkurensi dan performa. Biasanya lebih efisien untuk menurunkan ukuran jika perlu daripada memulai dari yang kecil dan meningkatkan skala.
  • Jika kueri meluap ke disk, tingkatkan ukuran kluster. Periksa kebocoran di profil pencarian.
  • Untuk beban kerja dengan banyak kueri bersamaan, konfigurasikan jumlah maksimum kluster yang memadai untuk menangani beban puncak. Pantau metrik Kueri Dalam Antrean Terbanyak di halaman monitoring warehouse.

Catatan

Untuk gudang SQL tanpa server, ukuran kluster mungkin, dalam beberapa kasus, menggunakan jenis instans yang berbeda dari yang tercantum dalam dokumentasi untuk gudang SQL pro dan klasik untuk ukuran kluster yang setara. Secara umum, rasio harga/performa ukuran kluster untuk gudang SQL tanpa server mirip dengan yang untuk gudang SQL pro dan klasik.

Memantau performa gudang

Anda dapat memantau dan mengukur gudang SQL apa pun dengan menggunakan alat-alat ini. Jumlah maksimum permintaan dalam antrean untuk semua jenis gudang adalah 1.000.

  • Halaman pemantauan: Pada tab pemantauan gudang data SQL, periksa Kueri yang Terantri pada Puncak. Nilai yang konsisten di atas 0 menunjukkan bahwa Anda mungkin memerlukan ukuran kluster yang lebih besar atau lebih banyak kluster.
  • Riwayat kueri: Tinjau performa kueri historis untuk mengidentifikasi hambatan.
  • Profil kueri: Periksa rencana eksekusi untuk metrik seperti Byte yang tumpah ke disk, yang menunjukkan bahwa ukuran penyimpanan mungkin terlalu kecil.

Gudang SQL klasik dan pro

Gudang klasik dan pro menggunakan model penskalaan manual tempat Anda mengonfigurasi jumlah kluster.

Ukuran dan provisi kluster

Penting

Ukuran kluster 5X-Large saat ini berada di Beta untuk gudang SQL pro dan tanpa server. Admin ruang kerja dapat mengontrol akses ke fitur ini dari halaman Pratinjau . Lihat Kelola Pratinjau Azure Databricks.

Saat membuat gudang klasik atau pro, pilih ukuran kluster dan atur jumlah kluster minimum dan maksimum. SKU ini memiliki batas tetap satu kluster per 10 kueri bersamaan.

Ukuran kluster Jenis tipe instans driver Jumlah pekerja
2X-Kecil Standard_E8ds_v4 1 x Standard_E8ds_v4
X-Kecil Standard_E8ds_v4 2 x Standard_E8ds_v4
Kecil Standard_E16ds_v4 4 x Standard_E8ds_v4
Menengah Standard_E32ds_v4 8 x Standard_E8ds_v4
Besar Standard_E32ds_v4 16 x Standard_E8ds_v4
X-Besar Standard_E64ds_v4 32 x Standard_E8ds_v4
2X ukuran besar Standard_E64ds_v4 64 x Standard_E8ds_v4
3X-Besar Standard_E64ds_v4 128 x Standard_E8ds_v4
4XL Standard_E64ds_v4 256 x Standard_E8ds_v4
Ukuran 5X-Besar Standard_E64ds_v4 512 x Standard_E8ds_v4

Ukuran instance dari semua pekerja adalah Standard_E8ds_v4.

Setiap driver dan pekerja memiliki satu disk terkelola LRS SSD Premium 256 GB yang terpasang. Disk yang terpasang dikenakan biaya per jam.

Kuota Azure vCPU yang diperlukan untuk gudang SQL klasik dan pro

Untuk memulai gudang SQL klasik atau pro, Anda harus memiliki kuota Azure vCPU yang memadai untuk instans Standard_E8ds_v4 di akun Azure Anda. Gunakan panduan berikut untuk menentukan kuota vCPU yang diperlukan:

Jika Anda hanya memiliki satu atau dua gudang SQL, verifikasi bahwa Anda memiliki 8 Azure vCPU yang tersedia untuk setiap inti dalam kluster. Ini memastikan bahwa Anda memiliki Azure vCPU yang cukup untuk mendukung penyediaan kembali gudang Anda, yang terjadi sekitar setiap 24 jam. Anda mungkin perlu meningkatkan faktor pengali jika gudang SQL Anda menggunakan penskalaan otomatis atau penyeimbangan beban multi-cluster.

  • Ketika jumlah gudang SQL meningkat, harap izinkan antara 4 dan 8 Azure vCPU untuk setiap inti dalam kluster. Databricks merekomendasikan untuk memulai dengan jumlah yang lebih besar dan pemantauan untuk stabilitas.
  • Azure vCPU yang digunakan oleh gudang SQL adalah tambahan dari vCPU Azure yang digunakan oleh kluster yang digunakan untuk Data Science & Engineering atau oleh beban kerja non-Databricks.

Untuk meminta tambahan kuota Azure vCPU, lihat Kuota standar: Meningkatkan batas menurut seri mesin virtual di dokumentasi Azure.

Catatan

Informasi dalam tabel ini dapat bervariasi berdasarkan ketersediaan produk atau wilayah dan jenis ruang kerja.

Logika antrean dan penyusunan skala otomatis

Untuk gudang klasik dan pro, penskalaan otomatis menambahkan kluster berdasarkan perkiraan waktu untuk memproses semua kueri yang berjalan dan diantrekan:

  • 2-6 menit waktu muat kueri: Tambahkan 1 kluster.
  • 6-12 menit: Tambahkan 2 kluster.
  • 12-22 menit: Tambahkan 3 kluster.
  • Lebih dari 22 menit: Tambahkan 3 kluster ditambah 1 lagi untuk setiap 15 menit beban tambahan.

Aturan tambahan:

  • Jika kueri menunggu dalam antrean selama 5 menit, gudang akan meningkatkan kapasitasnya.
  • Jika beban tetap rendah selama 15 menit berturut-turut, gudang menskalakan ke minimum yang diperlukan untuk menangani beban puncak dari periode tersebut.