Bagikan melalui


Unit Gudang Data (DWUs) untuk kumpulan SQL khusus (sebelumnya SQL DW) di Azure Synapse Analytics

Dokumen ini berisi rekomendasi tentang memilih jumlah unit gudang data (DWUs) yang ideal untuk kumpulan SQL khusus (sebelumnya SQL DW) untuk mengoptimalkan harga dan performa, dan cara mengubah jumlah unit.

Apa itu Unit Gudang Data

Kumpulan SQL khusus (sebelumnya SQL DW) mewakili kumpulan sumber daya analitik yang sedang disediakan. Sumber daya analitik didefinisikan sebagai kombinasi CPU, memori, dan IO.

Ketiga sumber daya ini dibundel ke dalam unit skala komputasi yang disebut Unit Gudang Data (DWUs). DWU mewakili ukuran sumber daya dan performa komputasi yang abstrak dan dinormalisasi.

Perubahan pada tingkat layanan Anda mengubah jumlah DWU yang tersedia untuk sistem, yang pada gilirannya menyesuaikan performa, dan biaya, sistem Anda.

Untuk performa yang lebih tinggi, Anda dapat meningkatkan jumlah unit gudang data. Kurangi kinerja dengan cara mengurangi unit pemrosesan gudang data. Biaya penyimpanan dan komputasi ditagih secara terpisah, sehingga mengubah unit gudang data tidak memengaruhi biaya penyimpanan.

Performa untuk unit gudang data didasarkan pada metrik beban kerja gudang data ini:

  • Seberapa cepat kueri kumpulan SQL khusus standar (sebelumnya SQL DW) dapat memindai sejumlah besar baris lalu melakukan agregasi kompleks. Operasi ini intensif terhadap I/O dan CPU.
  • Seberapa cepat kumpulan SQL khusus (sebelumnya SQL DW) dapat menyerap data dari Azure Storage Blobs atau Azure Data Lake. Operasi ini sangat membebani jaringan dan CPU.
  • Seberapa cepat perintah T-SQL CREATE TABLE AS SELECT dapat menyalin tabel. Operasi ini melibatkan pembacaan data dari penyimpanan, mendistribusikannya ke seluruh simpul perangkat, dan kemudian menulis kembali ke penyimpanan. Operasi ini bersifat intensif pada CPU, IO, dan jaringan.

Meningkatkan DWU:

  • Secara linier mengubah performa sistem untuk pemindaian, agregasi, dan perintah CTAS.
  • Meningkatkan jumlah pembaca dan penulis untuk operasi pemuatan PolyBase
  • Meningkatkan jumlah maksimum kueri bersamaan dan slot konkurensi

Tujuan Tingkat Layanan

Tujuan Tingkat Layanan (SLO) adalah pengaturan skalabilitas yang menentukan tingkat biaya dan performa kumpulan SQL khusus Anda (sebelumnya SQL DW). Tingkat layanan untuk kumpulan SQL khusus Gen2 (sebelumnya SQL DW) diukur dalam unit gudang data (DWU), misalnya DW2000c.

Nota

Kumpulan SQL khusus (sebelumnya SQL DW) Gen2 baru-baru ini menambahkan kemampuan skala tambahan untuk mendukung tingkat komputasi serendah DW100c. Gudang data yang ada saat ini di Gen1 yang memerlukan tingkat komputasi yang lebih rendah sekarang dapat ditingkatkan ke Gen2 di wilayah yang saat ini tersedia tanpa biaya tambahan. Jika wilayah Anda belum didukung, Anda masih dapat meningkatkan ke wilayah yang didukung. Untuk mengetahui informasi selengkapnya, lihat Peningkatan ke Gen2.

Di T-SQL, pengaturan SERVICE_OBJECTIVE menentukan tingkat layanan dan tingkat performa untuk kumpulan SQL khusus Anda (sebelumnya SQL DW).

CREATE DATABASE mySQLDW
(Edition = 'Datawarehouse'
 ,SERVICE_OBJECTIVE = 'DW1000c'
)
;

Tingkat Performa dan Unit Gudang Data

Setiap tingkat performa menggunakan unit pengukuran yang sedikit berbeda untuk unit gudang data mereka. Perbedaan ini tercermin pada faktur saat unit skala langsung diterjemahkan ke penagihan.

  • Gudang data Gen1 diukur dalam Unit Gudang Data (DWUs).
  • Gudang data Gen2 diukur dalam Unit Gudang Data komputasi (cDWUs).

Baik DWU maupun cDWUs mendukung penskalaan komputasi ke atas atau ke bawah, dan menjeda komputasi saat Anda tidak perlu menggunakan gudang data. Semua operasi ini sesuai permintaan. Gen2 menggunakan cache berbasis disk lokal pada simpul komputasi untuk meningkatkan performa. Ketika Anda menskalakan atau menjeda sistem, cache tidak valid sehingga periode pemanasan cache diperlukan sebelum performa optimal tercapai.

Batas kapasitas

Setiap server SQL (misalnya, myserver.database.windows.net) memiliki kuota Database Transaction Unit (DTU) yang memungkinkan sejumlah unit gudang data tertentu. Untuk informasi selengkapnya, lihat batas kapasitas manajemen beban kerja .

Berapa banyak unit gudang data yang saya butuhkan

Jumlah unit gudang data yang ideal sangat bergantung pada beban kerja Anda dan jumlah data yang telah Anda muat ke dalam sistem.

Langkah-langkah untuk menemukan DWU terbaik untuk beban kerja Anda:

  1. Mulailah dengan memilih DWU yang lebih kecil.

  2. Pantau performa aplikasi saat Anda menguji beban data ke dalam sistem, mengamati jumlah DWU yang dipilih dibandingkan dengan performa yang Anda amati. Verifikasi dengan memantau pemanfaatan sumber daya.

  3. Identifikasi persyaratan tambahan untuk periode aktivitas puncak secara berkala. Beban kerja yang menunjukkan fluktuasi yang signifikan dalam aktivitas mungkin perlu sering disesuaikan.

Kumpulan SQL khusus (sebelumnya SQL DW) adalah sistem skala keluar yang dapat menyediakan daya komputasi dalam jumlah besar dan menjalankan kueri pada jumlah data yang sangat besar.

Untuk melihat kemampuan sebenarnya untuk penskalaan, terutama pada DWUs yang lebih besar, kami sarankan untuk menskalakan himpunan data saat Anda menskalakan untuk memastikan bahwa Anda memiliki cukup data untuk memberi umpan CPU. Untuk pengujian skala, sebaiknya gunakan setidaknya 1 TB.

Nota

Performa kueri hanya meningkat dengan lebih banyak paralelisasi jika pekerjaan dapat dibagi antara simpul komputasi. Jika Anda menemukan bahwa penskalaan tidak mengubah performa, Anda mungkin perlu menyetel desain tabel dan/atau kueri Anda. Untuk panduan penyetelan kueri, lihat Mengelola kueri pengguna.

Hak akses

Mengubah unit gudang data memerlukan izin yang dijelaskan dalam ALTER DATABASE.

Peran bawaan Azure seperti Kontributor SQL DB dan Kontributor SQL Server dapat mengubah pengaturan DWU.

Lihat pengaturan DWU saat ini

Untuk melihat pengaturan DWU saat ini:

  1. Buka SQL Server Object Explorer di Visual Studio.
  2. Sambungkan ke database master yang terkait dengan server SQL logis.
  3. Pilih dari tampilan manajemen dinamis sys.database_service_objectives. Berikut adalah contohnya:
SELECT  db.name [Database]
,        ds.edition [Edition]
,        ds.service_objective [Service Objective]
FROM    sys.database_service_objectives   AS ds
JOIN    sys.databases                     AS db ON ds.database_id = db.database_id
;

Mengganti unit gudang data

Portal Microsoft Azure

Untuk mengubah DWU:

  1. Buka portal Microsoft Azure, buka database Anda, dan klik Skalakan.

  2. Di bawah Skala , pindahkan penggeser ke kiri atau kanan untuk mengubah pengaturan DWU.

  3. Kliklah Simpan. Pesan konfirmasi muncul. Klik ya untuk mengonfirmasi atau tidak untuk membatalkan.

PowerShell

Nota

Kami menyarankan agar Anda menggunakan modul Azure Az PowerShell untuk berinteraksi dengan Azure. Untuk memulai, lihat Menginstal Azure PowerShell. Untuk mempelajari cara bermigrasi ke modul Az PowerShell, lihat Memigrasikan Azure PowerShell dari AzureRM ke Az.

Untuk mengubah DWU, gunakan cmdlet PowerShell Set-AzSqlDatabase. Contoh berikut mengatur tujuan tingkat layanan ke DW1000 untuk database MySQLDW yang dihosting di server MyServer.

Set-AzSqlDatabase -DatabaseName "MySQLDW" -ServerName "MyServer" -RequestedServiceObjectiveName "DW1000c"

Untuk informasi selengkapnya, lihat cmdlet PowerShell untuk kumpulan SQL khusus (sebelumnya SQL DW)

T-SQL

Dengan T-SQL Anda dapat melihat DWUsettings saat ini, mengubah pengaturan, dan memeriksa kemajuan.

Untuk mengubah DWU, ikuti langkah-langkah berikut:

  1. Sambungkan ke database master yang terkait dengan server Anda.
  2. Gunakan perintah TSQL ALTER DATABASE. Contoh berikut mengatur tujuan tingkat layanan ke DW1000c untuk database MySQLDW.
ALTER DATABASE MySQLDW
MODIFY (SERVICE_OBJECTIVE = 'DW1000c')
;

REST API

Untuk mengubah DWU, gunakan Buat atau Perbarui Database REST API. Contoh berikut mengatur tujuan tingkat layanan ke DW1000c untuk database MySQLDW, yang dihosting di server MyServer. Server berada dalam grup sumber daya Azure bernama ResourceGroup1.

PUT https://management.azure.com/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/Microsoft.Sql/servers/{server-name}/databases/{database-name}?api-version=2014-04-01-preview HTTP/1.1
Content-Type: application/json; charset=UTF-8

{
    "properties": {
        "requestedServiceObjectiveName": "DW1000c"
    }
}

Untuk contoh REST API lainnya, lihat REST API untuk kumpulan SQL khusus (sebelumnya SQL DW).

Periksa status perubahan DWU

Perubahan DWU mungkin perlu waktu beberapa menit untuk diselesaikan. Jika Anda menskalakan secara otomatis, pertimbangkan untuk menerapkan logika untuk memastikan bahwa operasi tertentu telah selesai sebelum melanjutkan dengan tindakan lain.

Memeriksa status database melalui berbagai titik akhir memungkinkan Anda menerapkan otomatisasi dengan benar. Portal menyediakan pemberitahuan setelah penyelesaian operasi dan status database saat ini tetapi tidak memungkinkan pemeriksaan status terprogram.

Anda tidak dapat memeriksa status database untuk operasi peluasan skala dengan portal Microsoft Azure.

Untuk memeriksa status perubahan DWU:

  1. Sambungkan ke database master yang terkait dengan server Anda.

  2. Kirim kueri berikut untuk memeriksa status database.

    SELECT    *
    FROM      sys.dm_operation_status
    WHERE     resource_type_desc = 'Database'
    AND       major_resource_id = 'MySQLDW'
    ;
    

DMV ini mengembalikan informasi tentang berbagai operasi manajemen pada kumpulan SQL khusus Anda (sebelumnya SQL DW) seperti operasi dan status operasi, yang IN_PROGRESS atau SELESAI.

Alur kerja penskalakan

Ketika Anda memulai operasi skala, sistem pertama-tama menutup semua sesi terbuka, mengembalikan transaksi terbuka apa pun untuk memastikan keadaan tetap konsisten. Untuk operasi skala, penskalaan hanya terjadi setelah pembatalan transaksi ini selesai.

  • Untuk operasi peningkatan skala, sistem mencopot semua simpul komputasi, menyediakan simpul komputasi tambahan, lalu memasang kembali ke lapisan penyimpanan.
  • Untuk operasi penurunan skala, sistem mencopot semua simpul komputasi dan kemudian hanya memasang kembali simpul yang diperlukan ke lapisan penyimpanan.

Langkah berikutnya

Untuk mempelajari selengkapnya tentang mengelola performa, lihat Kelas sumber daya untuk pengelolaan beban kerja dan batas memori serta batas konkurensi .