Indexovanie údajov vo Vertipaq: Úložisko riadkov verzus Úložisko stĺpcov

V tomto návode sa budeme zaoberať rozdielom v tom, ako funguje indexovanie údajov v relačnej databáze a vo Vertipaq.

Relačné databázy ukladajú údaje po riadkoch. Na druhej strane Vertipaq to robí stĺpec po stĺpci.

Pozrime sa, ako by tieto dva spôsoby ukladania a indexovania údajov mohli ovplyvniť proces vývoja zostáv, najmä pri spúšťaní vašich dotazov.

Obsah

Indexovanie údajov na riadok

Ukladanie údajov riadok po riadku je tradičný spôsob ukladania údajov. Tento proces však trvá dlhšie, čo ovplyvní výkon vášho dopytu.

Povedzme, že máme tabuľku, ktorá obsahuje značky, farbu, pohlavie, množstvo a čistú cenu.

Indexovanie údajov vo Vertipaq: Úložisko riadkov verzus Úložisko stĺpcov

Ak všetko v tejto tabuľke uložíme do databázy, potom budú údaje ukladať v riadkoch po riadkoch. Preto sa tradičná štruktúra ukladania údajov nazýva aj riadkový ukladací priestor.

Najprv v tom istom riadku uloží hlavičky stĺpcov, ktoré sa nachádzajú v prvom riadku — Značka, Farba, Pohlavie, Množstvo a Čistá cena. Potom sa presunie na ďalší riadok, kde sa uložia prvé položky pod každým stĺpcom — A. Datum, Azure, medzera, 1 a 103.2. Toto pokračuje riadok po riadku.

Indexovanie údajov vo Vertipaq: Úložisko riadkov verzus Úložisko stĺpcov

Ako teda budeme počítať preMnožstvo pomocou tejto metódy indexovania údajov?

Najprv sa začína prvým riadkom, ktorý obsahuje hlavičky stĺpcov. Potom preskočí na ďalší riadok a preskočí cez ďalšie údaje, kým sa nedostane k prvému množstvu, ktoré vidí, čo je 1. Potom preskočí z riadka na riadok, prejde všetky údaje, ktoré každý riadok obsahuje, a zhromažďuje všetky údaje. množstvo je nález.

Keď sa vyčlenia všetky množstvá z každého riadku, je to jediný čas, kedy je výpočet dokončený.

Pravdepodobne si viete predstaviť, aký únavný je tento proces, ak pripravujete zostavu LuckyTemplates, ktorá využíva pripojenie DirectQuery k zdroju údajov SQL. V tomto prípade analytické služby skonvertujú kód DAX do jazyka SQL a potom začnú prechádzať dátovú štruktúru riadok po riadku.

Indexovanie údajov podľa stĺpca

Aby ste sa vyhli zdĺhavému procesu, máte možnosť uložiť údaje po jednotlivých stĺpcoch cez Vertipaq, keď zvolíte režim importu.

Keď namiesto úložiska riadkov použijete ukladanie stĺpcov, značky, farba, pohlavie, množstvo a čistá cena budú uložené v rôznych dátových štruktúrach.

Indexovanie údajov vo Vertipaq: Úložisko riadkov verzus Úložisko stĺpcov

Povedzme, že chceme získať SÚČET hodnôt v stĺpci Množstvo. Nebude potrebné prechádzať údajmi Značka, Farba a iné údaje mimo stĺpca Množstvo. Pri jednom skenovaní prečíta celý stĺpec Množstvo zhora nadol a spočíta všetky hodnoty.

Indexovanie údajov vo Vertipaq: Úložisko riadkov verzus Úložisko stĺpcov

Z tohto dôvodu sa dotazy budú vykonávať rýchlejšie v porovnaní s vykonávaním zľava doprava.

Porovnanie času vykonávania v jednoduchých dotazoch

Aby sme skutočne videli obrovský rozdiel medzi ukladaním riadkov a ukladaním stĺpcov, urobme niekoľko testovacích dotazov v SQL aj Vertipaq. Čas vykonania by nám mal povedať, ako rýchly je jeden proces v porovnaní s druhým.

Začnime jednoduchým dotazom v SQL. Ideme počítať pre SUM stĺpca Množstvo v tabuľke Predaj.

Indexovanie údajov vo Vertipaq: Úložisko riadkov verzus Úložisko stĺpcov

Ako vidíte, celkový čas vykonania je 2,2 sekundy.

Teraz prejdeme do DAX Studio a použijeme funkciu EVALUATE na vykonanie rovnakého dotazu. Musíme zapnúť časovanie servera a počkať na dokončenie sledovania.

Indexovanie údajov vo Vertipaq: Úložisko riadkov verzus Úložisko stĺpcov

Musíme sa tiež uistiť, že pri spustení dotazu je vybratá možnosť „Vymazať vyrovnávaciu pamäť, potom spustiť“.

Indexovanie údajov vo Vertipaq: Úložisko riadkov verzus Úložisko stĺpcov

Po vykonaní dotazu uvidíte, že dokončenie rovnakého dotazu, ktorý sme robili v SQL predtým, trvá iba 3 milisekúndy.

Indexovanie údajov vo Vertipaq: Úložisko riadkov verzus Úložisko stĺpcov

Súbor výsledkov by sa mal zhodovať aj pre SQL aj DAX Studio. Ak ich položíme vedľa seba, môžete vidieť, že vraciame rovnakú hodnotu.

Indexovanie údajov vo Vertipaq: Úložisko riadkov verzus Úložisko stĺpcov

Môžete skúsiť spustiť dotaz ešte niekoľkokrát, aby ste videli, ako konzistentný je čas vykonania.

Porovnanie času vykonávania v zložitejších dopytoch

Tentokrát si porovnajme čas vykonania, keď spúšťame zložitejšie dotazy.

Povedzme, že chceme identifikovať SUM predajného množstva pre každú značku. K tomu môžeme použiťcezkaždej značky produktu. V nízkom kontexte tiež vytvoríme novú tabuľku s názvom Celkové množstvo, kam idemeza SÚČET Predajného množstva.

Indexovanie údajov vo Vertipaq: Úložisko riadkov verzus Úložisko stĺpcov

Ak spustíme tento kód, môžete vidieť, že celkový čas vykonania je 7 milisekúnd.

Indexovanie údajov vo Vertipaq: Úložisko riadkov verzus Úložisko stĺpcov

Na pozadí tento kód v skutočnosti spúšťa dva dotazy. Prvý preberie stĺpec Značka z tabuľky Produkty a potom vykoná a OUTER JOIN v stĺpcoch Product Key zo stĺpca Predaj aj Produkty.

Indexovanie údajov vo Vertipaq: Úložisko riadkov verzus Úložisko stĺpcov

Druhý dotaz jednoducho získa stĺpec Značka z tabuľky Produkty.

Indexovanie údajov vo Vertipaq: Úložisko riadkov verzus Úložisko stĺpcov

Ak prejdem na obrazovku s výsledkami, môžete vidieť, že miera celkového množstva bola rozdelená na základe každej značky.

Indexovanie údajov vo Vertipaq: Úložisko riadkov verzus Úložisko stĺpcov

Teraz poďme na server SQL a napíšme rovnaký dotaz.

Tabuľku Predaj DaxStudio posunieme na ďalší riadok s odkazom na tabuľku Predaj AS S. Potom tiež vykonáme LEFT JOIN v tabuľke Produkty DaxStudio s odkazom AS P s kľúčom S.Product Key rovným P.Produktový kľúč. Tiež budeme používať P.Brand so súčtom množstva a celkového množstva v príkaze SELECT . Nakoniec použijemepre P.brand.

Indexovanie údajov vo Vertipaq: Úložisko riadkov verzus Úložisko stĺpcov

Keď spustíme tento kód, dostaneme tabuľku, ktorá obsahuje celkové množstvo rozdelené podľa jednotlivých značiek, čo je to isté, čo sme predtým dostali vo Vertipaq.

Indexovanie údajov vo Vertipaq: Úložisko riadkov verzus Úložisko stĺpcov

Pokiaľ ide o celkový čas vykonania, zostáva oveľa pomalší na 2,5 sekundy.

Indexovanie údajov vo Vertipaq: Úložisko riadkov verzus Úložisko stĺpcov




Záver

Je zrejmé, aké rýchle je ukladanie stĺpcov cez Vertipaq v porovnaní s ukladaním riadkov v databáze SQL. To ukazuje, že je dôležité skutočne spoznať spôsob, akým funguje indexovanie údajov prostredníctvom rôznych platforiem.

Na prvý pohľad sa to môže zdať ako malá obeta, ak sa stále rozhodnete prejsť na 2,5 sekundy, počas ktorých sa v úložisku riadkov spustí dopyt, v porovnaní so 7 milisekúndami. Všetci však pri vytváraní prehľadov spúšťame niekoľko dopytov a všetky tieto časy vykonania sa sčítajú, čo z dlhodobého hľadiska ovplyvní produktivitu a používateľskú skúsenosť.


Vytvoření tabulky data v LuckyTemplates

Vytvoření tabulky data v LuckyTemplates

Zjistěte, proč je důležité mít vyhrazenou tabulku s daty v LuckyTemplates, a naučte se nejrychlejší a nejefektivnější způsob, jak toho dosáhnout.

LuckyTemplates Mobile Reporting Tipy a techniky

LuckyTemplates Mobile Reporting Tipy a techniky

Tento stručný návod zdůrazňuje funkci mobilního hlášení LuckyTemplates. Ukážu vám, jak můžete efektivně vytvářet přehledy pro mobily.

Profesionální servisní analytické zprávy v LuckyTemplates

Profesionální servisní analytické zprávy v LuckyTemplates

V této ukázce LuckyTemplates si projdeme sestavy ukazující profesionální analýzy služeb od firmy, která má více smluv a zákaznických vztahů.

Aktualizácie Microsoft Power Platform | Microsoft Ignite 2021

Aktualizácie Microsoft Power Platform | Microsoft Ignite 2021

Pozrite si kľúčové aktualizácie pre Power Apps a Power Automate a ich výhody a dôsledky pre platformu Microsoft Power Platform.

Bežné funkcie SQL: Prehľad

Bežné funkcie SQL: Prehľad

Objavte niektoré bežné funkcie SQL, ktoré môžeme použiť, ako napríklad reťazec, dátum a niektoré pokročilé funkcie na spracovanie alebo manipuláciu s údajmi.

Vytvoření šablony LuckyTemplates: Průvodce a tipy

Vytvoření šablony LuckyTemplates: Průvodce a tipy

V tomto tutoriálu se naučíte, jak vytvořit dokonalou šablonu LuckyTemplates, která je nakonfigurována podle vašich potřeb a preferencí.

Parametry pole a malé násobky v LuckyTemplates

Parametry pole a malé násobky v LuckyTemplates

V tomto blogu si ukážeme, jak vrstvit parametry pole s malými násobky, abychom vytvořili neuvěřitelně užitečné přehledy a vizuály.

LuckyTemplates Rank a vlastní seskupení

LuckyTemplates Rank a vlastní seskupení

V tomto blogu se dozvíte, jak používat funkce hodnocení LuckyTemplates a vlastní seskupování k segmentaci ukázkových dat a jejich seřazení podle kritérií.

Zobrazení kumulativního součtu pouze do určitého data v LuckyTemplates

Zobrazení kumulativního součtu pouze do určitého data v LuckyTemplates

V tomto tutoriálu se budu zabývat konkrétní technikou, jak zobrazit kumulativní součet pouze do určitého data ve vašich vizuálech v LuckyTemplates.

Bullet Charts: Pokročilé vlastní vizuální prvky pro LuckyTemplates

Bullet Charts: Pokročilé vlastní vizuální prvky pro LuckyTemplates

Naučte se vytvářet a přizpůsobovat Bullet grafy v LuckyTemplates, které se používají hlavně pro měření výkonu oproti cílovým nebo předchozím rokům.