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.
Artikel ini menjelaskan model konsumsi sumber daya Synapse SQL.
Kumpulan SQL tanpa server
Layanan SQL tanpa server adalah layanan bayar per kueri yang tidak mengharuskan Anda menentukan ukuran yang tepat. Sistem secara otomatis melakukan penyesuaian berdasarkan kebutuhan Anda, sehingga Anda tidak perlu mengelola infrastruktur dan memilih ukuran yang tepat untuk solusi Anda.
Pool SQL Khusus - Unit Gudang Data (DWU) dan Unit Pemrosesan Gudang Data (cDWU)
Rekomendasi tentang memilih jumlah unit gudang data (DWU) yang ideal untuk mengoptimalkan harga dan performa, dan cara mengubah jumlah unit.
Unit Gudang Data
Kumpulan Synapse SQL 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. Pada gilirannya, perubahan ini 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 pergudangan data standar dapat memindai sejumlah besar baris lalu melakukan agregasi yang kompleks. Operasi ini membutuhkan I/O dan CPU yang intensif.
- Seberapa cepat gudang data 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 DWUs
- 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 konkuren.
Tujuan Tingkat Layanan
Tujuan Tingkat Layanan (SLO) adalah pengaturan skalabilitas yang menentukan tingkat biaya dan performa gudang data Anda. Tingkat layanan untuk Gen2 diukur dalam unit gudang data komputasi (cDWU), misalnya DW2000c. Tingkat layanan Gen1 diukur dalam DWU, misalnya DW2000.
Tujuan Tingkat Layanan (SLO) adalah pengaturan skalabilitas yang menentukan tingkat biaya dan performa gudang data Anda. Tingkat layanan untuk kumpulan SQL khusus Gen2 diukur dalam unit gudang data (DWU), misalnya DW2000c.
Nota
Azure Synapse Analytics Gen2 baru-baru ini menambahkan kemampuan skala tambahan untuk mendukung tingkat komputasi serendah 100 cDWU. 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.
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.
Saat Anda meningkatkan unit gudang data, Anda meningkatkan sumber daya komputasi secara linier. Gen2 menyediakan kinerja kueri terbaik dan skala tertinggi. Sistem Gen2 juga memanfaatkan cache secara maksimal.
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 .
Menilai jumlah unit gudang data yang Anda 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.
- Identifikasi persyaratan tambahan untuk periode aktivitas puncak secara berkala. Beban kerja yang menunjukkan fluktuasi yang signifikan dalam aktivitas mungkin perlu sering disesuaikan.
Kumpulan SQL adalah sistem yang dapat ditingkatkan skalanya yang dapat menyediakan daya komputasi yang sangat besar dan menangani kueri untuk jumlah data yang sangat besar. Untuk melihat kemampuan sebenarnya dalam skala, terutama pada DWU yang lebih besar, kami merekomendasikan untuk menskalakan set data saat Anda melakukan penskalaan untuk memastikan bahwa Anda memiliki cukup data untuk memanfaatkan CPU sepenuhnya. 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 Kelola 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
;
Ubah unit gudang data
Portal Microsoft Azure
Untuk mengubah DWUs:
Buka portal Microsoft Azure, buka database Anda, dan pilih skala .
Di bawah Skala , pindahkan penggeser ke kiri atau kanan untuk mengubah pengaturan DWU.
Pilih Simpan. Pesan konfirmasi muncul. Pilih 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 DWUs, 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 lebih lanjut, lihat PowerShell cmdlets for Azure Synapse Analytics
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": DW1000
}
}
Untuk contoh REST API lainnya, lihat REST API untuk Azure Synapse Analytics.
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 menyelesaikan 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.databases
;
- Kirim kueri berikut untuk memeriksa status operasi
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 seperti operasi dan status operasi, yang IN_PROGRESS atau SELESAI.
Alur kerja penskalaan
Ketika Anda memulai operasi skala, sistem pertama-tama menutup semua sesi terbuka, mengembalikan transaksi terbuka apa pun untuk memastikan keadaan tetap konsisten. Untuk operasi penskalaan, penskalaan hanya terjadi setelah pengembalian 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 .