Bagikan melalui


Memahami dan mengoptimalkan penyegaran aliran data

Aliran data Power BI memungkinkan Anda menyambungkan, mengubah, menggabungkan, dan mendistribusikan data untuk analitik hilir. Elemen kunci dalam aliran data adalah proses refresh, yang menerapkan langkah-langkah transformasi yang Anda tulis di aliran data dan memperbarui data dalam item itu sendiri.

Untuk memahami waktu proses, performa, dan apakah Anda mendapatkan hasil maksimal dari aliran data, Anda dapat mengunduh riwayat pembaruan setelah memperbarui aliran data.

Memahami penyegaran

Ada dua jenis refresh yang berlaku untuk aliran data:

  • Full, yang melakukan pembersihan menyeluruh dan memuat ulang data Anda.

  • Inkremental (Premium saja), yang memproses subset data Anda berdasarkan aturan berbasis waktu, yang dinyatakan sebagai filter, yang Anda konfigurasi. Filter pada kolom tanggal secara dinamis mempartisi data ke dalam rentang di layanan Power BI. Setelah Anda mengonfigurasi refresh bertambah bertahap, aliran data secara otomatis mengubah kueri Anda untuk menyertakan pemfilteran menurut tanggal. Anda bisa mengedit kueri yang dibuat secara otomatis dengan menggunakan Editor Tingkat Lanjut di Power Query untuk menyempurnakan atau menyesuaikan refresh Anda. Jika Anda membawa Azure Data Lake Storage Anda sendiri, Anda dapat melihat irisan waktu data Anda berdasarkan kebijakan refresh yang Anda tetapkan.

    Nota

    Untuk mempelajari selengkapnya tentang refresh inkremental dan cara kerjanya, lihat Menggunakan refresh bertahap dengan aliran data.

Refresh inkremental memungkinkan dataflow yang besar di Power BI dengan manfaat berikut:

  • Penyegaran menjadi lebih cepat setelah penyegaran pertama, karena fakta berikut:

    • Power BI memperbarui partisi N terakhir yang dikustomisasi pengguna (di mana partisi adalah hari/minggu/bulan, dan sebagainya), atau
    • Power BI hanya me-refresh data yang perlu di-refresh. Misalnya, refresh hanya lima hari terakhir dari model semantik 10 tahun.
    • Power BI hanya me-refresh data yang telah berubah, selama Anda menentukan kolom yang ingin Anda periksa perubahannya.
  • Refresh lebih dapat diandalkan - tidak perlu lagi mempertahankan koneksi yang berjalan lama ke sistem sumber yang volatil.

  • Konsumsi sumber daya berkurang - lebih sedikit data yang perlu diperbarui mengurangi konsumsi memori dan sumber daya lain secara keseluruhan.

  • Jika memungkinkan, Power BI menggunakan pemrosesan paralel pada partisi, yang dapat menyebabkan refresh yang lebih cepat.

Dalam salah satu skenario refresh ini, jika refresh gagal, data tidak diperbarui. Data Anda mungkin kedaluarsa hingga refresh terbaru selesai, atau Anda dapat me-refreshnya secara manual dan kemudian dapat diselesaikan tanpa kesalahan. Refresh terjadi pada partisi atau entitas, jadi jika refresh inkremental gagal, atau entitas memiliki kesalahan, maka seluruh transaksi refresh tidak terjadi. Dengan kata lain, jika partisi (kebijakan penyegaran bertahap) atau entitas mengalami kegagalan dalam aliran data, seluruh operasi penyegaran akan gagal, dan tidak ada data yang diperbarui.

Memahami dan mengoptimalkan pembaruan

Untuk lebih memahami performa operasi refresh aliran data, tinjau Riwayat Refresh untuk aliran data dengan menavigasi ke salah satu aliran data Anda. Pilih Opsi lainnya (...) untuk aliran data. Lalu pilih Pengaturan > Segarkan riwayat. Anda juga dapat memilih aliran data di ruang kerja . Lalu pilih Opsi lainnya (...) > Perbarui Riwayat.

Tangkapan layar riwayat penyegaran aliran data.

Riwayat Refresh menyediakan gambaran umum refresh, termasuk jenis - sesuai permintaan atau terjadwal, durasi, dan status eksekusi. Untuk melihat detail dalam bentuk file CSV, pilih ikon unduh di ujung kanan baris deskripsi refresh. CSV yang diunduh menyertakan atribut yang dijelaskan dalam tabel berikut. Penyegaran Premium menyediakan informasi lebih lanjut berdasarkan kapabilitas komputasi dan kapabilitas aliran data tambahan, dibandingkan dengan aliran data berbasis Pro yang berada pada kapasitas bersama. Dengan demikian, beberapa metrik berikut hanya tersedia di Premium.

Barang Deskripsi Pro Premi
Diminta pada tanggal Pengaturan ulang waktu dijadwalkan atau klik untuk segarkan sekarang dilakukan, sesuai dengan waktu setempat.
Nama aliran data Nama Aliran Data Anda.
Status penyegaran aliran data Selesai, Gagal, atau Dilewati (untuk sebuah entitas) adalah kemungkinan status. Kasus penggunaan seperti Entitas Tertaut adalah alasan mengapa seseorang mungkin melihatnya terlewat.
Nama entitas Nama tabel.
Nama partisi Item ini bergantung pada apakah aliran data premium atau tidak, dan jika Pro ditampilkan sebagai NA karena tidak mendukung refresh bertahap. Premium menunjukkan FullRefreshPolicyPartition atau IncrementalRefreshPolicyPartition-[DateRange].
Refresh status Memperbarui status entitas atau partisi individual, yang memberikan status untuk periode waktu data yang diperbarui.
Waktu mulai Di Premium, item ini adalah waktu ketika aliran data diantrekan untuk diproses pada entitas atau partisi. Kali ini dapat berbeda jika aliran data memiliki dependensi dan perlu menunggu kumpulan hasil aliran data hulu untuk mulai diproses.
Waktu selesai Waktu akhir adalah waktu entitas aliran data atau partisi selesai, jika berlaku.
Durasi Total waktu yang terlewati untuk penyegaran aliran data, dinyatakan dalam format HH:MM:SS.
Baris yang diproses Untuk entitas atau partisi tertentu, jumlah baris yang dipindai atau ditulis oleh mesin aliran data. Item ini mungkin tidak selalu berisi data berdasarkan operasi yang Anda lakukan. Data mungkin dihilangkan saat mesin komputasi tidak digunakan, atau saat Anda menggunakan gateway saat data diproses di sana.
Byte yang diproses Untuk entitas atau partisi tertentu, data yang dihasilkan oleh mesin aliran data, dinyatakan dalam byte.

Saat menggunakan gateway pada aliran data khusus ini, informasi ini tidak disediakan.
Penerapan maks (KB) Max Commit adalah komitmen memori maksimum yang berguna untuk mendiagnosis kegagalan kehabisan memori ketika kueri M tidak dioptimalkan.

Saat Anda menggunakan gateway pada aliran data tertentu ini, informasi ini tidak disediakan.
Waktu Prosesor Untuk entitas atau partisi tertentu, waktu yang dihabiskan oleh mesin aliran data untuk melakukan transformasi dinyatakan dalam format HH:MM:SS.

Saat Anda menggunakan gateway pada aliran data tertentu ini, informasi ini tidak disediakan.
Waktu tunggu Untuk entitas atau partisi tertentu, waktu yang dihabiskan entitas dalam status tunggu, berdasarkan beban kerja pada kapasitas Premium.
Mesin komputasi Untuk entitas atau partisi tertentu, detail tentang bagaimana operasi refresh menggunakan mesin komputasi. Nilainya adalah:
-NA
- Dilipat
-Tembolok
- Dicache + Dilipat

Elemen-elemen ini dijelaskan secara lebih rinci nanti di artikel ini.
Kesalahan Jika berlaku, pesan kesalahan terperinci dijelaskan per entitas atau partisi.

Panduan refresh aliran data

Statistik refresh memberikan informasi berharga yang dapat Anda gunakan untuk mengoptimalkan dan mempercepat performa aliran data Anda. Di bagian berikut, kami menjelaskan beberapa skenario, apa yang harus diwaspadai, dan cara mengoptimalkan berdasarkan informasi yang diberikan.

Orkestrasi

Menggunakan aliran data di ruang kerja yang sama memungkinkan orkestrasi langsung. Sebagai contoh, Anda mungkin memiliki aliran data A, B, dan C dalam satu ruang kerja, dan menautkan seperti A > B > C. Jika Anda memperbarui sumber (A), entitas berikutnya juga akan diperbarui. Namun, jika Anda menyegarkan C, maka Anda harus menyegarkan yang lainnya secara independen. Selain itu, jika Anda menambahkan sumber data baru di aliran data B (yang tidak disertakan dalam A) data tersebut tidak di-refresh sebagai bagian dari orkestrasi.

Anda mungkin ingin menggabungkan item-item yang tidak sesuai dengan orkestrasi terkelola yang dilakukan oleh Power BI. Dalam skenario ini, Anda dapat menggunakan API dan/atau menggunakan Power Automate. Anda dapat merujuk ke dokumentasi API dan skrip PowerShell untuk refresh terprogram. Ada konektor Power Automate yang memungkinkan melakukan prosedur ini tanpa menulis kode apa pun. Anda dapat melihat sampel terperinci, dengan panduan khusus untuk pembaruan berurutan .

Pemantauan

Menggunakan statistik refresh yang disempurnakan yang dijelaskan sebelumnya dalam artikel ini, Anda bisa mendapatkan informasi refresh per aliran data terperinci. Tetapi jika Anda ingin melihat alur data dengan gambaran umum penyegaran di seluruh tempat penyewa atau seluruh ruang kerja, misalnya untuk membangun dasbor pemantauan, Anda dapat menggunakan API atau templat Power Automate. Demikian pula, untuk kasus penggunaan seperti mengirim pemberitahuan sederhana atau kompleks, Anda dapat menggunakan konektor Power Automate atau membangun aplikasi kustom Anda sendiri dengan menggunakan API.

Kesalahan batas waktu

Mengoptimalkan waktu yang diperlukan untuk melakukan skenario ekstraksi, transformasi, dan pemuatan (ETL) sangat ideal. Di Power BI, kasus berikut ini berlaku:

  • Beberapa konektor memiliki pengaturan batas waktu eksplisit yang dapat Anda konfigurasikan. Untuk informasi selengkapnya, lihat Konektor di Power Query.
  • Aliran data Power BI, menggunakan Power BI Pro, juga dapat mengalami batas waktu untuk kueri yang berjalan lama dalam entitas atau aliran data itu sendiri. Batasan tersebut tidak ada di ruang kerja Power BI Premium.

Panduan waktu habis

Ambang batas waktu untuk aliran data Power BI Pro adalah:

  • Dua jam di tingkat entitas individu.
  • Tiga jam di seluruh level aliran data.

Misalnya, jika Anda memiliki aliran data dengan tiga tabel, tidak ada tabel individual yang dapat memakan waktu lebih dari dua jam dan seluruh waktu aliran data habis jika durasi melebihi tiga jam.

Jika Anda mengalami batas waktu, pertimbangkan untuk mengoptimalkan kueri aliran data Anda, dan pertimbangkan untuk menggunakan pelipatan kueri pada sistem sumber Anda.

Sebagai alternatif, pertimbangkan untuk meningkatkan ke Premium Per Pengguna, yang tidak tunduk pada batas waktu ini dan menawarkan peningkatan performa karena banyak fitur Power BI Premium Per Pengguna.

Durasi panjang

Aliran data yang kompleks atau besar dapat membutuhkan lebih banyak waktu untuk di-refresh, seperti halnya aliran data yang dioptimalkan dengan buruk. Bagian berikut memberikan panduan tentang cara mengurangi durasi refresh panjang.

Panduan untuk waktu penyegaran yang lama

Langkah pertama untuk meningkatkan durasi refresh panjang untuk aliran data adalah membangun aliran data sesuai dengan praktik terbaik . Pola penting meliputi:

Selanjutnya, ini dapat membantu mengevaluasi apakah Anda dapat menggunakan refresh bertahap.

Menggunakan penyegaran bertahap dapat meningkatkan performa. Penting bahwa filter partisi diimplementasikan ke sistem sumber saat kueri diajukan untuk operasi refresh. Untuk mendorong pemfilteran ke bawah berarti sumber data harus mendukung pelipatan kueri, atau Anda dapat mengekspresikan logika bisnis melalui fungsi atau cara lain yang dapat membantu Power Query menghilangkan dan memfilter file atau folder. Sebagian besar sumber data yang mendukung kueri SQL mendukung pelipatan kueri, dan beberapa umpan OData juga dapat mendukung pemfilteran.

Namun, sumber data seperti file datar, blob, dan API biasanya tidak mendukung pemfilteran. Jika back-end sumber data tidak mendukung filter, sumber data tidak dapat didorong ke bawah. Dalam kasus seperti itu, mesin mash-up mengkompensasi dan menerapkan filter secara lokal, yang mungkin memerlukan pengambilan model semantik lengkap dari sumber data. Operasi ini dapat menyebabkan refresh inkremental menjadi lambat, dan prosesnya dapat kehabisan sumber daya baik di layanan Power BI atau di gateway data lokal, jika digunakan.

Mengingat berbagai tingkat dukungan pelipatan kueri untuk setiap sumber data, Anda harus melakukan verifikasi untuk memastikan logika filter disertakan dalam kueri sumber. Untuk mempermudah ini, Power BI mencoba melakukan verifikasi ini untuk Anda, dengan indikator lipatan langkah untuk Power Query Online. Banyak dari pengoptimalan ini adalah pengalaman selama waktu desain, tetapi setelah refresh dilakukan, Anda memiliki kesempatan untuk menganalisis dan mengoptimalkan performa refresh Anda.

Terakhir, pertimbangkan untuk mengoptimalkan lingkungan Anda. Anda dapat mengoptimalkan lingkungan Power BI dengan meningkatkan kapasitas Anda, mengukur gateway data yang tepat, dan mengurangi latensi jaringan dengan pengoptimalan berikut:

  • Saat menggunakan kapasitas yang tersedia dengan Power BI Premium atau Premium Per Pengguna, Anda dapat meningkatkan performa dengan meningkatkan instans Premium Anda, atau menetapkan konten ke kapasitas yang berbeda.

  • Gateway diperlukan setiap kali Power BI perlu mengakses data yang tidak tersedia langsung melalui Internet. Anda dapat menginstal gateway data lokal di server lokal, atau di komputer virtual.

    • Untuk memahami beban kerja gateway dan rekomendasi ukuran, lihat Ukuran gateway data lokal.
    • Evaluasi juga membawa data terlebih dahulu ke dalam aliran data penahapan, dan merujuknya ke hilir dengan menggunakan entitas yang ditautkan dan dihitung.
  • Latensi jaringan dapat memengaruhi performa refresh dengan meningkatkan waktu yang diperlukan agar permintaan mencapai layanan Power BI dan respons dikirimkan. Penyewa di Power BI ditetapkan ke wilayah tertentu. Untuk menentukan lokasi penyewa Anda, lihat Menemukan wilayah default untuk organisasi Anda. Saat pengguna dari tenant mengakses layanan Power BI, permintaan mereka selalu dirutekan ke wilayah tersebut. Saat permintaan mencapai layanan Power BI, layanan kemudian dapat mengirim permintaan tambahan, misalnya, ke sumber data yang mendasar, atau gateway data—yang juga tunduk pada latensi jaringan.

    • Alat seperti Azure Speed Test memberikan indikasi latensi jaringan antara klien dan wilayah Azure. Secara umum, untuk meminimalkan dampak latensi jaringan, berusaha untuk menjaga sumber data, gateway, dan kluster Power BI Anda sedekat mungkin. Berada di wilayah yang sama lebih disukai. Jika latensi jaringan adalah masalah, coba cari gateway dan sumber data yang lebih dekat ke kluster Power BI Anda dengan menempatkannya di dalam komputer virtual yang dihosting cloud.

Waktu prosesor tinggi

Jika Anda melihat waktu prosesor yang tinggi, Anda mungkin memiliki transformasi mahal yang tidak dilipat. Waktu prosesor yang tinggi disebabkan oleh banyaknya langkah yang diterapkan atau jenis transformasi yang Anda buat. Masing-masing kemungkinan ini dapat mengakibatkan waktu refresh yang lebih tinggi.

Panduan untuk waktu pemrosesan tinggi

Ada dua opsi untuk mengoptimalkan waktu prosesor tinggi.

Pertama, gunakan penggulungan kueri dalam sumber data itu sendiri, yang seharusnya mengurangi beban pada mesin pemrosesan aliran data secara langsung. Pelipatan kueri dalam sumber data memungkinkan sistem sumber untuk melakukan sebagian besar pekerjaan. Aliran data kemudian dapat melewati kueri dalam bahasa asli sumber, daripada harus melakukan semua komputasi dalam memori setelah kueri awal.

Tidak semua sumber data dapat melakukan pelipatan kueri, dan bahkan ketika pelipatan kueri dimungkinkan ada aliran data yang melakukan transformasi tertentu yang tidak dapat dilipat ke sumbernya. Dalam kasus seperti itu, mesin komputasi yang ditingkatkan kinerjanya adalah fitur yang diperkenalkan oleh Power BI untuk dapat meningkatkan kinerja hingga 25 kali, khususnya untuk transformasi.

Gunakan mesin komputasi untuk memaksimalkan performa

Meskipun Power Query memiliki kemampuan untuk melihat proses pelipatan kueri selama tahap perancangan, kolom mesin komputasi menyediakan detail tentang apakah mesin internal itu sendiri digunakan. Mesin komputasi sangat membantu ketika Anda memiliki aliran data yang kompleks dan Anda melakukan transformasi dalam memori. Dalam situasi ini, statistik penyegaran yang ditingkatkan dapat membantu, karena kolom mesin komputasi memberikan detail tentang apakah mesin itu sendiri digunakan atau tidak.

Bagian berikut memberikan panduan tentang menggunakan mesin komputasi, dan statistiknya.

Peringatan

Pada tahap perancangan, indikator pelipatan di editor mungkin menunjukkan bahwa kueri tidak dapat dilipat saat mengambil data dari dataflow lain. Periksa aliran data sumber jika komputasi yang ditingkatkan diaktifkan untuk memastikan pelipatan pada aliran data sumber diaktifkan.

Panduan tentang Status mesin komputasi

Mengaktifkan mesin komputasi yang ditingkatkan dan memahami berbagai status sangat membantu. Secara internal, mesin komputasi yang ditingkatkan menggunakan database SQL untuk membaca dan menyimpan data. Lebih baik jika transformasi Anda dijalankan oleh mesin kueri di sini. Paragraf berikut memberikan berbagai situasi, dan panduan tentang apa yang harus dilakukan untuk masing-masing.

NA - Status ini berarti bahwa mesin komputasi tidak digunakan, baik karena:

  • Anda menggunakan aliran data Power BI Pro.
  • Anda secara eksplisit mematikan mesin komputasi.
  • Anda menggunakan pelipatan kueri pada sumber data.
  • Anda melakukan transformasi kompleks yang tidak dapat menggunakan mesin SQL yang digunakan untuk mempercepat kueri.

Jika Anda mengalami durasi panjang dan masih mendapatkan status NA, pastikan diaktifkan dan tidak dimatikan secara tidak sengaja. Salah satu pola yang direkomendasikan adalah menggunakan aliran data penahapan untuk awalnya memasukkan data Anda ke layanan Power BI, kemudian membangun aliran data di atas data tersebut, setelah data tersebut berada dalam aliran data penahapan. Pola tersebut dapat mengurangi beban pada sistem sumber dan, bersama dengan mesin komputasi, memberikan peningkatan kecepatan untuk transformasi dan meningkatkan performa.

Singgahan - Jika Anda melihat status di-cache, data aliran data disimpan di mesin komputasi dan tersedia untuk direferensikan sebagai bagian dari kueri lain. Situasi ini sangat ideal jika Anda menggunakannya sebagai entitas tertaut, karena mesin komputasi menyimpan cache data tersebut untuk digunakan di hilir. Data yang di-cache tidak perlu di-refresh beberapa kali dalam aliran data yang sama. Situasi ini juga berpotensi ideal jika Anda ingin menggunakannya untuk DirectQuery.

Saat di-cache, dampak performa pada penyerapan awal terbayar nanti, dalam aliran data yang sama atau di aliran data yang berbeda di ruang kerja yang sama.

Jika Anda memiliki durasi besar untuk entitas, pertimbangkan untuk menonaktifkan mesin komputasi. Untuk menyimpan entitas dalam cache, Power BI menulisnya ke penyimpanan dan SQL. Jika ini adalah entitas penggunaan tunggal, manfaat performa untuk pengguna mungkin tidak sepadan dengan penalti penyerapan ganda.

Folded - Folded berarti bahwa aliran data tersebut dapat menggunakan komputasi SQL untuk membaca data. Entitas terhitung menggunakan tabel dari SQL untuk membaca data, dan SQL yang digunakan terkait dengan konstruksi kueri mereka.

Status terlipat muncul jika, saat Anda menggunakan sumber data lokal atau cloud, Anda terlebih dahulu memuat data ke dalam aliran data penahapan dan mereferensikannya dalam aliran data ini. Status ini hanya berlaku untuk entitas yang mereferensikan entitas lain. Ini berarti kueri Anda dijalankan di atas mesin SQL, dan mereka memiliki potensi untuk ditingkatkan dengan komputasi SQL. Untuk memastikan mesin SQL memproses transformasi Anda, gunakan transformasi yang mendukung lipatan SQL, seperti menggabungkan (bergabung), mengelompokkan menurut (agregasi), dan menambahkan (union) tindakan di Editor Kueri.

Cache + Folded - Ketika Anda melihat di-cache + dilipat, kemungkinan refresh data dioptimalkan, karena Anda memiliki entitas yang mereferensikan entitas lain dan dirujuk oleh entitas lain di hulu. Operasi ini juga berjalan di atas SQL dan, dengan demikian, juga memiliki potensi peningkatan dengan komputasi SQL. Untuk memastikan Anda mendapatkan performa terbaik, gunakan transformasi yang mendukung pelipatan SQL, seperti menggabungkan (bergabung), mengelompokkan menurut (agregasi), dan menambahkan (union) tindakan di Editor Kueri.

Panduan untuk pengoptimalan performa mesin komputasi

Langkah-langkah berikut memungkinkan beban kerja untuk memicu mesin komputasi, dan dengan demikian, selalu meningkatkan performa.

Entitas terkomputasi dan tertaut di ruang kerja yang sama:

Untuk pemasukan, fokus dalam memasukkan data ke penyimpanan secepat mungkin, gunakan filter hanya jika filter tersebut dapat mengurangi ukuran keseluruhan model semantik. Pisahkan logika transformasi Anda dari langkah ini. Selanjutnya, pisahkan transformasi dan logika bisnis Anda menjadi aliran data terpisah di ruang kerja yang sama. Gunakan entitas tertaut atau terkomputasi. Melakukannya memungkinkan mesin untuk mengaktifkan dan mempercepat komputasi Anda. Untuk analogi sederhana, ini seperti persiapan makanan di dapur: persiapan makanan biasanya merupakan langkah yang terpisah dan berbeda dari mengumpulkan bahan mentah Anda, dan prasyarat untuk memasukkan makanan ke dalam oven. Demikian pula, Anda perlu menyiapkan logika Anda secara terpisah sebelum dapat memanfaatkan mesin komputasi.

Pastikan Anda melakukan operasi yang diperlukan, seperti penggabungan, penyatuan, konversi, dan lainnya.

Selain itu, buat aliran data dalam panduan dan batasan yang diterbitkan.

Saat mesin komputasi menyala, tetapi performa lambat:

Ikuti langkah-langkah ini saat menyelidiki skenario di mana mesin komputasi sedang aktif, tetapi Anda melihat performa yang buruk:

  • Batasi entitas terkomputasi dan tertaut yang ada di seluruh ruang kerja.
  • Jika refresh awal dilakukan dengan mesin komputasi menyala, data akan ditulis di lake dan dalam cache. Penulisan ganda ini menyebabkan penyegaran menjadi lebih lambat.
  • Jika Anda memiliki aliran data yang menautkan ke beberapa aliran data, pastikan Anda menjadwalkan refresh aliran data sumber sehingga tidak semuanya di-refresh secara bersamaan.

Pertimbangan dan batasan

Lisensi Power BI Pro memiliki batas refresh aliran data 8 refresh per hari.