Mengelola mode penyimpanan di Power BI Desktop
Di Microsoft Power BI Desktop, Anda bisa menentukan mode penyimpanan tabel. Mode penyimpanan memungkinkan Anda mengontrol apakah Power BI Desktop menyimpan data tabel dalam memori untuk laporan atau tidak. Penembolokan berarti menyimpan data di ingatan untuk sementara waktu.
Mengatur mode penyimpanan memberikan banyak keuntungan. Anda dapat mengatur mode penyimpanan untuk setiap tabel satu per satu dalam model Anda. Tindakan ini memungkinkan model semantik tunggal, yang memberikan manfaat berikut:
Performa kueri: Saat pengguna berinteraksi dengan visual di laporan Power BI, kueri Data Analysis Expressions (DAX) dikirimkan ke model semantik. Penembolokan data ke dalam memori dengan mengatur mode penyimpanan dengan benar dapat meningkatkan performa kueri dan interaktivitas laporan Anda.
Model besar semantik: Tabel yang tidak di-cache tidak menggunakan memori untuk tujuan penyimpanan sementara. Anda dapat mengaktifkan analisis interaktif atas model semantik besar yang terlalu besar atau mahal untuk sepenuhnya di-cache ke dalam memori. Anda dapat memilih tabel mana yang layak untuk di-cache, dan mana yang tidak.
Pengoptimalan refresh data: Anda tidak perlu me-refresh tabel yang tidak di-cache. Anda dapat mengurangi waktu refresh dengan hanya menyimpan data yang diperlukan untuk memenuhi perjanjian tingkat layanan dan persyaratan bisnis Anda.
Persyaratan hampir waktu nyata: Tabel dengan persyaratan hampir waktu nyata akan lebih baik jika tidak di-cache, guna mengurangi latensi data.
Writeback: Writeback memungkinkan pengguna bisnis untuk menjelajahi skenario hipotetis dengan mengubah nilai sel. Aplikasi kustom dapat menerapkan perubahan pada sumber data. Tabel yang tidak di-cache dapat segera menampilkan perubahan, yang memungkinkan analisis instan efek.
Pengaturan mode penyimpanan di Power BI Desktop adalah salah satu dari tiga fitur terkait:
Model komposit: Memungkinkan laporan memiliki dua atau beberapa koneksi data, termasuk koneksi DirectQuery atau Impor, dalam kombinasi apa pun. Untuk informasi selengkapnya, lihat Menggunakan model komposit di Power BI Desktop.
Hubungan banyak-ke-banyak: Dengan model komposit, Anda dapat membangun hubungan banyak-ke-banyak antar tabel. Dalam relasi banyak ke banyak, persyaratan untuk nilai unik dihapus dari tabel. Ini juga menghapus solusi sebelumnya, seperti memperkenalkan tabel baru semata untuk membangun hubungan. Untuk informasi selengkapnya, lihat Relasi banyak-ke-banyak di Power BI Desktop.
Mode penyimpanan: Dengan mode penyimpanan, Anda sekarang dapat menentukan visual mana yang memerlukan kueri ke sumber data back-end. Visual yang tidak memerlukan kueri diimpor meskipun didasarkan pada DirectQuery. Fitur ini membantu meningkatkan performa dan mengurangi beban back-end. Sebelumnya, bahkan visual sederhana, seperti penyaring, memulai kueri yang dikirim ke sumber back-end.
Menggunakan properti Mode penyimpanan
Properti 'Storage mode' adalah properti yang bisa Anda atur pada setiap tabel dalam model Anda dan mengontrol cara Power BI menyimpan sementara data tabel.
Untuk mengatur properti mode Penyimpanan
Dalam tampilan Model
, pilih tabel yang propertinya ingin Anda tampilkan atau atur. Di panel Properti
, perluas bagian Tingkat Lanjut , dan perluas mode Penyimpanan drop-down.
Anda mengatur properti mode Penyimpanan
Impor: Tabel yang diimpor dengan pengaturan ini di-cache. Kueri yang dikirimkan ke model semantik Power BI yang mengembalikan data dari tabel Impor hanya dapat dipenuhi dari data yang di-cache.
DirectQuery: Tabel dengan pengaturan ini tidak di-cache. Kueri yang Anda kirimkan ke model semantik Power BI - misalnya, kueri DAX - dan yang mengembalikan data dari tabel DirectQuery hanya dapat dipenuhi dengan menjalankan kueri sesuai permintaan ke sumber data. Kueri yang Anda kirimkan ke sumber data menggunakan bahasa kueri untuk sumber data tersebut, misalnya, SQL.
Dual: Tabel dengan pengaturan ini dapat bertindak sebagai ter-cache atau tidak ter-cache, tergantung pada konteks pertanyaan yang dikirimkan ke model semantik Power BI. Dalam beberapa kasus, Anda menangani kueri dari data yang di-cache. Dalam kasus lain, Anda memenuhi kueri dengan menjalankan kueri sesuai permintaan ke sumber data.
Mengubah mode Penyimpanan tabel menjadi Impor adalah operasi irreversibel. Setelah properti ini diatur, properti ini nantinya tidak dapat diubah menjadi DirectQuery atau Dual.
Nota
Anda dapat menggunakan mode penyimpanan Dual di Power BI Desktop dan layanan Power BI.
Batasan pada tabel DirectQuery dan Dual
Tabel ganda memiliki batasan fungsi yang sama dengan tabel DirectQuery. Batasan ini termasuk transformasi M yang terbatas dan fungsi DAX yang terbatas dalam kolom yang dihitung. Untuk informasi lebih lanjut, lihat batasan DirectQuery.
Penyebaran pengaturan Ganda
Pertimbangkan model berikut, di mana semua tabel berasal dari satu sumber yang mendukung Impor dan DirectQuery.
Katakanlah semua tabel dalam model ini awalnya diatur ke DirectQuery. Jika Anda kemudian mengubah mode Penyimpanan
Anda dapat mengatur tabel dimensi (Customer, Geography, , dan Date) ke Dual untuk mengurangi jumlah hubungan terbatas dalam model semantik, dan meningkatkan performa. Hubungan terbatas biasanya melibatkan setidaknya satu tabel DirectQuery di mana logika gabungan tidak dapat didorong ke sistem sumber. Karena Tabel ganda dapat bertindak sebagai tabel DirectQuery atau Impor, situasi ini dihindari.
Logika penyebaran dirancang untuk membantu model yang berisi banyak tabel. Misalkan Anda memiliki model dengan 50 tabel dan hanya tabel fakta tertentu (transaksional) yang perlu di-cache. Logika di Power BI Desktop menghitung kumpulan minimum tabel dimensi yang harus diatur ke Dual, sehingga Anda tidak perlu melakukannya.
Logika penyebaran bergerak hanya ke satu sisi hubungan satu-ke-banyak.
Contoh penggunaan mode penyimpanan
Bayangkan menerapkan pengaturan properti mode penyimpanan berikut:
Meja | Mode penyimpanan |
---|---|
Penjualan | DirectQuery |
SurveyResponse | Mengimpor |
Tanggal | Ganda |
Pelanggan | Ganda |
Geografi | Ganda |
Mengatur properti mode penyimpanan ini menghasilkan perilaku berikut, dengan asumsi bahwa tabel Sales memiliki volume data yang signifikan:
Power BI Desktop menyimpan cache tabel dimensi, Date, Customer, dan Geography, sehingga waktu muat laporan awal cepat ketika laporan-laporan tersebut mengambil nilai filter untuk ditampilkan.
Power BI Desktop tidak mencache tabel Penjualan. Power BI Desktop menyediakan hasil berikut dengan tidak menyimpan cache tabel ini:
- Waktu refresh data ditingkatkan, dan konsumsi memori berkurang.
- Kueri laporan yang didasarkan pada tabel Sales beroperasi dalam mode DirectQuery. Kueri ini mungkin memakan waktu lebih lama tetapi lebih mendekati waktu nyata, karena tidak ada latensi penembolokan yang diperkenalkan.
Kueri laporan yang didasarkan pada tabel SurveyResponse dikembalikan dari cache memori, dan oleh karena itu relatif cepat.
Kueri yang terkena atau tidak mengenai cache
Jika Anda menyambungkan SQL Profiler ke port diagnostik untuk Power BI Desktop, Anda dapat melihat kueri mana yang mengenai atau melewatkan cache dalam memori dengan melakukan pelacakan yang didasarkan pada peristiwa berikut:
- Kueri Peristiwa\Kueri Dimulai
- Kueri Pemrosesan\Vertipaq SE Dimulai
- Pemrosesan Kueri\DirectQuery Dimulai
Untuk setiap acara Query Begin, periksa acara lain dengan ActivityIDyang sama. Misalnya, jika tidak ada peristiwa DirectQuery Begin, tetapi ada peristiwa Vertipaq SE Query Begin, kueri dijawab dari cache.
Kueri yang merujuk ke Tabel ganda mengembalikan data dari cache, jika memungkinkan; jika tidak, mereka kembali ke DirectQuery.
Kueri berikut berlanjut dari tabel sebelumnya. Ini hanya merujuk ke kolom dari tabel Tanggal, yang berada dalam mode Ganda. Oleh karena itu, kueri harus mengakses cache.
Kueri berikut ini hanya merujuk ke kolom dari tabel Sales, yang berada dalam mode DirectQuery. Oleh karena itu, tidak seharusnya mengakses cache.
Kueri berikut ini menarik karena menggabungkan kedua kolom. Kueri ini tidak mencapai cache. Anda mungkin awalnya mengharapkannya untuk mengambil nilai CalendarYear dari cache dan nilai SalesAmount dari sumber dan kemudian menggabungkan hasilnya, tetapi pendekatan ini kurang efisien daripada mengirimkan operasi SUM/GROUP BY ke sistem sumber. Jika operasi dilakukan langsung di sumber, jumlah baris yang dikembalikan kemungkinan besar akan jauh lebih sedikit.
Nota
Perilaku ini berbeda dari hubungan banyak-ke-banyak di Power BI Desktop saat tabel ter-cache dan tidak ter-cache digabungkan.
Cache harus tetap disinkronkan
Kueri yang ditampilkan di bagian sebelumnya menunjukkan bahwa tabel Dual terkadang mengenai cache dan terkadang tidak. Akibatnya, jika cache kedaluarsa, nilai yang berbeda dapat dikembalikan. Eksekusi kueri tidak akan mencoba menutupi masalah data dengan, misalnya, memfilter hasil DirectQuery agar sesuai dengan nilai cache. Anda bertanggung jawab untuk mengetahui aliran data Anda, dan Anda harus merancang dengan sesuai. Ada teknik yang mapan untuk menangani kasus seperti itu di sumbernya, jika perlu.
Mode penyimpanan Dual adalah pengoptimalan performa. Ini harus digunakan hanya dengan cara yang tidak membahayakan kemampuan untuk memenuhi persyaratan bisnis. Pertimbangkan untuk menggunakan teknik yang dijelaskan dalam hubungan banyak-ke-banyak di Power BI Desktopuntuk perilaku alternatif.
Tampilan tabel
Jika setidaknya satu tabel dalam model semantik memiliki mode penyimpanan yang diatur ke
Saat Anda memilih Tabel ganda dan Impor dalam tampilan Tabel
Pertimbangan dan batasan
Ada beberapa batasan untuk rilis mode penyimpanan saat ini dan korelasinya dengan model komposit.
Sumber koneksi langsung (multi-dimensi) berikut ini tidak dapat digunakan dengan model komposit:
- SAP HANA
- Gudang Bisnis SAP
Saat terhubung ke sumber multidimensional tersebut menggunakan DirectQuery, Anda tidak dapat terhubung ke sumber DirectQuery lain atau menggabungkannya dengan data yang diimpor.
Batasan penggunaan DirectQuery yang ada masih berlaku saat Anda menggunakan model komposit. Banyak dari batasan tersebut sekarang berlaku per tabel, tergantung pada mode penyimpanan dari tabel tersebut. Misalnya, kolom terhitung pada tabel yang diimpor dapat merujuk ke tabel lain, tetapi kolom terhitung pada tabel DirectQuery masih dibatasi untuk hanya merujuk ke kolom pada tabel yang sama. Batasan lain berlaku untuk model secara keseluruhan, jika salah satu tabel dalam model adalah DirectQuery.
Konten terkait
Untuk informasi selengkapnya tentang model komposit dan DirectQuery, lihat artikel berikut ini: