Cosè il sé in Python: esempi del mondo reale
Cos'è il sé in Python: esempi del mondo reale
In questo tutorial imparerai cos'è una cache di dati e perché è importante. Una cache di dati memorizza bit di dati che potrebbero diventare preziosi per un utilizzo futuro.
Se hai bisogno delle stesse informazioni in una misura o azione futura, la cache dei dati fornirà le informazioni di cui hai bisogno. Elimina il fatto che il sistema recuperi nuovamente gli stessi set di dati.
In questo tutorial, esaminerai otto cose importanti da ricordare quando hai a che fare con le cache di dati in LuckyTemplates:
Sommario
Definizione e scopo di una cache di dati
Una cache di dati è una tabella temporanea creata in memoria dal motore di archiviazione . Questa tabella temporanea viene inviata al motore delle formule che quindi itera su queste informazioni ed esegue diverse operazioni in seguito alla query.
Tutta la comunicazione tra il motore delle formule e il motore di archiviazione avviene sempre sotto forma di cache di dati. Il motore delle formule prepara i piani di query e quindi invia le istruzioni al motore di archiviazione. Il motore di archiviazione lo invia quindi al motore di formula che restituisce il risultato all'utente.
Poiché il motore delle formule non ha accesso diretto ai dati archiviati in DirectQuery e VertiPaq, si affida al motore di archiviazione per le cache dei dati.
La cache dei dati inviata dal motore di archiviazione è in un formato non compresso. Ciò significa che la dimensione dei dati memorizzati nello strumento Vertipaq può essere ridotta.
Ma quando è il momento di restituire la cache dei dati al motore delle formule, non può essere compressa perché il motore delle formule non funziona con i set di dati compressi.
Qual è l'impatto di una cache di dati sulla RAM
Se il motore di archiviazione sta inviando enormi blocchi di cache di dati, questo richiederà molto spazio sulla RAM del software. Inoltre, il motore delle formule impiegherà molto tempo per eseguire le iterazioni e produrre un risultato.
Pertanto, quando si scrive il codice DAX, è necessario comprendere che deve essere scritto in modo da ridurre al minimo le righe nella cache dei dati.
Lo scenario migliore consiste nel far corrispondere il numero di righe mostrato nell'oggetto visivo con il numero di righe restituite nella cache dei dati.
La maggior parte delle volte è difficile restituire la stessa quantità di righe. In tal caso, sarà necessario rivedere il codice DAX e suddividerlo in modo da ottimizzare la cache dei dati prodotta dal motore di archiviazione.
Come una cache di dati ottimizza le query
Funzioni non ottimizzate
Alcune delle funzioni nel linguaggio DAX non sono ottimizzate per il motore di archiviazione. Per capire meglio questo, diamo un'occhiata a un esempio.
Ad esempio, nel tuo codice, invece di utilizzare SUMMARIZE, puoi utilizzare la funzione Le funzioni SUMMARIZE e GROUPBY eseguono la stessa operazione. Tuttavia, ci sono notevoli differenze a seconda dello scenario.
La funzione GROUPBY non è ottimizzata per Storage Engine. Se utilizzi la funzione GROUPBY su una tabella dei fatti con 12 milioni di righe, produrrà una cache di dati con lo stesso numero di righe. Questo può essere grande da 600 MB fino a 1 GB.
Questa dimensione può esercitare molta pressione sulla RAM. Quindi, invece di usare GROUPBY, usa . La funzione SUMMARIZE genera una dimensione della cache dei dati inferiore. Puoi abbinarlo a GROUPBY come funzione di primo livello.
Reiterazioni ridotte
Quando si scrivono le misure o le query DAX, è necessario assicurarsi che il codice prodotto dietro le quinte sia adatto al motore di archiviazione.
È necessario scrivere il codice DAX in modo da produrre una cache di dati che possa essere usata anche nelle query successive. Il vantaggio di questa operazione è che invece di eseguire una scansione separata utilizzando VertiPaq , il motore di archiviazione verificherà se è già stata ricevuta una query simile.
Se questo è vero, significa che la sua cache di dati è disponibile in memoria. Quindi, invece di eseguire nuovamente la scansione della query, VertiPaq la restituirà semplicemente dalla memoria cache al motore delle formule.
Se vedi un operatore CALLBACKDATAID nella query del motore di archiviazione, significa che tali query non possono essere memorizzate nella cache. Se nel caso in cui una query simile viene inviata al motore di archiviazione, eseguirà una reiterazione.
Pertanto, VertiPaq dovrà chiamare il motore delle formule per risolvere la query. Ciò aumenta il tempo di esecuzione complessivo perché in questo caso la memoria cache non può essere utilizzata.
Conclusione
La cache dei dati è la tua migliore amica nel linguaggio DAX. Ricordarsi di scrivere il codice DAX in modo da massimizzare lo spazio di archiviazione e ridurre il numero di iterazioni dello strumento VertiPaq. È possibile riutilizzare la cache dei dati già prodotta dallo Storage Engine per ridurre il tempo di esecuzione delle query.
Cos'è il sé in Python: esempi del mondo reale
Imparerai come salvare e caricare oggetti da un file .rds in R. Questo blog tratterà anche come importare oggetti da R a LuckyTemplates.
In questa esercitazione sul linguaggio di codifica DAX, scopri come usare la funzione GENERATE e come modificare dinamicamente il titolo di una misura.
Questo tutorial illustrerà come utilizzare la tecnica di visualizzazione dinamica multi-thread per creare approfondimenti dalle visualizzazioni di dati dinamici nei report.
In questo articolo, esaminerò il contesto del filtro. Il contesto del filtro è uno degli argomenti principali che qualsiasi utente di LuckyTemplates dovrebbe inizialmente conoscere.
Voglio mostrare come il servizio online di LuckyTemplates Apps può aiutare nella gestione di diversi report e approfondimenti generati da varie fonti.
Scopri come elaborare le modifiche al margine di profitto utilizzando tecniche come la ramificazione delle misure e la combinazione di formule DAX in LuckyTemplates.
Questo tutorial discuterà delle idee di materializzazione delle cache di dati e di come influiscono sulle prestazioni dei DAX nel fornire risultati.
Se finora utilizzi ancora Excel, questo è il momento migliore per iniziare a utilizzare LuckyTemplates per le tue esigenze di reportistica aziendale.
Che cos'è il gateway LuckyTemplates? Tutto quello che devi sapere