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.
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:
Mulailah dengan memilih DWU yang lebih kecil.
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.
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:
- Buka SQL Server Object Explorer di Visual Studio.
- Sambungkan ke database master yang terkait dengan server SQL logis.
- 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:
Buka portal Microsoft Azure, buka database Anda, dan klik Skalakan.
Di bawah Skala , pindahkan penggeser ke kiri atau kanan untuk mengubah pengaturan DWU.
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:
- Sambungkan ke database master yang terkait dengan server Anda.
- 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:
Sambungkan ke database master yang terkait dengan server Anda.
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 .