Synapse Data Warehouse dalam pedoman performa Microsoft Fabric

Berlaku untuk: Gudang di Microsoft Fabric

Ini adalah panduan untuk membantu Anda memahami performa Gudang Anda di Microsoft Fabric. Dalam artikel ini, Anda akan menemukan panduan dan artikel penting untuk difokuskan. Gudang di Microsoft Fabric adalah platform SaaS di mana aktivitas seperti manajemen beban kerja, konkurensi, dan manajemen penyimpanan dikelola secara internal oleh platform. Selain manajemen performa internal ini, Anda masih dapat meningkatkan performa dengan mengembangkan kueri berkinerja terhadap gudang yang dirancang dengan baik.

Performa cold run (cache dingin)

Penembolokan dengan SSD lokal dan memori bersifat otomatis. 1-3 eksekusi pertama kueri berjalan jauh lebih lambat daripada eksekusi berikutnya. Jika Anda mengalami masalah performa cold run, berikut adalah beberapa hal yang dapat Anda lakukan yang dapat meningkatkan performa cold run Anda:

  • Jika performa eksekusi pertama sangat penting, coba buat statistik secara manual. Tinjau artikel statistik untuk lebih memahami peran statistik dan untuk panduan tentang cara membuat statistik manual untuk meningkatkan performa kueri Anda. Namun, jika performa eksekusi pertama tidak penting, Anda dapat mengandalkan statistik otomatis yang akan dihasilkan dalam kueri pertama dan akan terus dimanfaat dalam eksekusi berikutnya (selama data yang mendasarinya tidak berubah secara signifikan).

  • Jika menggunakan Power BI, gunakan mode Direct Lake jika memungkinkan.

Metrik untuk memantau performa

Saat ini, Hub Pemantauan tidak menyertakan Gudang. Jika Anda memilih Gudang Data, Anda tidak akan dapat mengakses Hub Pemantauan dari bilah navigasi.

Administrator Fabric akan dapat mengakses laporan Pemanfaatan Kapasitas dan Metrik untuk informasi terbaru yang melacak pemanfaatan kapasitas yang mencakup Gudang.

Menggunakan tampilan manajemen dinamis (DMV) untuk memantau eksekusi kueri

Anda dapat menggunakan tampilan manajemen dinamis (DMV) untuk memantau koneksi, sesi, dan status permintaan di Gudang.

Statistik

Gudang menggunakan mesin kueri untuk membuat rencana eksekusi untuk kueri SQL tertentu. Saat Anda mengirimkan kueri, pengoptimal kueri mencoba menghitung semua rencana yang mungkin dan memilih kandidat yang paling efisien. Untuk menentukan rencana mana yang memerlukan overhead paling sedikit, mesin harus dapat mengevaluasi jumlah pekerjaan atau baris yang mungkin diproses oleh setiap operator. Kemudian, berdasarkan biaya setiap paket, paket memilih yang memiliki perkiraan pekerjaan paling sedikit. Statistik adalah objek yang berisi informasi relevan tentang data Anda, untuk memungkinkan pengoptimal kueri memperkirakan biaya ini.

Anda juga dapat memperbarui statistik secara manual setelah setiap pemuatan data atau pembaruan data untuk memastikan bahwa rencana kueri terbaik dapat dibuat.

Untuk statistik informasi selengkapnya dan bagaimana Anda dapat menambah statistik yang dibuat secara otomatis, lihat Statistik di pergudangan data Fabric.

Panduan penyerapan data

Ada empat opsi untuk penyerapan data ke dalam Gudang:

  • COPY (Transact-SQL)
  • Alur data
  • Aliran data
  • Penyerapan lintas gudang

Untuk membantu menentukan opsi mana yang terbaik untuk Anda dan meninjau beberapa praktik terbaik penyerapan data, tinjau Menyerap data.

Mengelompokkan pernyataan INSERT ke dalam batch (hindari penyisipan trickle)

Beban satu kali ke tabel kecil dengan pernyataan INSERT, seperti yang ditunjukkan dalam contoh berikut, mungkin merupakan pendekatan terbaik tergantung pada kebutuhan Anda. Namun, jika Anda perlu memuat ribuan atau jutaan baris sepanjang hari, INSERTS singleton tidak optimal.

INSERT INTO MyLookup VALUES (1, 'Type 1') 

Untuk panduan tentang cara menangani skenario beban trickle ini, lihat Praktik terbaik untuk menyerap data.

Mengecilkan ukuran transaksi

Pernyataan INSERT, UPDATE, dan DELETE berjalan dalam transaksi. Ketika mereka gagal, mereka harus dibatalkan. Untuk mengurangi potensi pembatalan yang panjang, kecilkan ukuran transaksi jika memungkinkan. Ini dapat dilakukan dengan membagi pernyataan INSERT, UPDATE, dan DELETE menjadi beberapa bagian. Contohnya, jika Anda memiliki INSERT yang Anda harapkan memakan waktu 1 jam, Anda dapat memecah INSERT menjadi empat bagian, sehingga memperpendek setiap eksekusi menjadi 15 menit. Kemudian, setiap eksekusi alur akan dipersingkat menjadi 15 menit.

Pertimbangkan untuk menggunakan CTAS (Transact-SQL) untuk menulis data yang ingin Anda simpan dalam tabel daripada menggunakan DELETE. Jika CTAS membutuhkan waktu yang sama, lebih aman untuk dijalankan karena memiliki pengelogan transaksi minimal dan dapat dibatalkan dengan cepat jika diperlukan.

Mengalokasikan aplikasi klien dan Microsoft Fabric

Jika Anda menggunakan aplikasi klien, pastikan Anda menggunakan Microsoft Fabric di wilayah yang dekat dengan komputer klien Anda. Contoh aplikasi klien termasuk Power BI Desktop, SQL Server Management Studio, dan Azure Data Studio.

Menggunakan desain data Skema Bintang

Skema bintang mengatur data menjadi tabel fakta dan dimensi. Desain skema bintang memfasilitasi pemrosesan analitis dengan mendenormalisasi data dari sistem OLTP yang sangat dinormalisasi, menyerap data transaksional, dan data master perusahaan ke dalam struktur data umum, dibersihkan, dan diverifikasi yang meminimalkan JOINS pada waktu kueri, mengurangi jumlah baris yang dibaca dan memfasilitasi agregasi dan pemrosesan pengelompokan.

Untuk panduan desain gudang lainnya, lihat Tabel di pergudangan data.

Mengurangi ukuran kumpulan hasil kueri

Mengurangi ukuran kumpulan hasil kueri membantu Anda menghindari masalah sisi klien yang disebabkan oleh hasil kueri besar. Kumpulan hasil editor Kueri SQL dibatasi hingga 10.000 baris pertama untuk menghindari masalah ini di antarmuka pengguna berbasis browser ini. Jika Anda perlu mengembalikan lebih dari 10.000 baris, gunakan SQL Server Management Studio (SSMS) atau Azure Data Studio.

Pilih jenis data terbaik untuk performa

Saat menentukan tabel Anda, gunakan tipe data terkecil yang mendukung data Anda saat melakukannya akan meningkatkan performa kueri. Rekomendasi ini penting untuk kolom CHAR dan VARCHAR. Jika nilai terpanjang di kolom adalah 25 karakter, maka definisikan kolom Anda sebagai VARCHAR(25). Hindari menentukan semua kolom karakter dengan panjang default yang besar.

Gunakan jenis data berbasis bilangan bulat jika memungkinkan. Operasi SORT, JOIN, dan GROUP BY selesai lebih cepat pada bilangan bulat daripada pada data karakter.

Untuk jenis data yang didukung dan informasi selengkapnya, lihat jenis data.