Pengindeksan Data Dalam Vertipaq: Stor Baris Berbanding Stor Lajur

Pengindeksan Data Dalam Vertipaq: Stor Baris Berbanding Stor Lajur

Dalam tutorial ini, kami akan membincangkan perbezaan tentang cara pengindeksan data berfungsi dalam pangkalan data hubungan berbanding dalam Vertipaq.

Pangkalan data perhubungan menyimpan data secara baris demi baris. Sebaliknya, Vertipaq melakukannya lajur demi lajur.

Mari lihat bagaimana kedua-dua cara menyimpan dan mengindeks data ini boleh memberi kesan kepada proses pembangunan laporan anda terutamanya apabila menjalankan pertanyaan anda.

Isi kandungan

Pengindeksan Data Setiap Baris

Menyimpan data baris demi baris ialah cara tradisional menyimpan data. Walau bagaimanapun, proses ini mengambil lebih banyak masa, yang akan memberi kesan kepada prestasi pertanyaan anda.

Katakan kita mempunyai jadual yang mengandungi Jenama, Warna, Jantina, Kuantiti dan Harga Bersih.

Pengindeksan Data Dalam Vertipaq: Stor Baris Berbanding Stor Lajur

Jika kita menyimpan segala-galanya dalam jadual ini dalam pangkalan data, maka ia akan menyimpan data dalam baris demi baris. Itulah sebabnya struktur storan data tradisional juga dipanggil sebagai stor baris.

Pertama, dalam baris yang sama, ia akan menyimpan pengepala lajur yang terdapat pada baris pertama — Jenama, Warna, Jantina, Kuantiti dan Harga Bersih. Kemudian ia bergerak ke baris seterusnya untuk menyimpan item pertama di bawah setiap lajur — A. Datum, Azure, kosong, 1 dan 103.2. Ini meneruskan baris demi baris.

Pengindeksan Data Dalam Vertipaq: Stor Baris Berbanding Stor Lajur

Jadi bagaimana kita hendak mengira Kuantiti menggunakan kaedah pengindeksan data ini?

Pertama, ia bermula dengan baris pertama, yang mengandungi pengepala lajur. Kemudian, ia melompat ke baris seterusnya dan melangkau cebisan data yang lain sehingga ia mencapai kuantiti pertama yang dilihatnya, iaitu 1. Kemudian ia melompat dari baris ke baris, berjalan melalui semua data yang terkandung dalam setiap baris dan mengumpulkan semua kuantiti adalah dapatan.

Sebaik sahaja ia telah mengetepikan semua kuantiti dari setiap baris, itulah satu-satunya masa pengiraan selesai.

Anda mungkin boleh bayangkan betapa membosankan proses itu jika anda menyediakan laporan LuckyTemplates yang menggunakan sambungan DirectQuery kepada sumber data SQL. Dalam kes ini, perkhidmatan analisis akan menukar kod DAX ke dalam bahasa SQL, kemudian mula melalui struktur data baris demi baris.

Pengindeksan Data Setiap Lajur

Untuk mengelakkan proses panjang yang terlibat, anda mempunyai pilihan untuk menyimpan data berdasarkan lajur demi lajur melalui Vertipaq apabila anda memilih mod import.

Apabila anda menggunakan stor lajur dan bukannya stor baris, Jenama, Warna, Jantina, Kuantiti dan Harga Bersih setiap satu akan disimpan dalam struktur data yang berbeza.

Pengindeksan Data Dalam Vertipaq: Stor Baris Berbanding Stor Lajur

Katakan kita ingin mendapatkan JUMLAH nilai dalam lajur Kuantiti. Tidak ada keperluan untuk melalui Jenama, Warna dan kepingan data lain di luar lajur Kuantiti. Dalam satu imbasan, ia membaca keseluruhan lajur Kuantiti dari atas ke bawah dan meringkaskan semua nilai.

Pengindeksan Data Dalam Vertipaq: Stor Baris Berbanding Stor Lajur

Oleh sebab itu, pertanyaan akan dilaksanakan dengan lebih cepat berbanding dengan melakukannya dari kiri ke kanan.

Membandingkan Masa Pelaksanaan Dalam Pertanyaan Mudah

Untuk benar-benar melihat perbezaan besar antara stor baris dan stor lajur, mari lakukan beberapa pertanyaan ujian dalam kedua-dua SQL dan Vertipaq. Masa pelaksanaan harus memberitahu kita betapa cepatnya satu proses dibandingkan dengan yang lain.

Mari kita mulakan dengan pertanyaan mudah dalam SQL. Kami akan mengira JUMLAH lajur Kuantiti dalam jadual Jualan.

Pengindeksan Data Dalam Vertipaq: Stor Baris Berbanding Stor Lajur

Seperti yang anda lihat, jumlah masa pelaksanaan ialah 2.2 saat.

Sekarang, mari pergi ke DAX Studio dan gunakan fungsi EVALUATE untuk melaksanakan pertanyaan yang sama. Kita perlu menghidupkan pemasaan pelayan dan menunggu jejak selesai.

Pengindeksan Data Dalam Vertipaq: Stor Baris Berbanding Stor Lajur

Kami juga perlu memastikan bahawa pilihan "Kosongkan Cache kemudian Jalankan" dipilih apabila kami menjalankan pertanyaan.

Pengindeksan Data Dalam Vertipaq: Stor Baris Berbanding Stor Lajur

Setelah pertanyaan dilaksanakan, anda akan melihat bahawa hanya memerlukan 3 milisaat untuk menyelesaikan pertanyaan yang sama yang kami lakukan dalam SQL sebelum ini.

Pengindeksan Data Dalam Vertipaq: Stor Baris Berbanding Stor Lajur

Keputusan yang ditetapkan juga harus sepadan untuk SQL dan DAX Studio. Jika kami meletakkannya bersebelahan, anda dapat melihat bahawa kami mengembalikan nilai yang sama.

Pengindeksan Data Dalam Vertipaq: Stor Baris Berbanding Stor Lajur

Anda boleh cuba menjalankan pertanyaan beberapa kali lagi untuk melihat sejauh mana konsisten masa pelaksanaan.

Membandingkan Masa Pelaksanaan Dalam Pertanyaan Yang Lebih Rumit

Kali ini, mari kita bandingkan masa pelaksanaan apabila kita menjalankan pertanyaan yang lebih rumit.

Katakan kita ingin mengenal pasti JUMLAH Kuantiti Jualan untuk setiap jenama. Untuk melakukan ini, kami boleh menggunakan berbanding setiap Jenama Produk. Dalam konteks yang rendah, kami juga akan mencipta jadual baharu yang dipanggil Jumlah Kuantiti di mana kami akan untuk JUMLAH Kuantiti Jualan.

Pengindeksan Data Dalam Vertipaq: Stor Baris Berbanding Stor Lajur

Jika kami menjalankan kod ini, anda dapat melihat bahawa jumlah masa pelaksanaan ialah 7 milisaat.

Pengindeksan Data Dalam Vertipaq: Stor Baris Berbanding Stor Lajur

Di latar belakang, kod ini sebenarnya menjalankan dua pertanyaan. Yang pertama mengambil lajur Jenama daripada jadual Produk, kemudian melaksanakan OUTER JOIN pada lajur Kunci Produk daripada lajur Jualan dan lajur Produk.

Pengindeksan Data Dalam Vertipaq: Stor Baris Berbanding Stor Lajur

Pertanyaan kedua hanya mendapatkan semula lajur Jenama daripada jadual Produk.

Pengindeksan Data Dalam Vertipaq: Stor Baris Berbanding Stor Lajur

Jika saya pergi ke skrin hasil, anda dapat melihat bahawa ukuran Jumlah Kuantiti telah dibahagikan berdasarkan setiap Jenama.

Pengindeksan Data Dalam Vertipaq: Stor Baris Berbanding Stor Lajur

Sekarang mari pergi ke pelayan SQL dan tulis pertanyaan yang sama.

Kami akan menolak jadual Jualan DaxStudio ke baris seterusnya, merujuk jadual Jualan AS S. Kemudian, kami juga akan melaksanakan LEFT JOIN dalam jadual Produk DaxStudio yang dirujuk AS P, dengan Kunci Produk S sama dengan P.Kunci Produk. Kami juga akan menggunakan P.Brand dengan JUMLAH Kuantiti dan Jumlah Kuantiti dalam pernyataan SELECT . Akhir sekali, kami akan menggunakan untuk P.brand.

Pengindeksan Data Dalam Vertipaq: Stor Baris Berbanding Stor Lajur

Setelah kami menjalankan kod ini, kami akan mendapat jadual yang mengandungi Jumlah Kuantiti yang diasingkan oleh setiap Jenama, yang merupakan perkara yang sama yang kami perolehi sebelum ini dalam Vertipaq.

Pengindeksan Data Dalam Vertipaq: Stor Baris Berbanding Stor Lajur

Bagi jumlah masa pelaksanaan, ia kekal lebih perlahan pada 2.5 saat.

Pengindeksan Data Dalam Vertipaq: Stor Baris Berbanding Stor Lajur


DAX Untuk LuckyTemplates: Mengoptimumkan Menggunakan Enjin Formula dalam DAX Studio
Teknik Pengoptimuman Pertanyaan DAX Dan
Prestasi Pertanyaan Pelajaran Serta Persediaan Studio DAX

Kesimpulan

Jelas sekali betapa cepatnya stor lajur melalui Vertipaq berbanding dengan stor baris dalam pangkalan data SQL. Ini menunjukkan kepentingan untuk benar-benar mengenali cara pengindeksan data berfungsi melalui platform yang berbeza.

Ia mungkin kelihatan seperti pengorbanan kecil pada mulanya jika anda masih memilih untuk pergi selama 2.5 saat yang kedai baris menjalankan pertanyaan anda berbanding dengan 7 milisaat. Tetapi kami semua menjalankan beberapa pertanyaan apabila kami membuat laporan kami dan semua masa pelaksanaan itu akan bertambah, memberi kesan kepada produktiviti dan pengalaman pengguna dalam jangka masa panjang.


Apa Itu Diri Dalam Python: Contoh Dunia Sebenar

Apa Itu Diri Dalam Python: Contoh Dunia Sebenar

Apa Itu Diri Dalam Python: Contoh Dunia Sebenar

Cara Menyimpan & Memuatkan Fail RDS Dalam R

Cara Menyimpan & Memuatkan Fail RDS Dalam R

Anda akan belajar cara menyimpan dan memuatkan objek daripada fail .rds dalam R. Blog ini juga akan membincangkan cara mengimport objek dari R ke LuckyTemplates.

N Hari Perniagaan Pertama Dilawati Semula – Penyelesaian Bahasa Pengekodan DAX

N Hari Perniagaan Pertama Dilawati Semula – Penyelesaian Bahasa Pengekodan DAX

Dalam tutorial bahasa pengekodan DAX ini, pelajari cara menggunakan fungsi GENERATE dan cara menukar tajuk ukuran secara dinamik.

Pamerkan Cerapan Menggunakan Teknik Visual Dinamik Berbilang Thread Dalam LuckyTemplates

Pamerkan Cerapan Menggunakan Teknik Visual Dinamik Berbilang Thread Dalam LuckyTemplates

Tutorial ini akan merangkumi cara menggunakan teknik Visual Dinamik Berbilang Thread untuk mencipta cerapan daripada visualisasi data dinamik dalam laporan anda.

Pengenalan Untuk Menapis Konteks Dalam LuckyTemplates

Pengenalan Untuk Menapis Konteks Dalam LuckyTemplates

Dalam artikel ini, saya akan menjalankan konteks penapis. Konteks penapis ialah salah satu topik utama yang perlu dipelajari oleh mana-mana pengguna LuckyTemplates pada mulanya.

Petua Terbaik Menggunakan Aplikasi Dalam Perkhidmatan Dalam Talian LuckyTemplates

Petua Terbaik Menggunakan Aplikasi Dalam Perkhidmatan Dalam Talian LuckyTemplates

Saya ingin menunjukkan cara perkhidmatan dalam talian LuckyTemplates Apps boleh membantu dalam mengurus laporan dan cerapan berbeza yang dijana daripada pelbagai sumber.

Analisis Perubahan Margin Keuntungan Lebih Masa – Analitis Dengan LuckyTemplates Dan DAX

Analisis Perubahan Margin Keuntungan Lebih Masa – Analitis Dengan LuckyTemplates Dan DAX

Ketahui cara untuk menyelesaikan perubahan margin keuntungan anda menggunakan teknik seperti mengukur percabangan dan menggabungkan formula DAX dalam LuckyTemplates.

Idea Pewujudan Untuk Cache Data Dalam DAX Studio

Idea Pewujudan Untuk Cache Data Dalam DAX Studio

Tutorial ini akan membincangkan tentang idea pewujudan cache data dan cara ia mempengaruhi prestasi DAX dalam memberikan hasil.

Pelaporan Perniagaan Menggunakan LuckyTemplates

Pelaporan Perniagaan Menggunakan LuckyTemplates

Jika anda masih menggunakan Excel sehingga sekarang, maka inilah masa terbaik untuk mula menggunakan LuckyTemplates untuk keperluan pelaporan perniagaan anda.

Apakah LuckyTemplates Gateway? Semua yang Anda Perlu Tahu

Apakah LuckyTemplates Gateway? Semua yang Anda Perlu Tahu

Apakah LuckyTemplates Gateway? Semua yang Anda Perlu Tahu