Кеш даних: що це таке і як він допомагає оптимізувати запити

У цьому посібнику ви дізнаєтеся, що таке кеш даних і чому він важливий. Кеш даних зберігає біти даних, які можуть стати цінними для майбутнього використання.

Якщо вам потрібні ті самі фрагменти інформації в майбутньому заході чи дії, кеш даних надасть потрібну інформацію. Це усуває необхідність повторного отримання системою тих самих наборів даних.

У цьому підручнику ви ознайомитеся з вісьмома важливими речами, про які слід пам’ятати під час роботи з кешами даних у LuckyTemplates:

Кеш даних: що це таке і як він допомагає оптимізувати запити

Зміст

Визначення та призначення кешу даних

Кеш даних: що це таке і як він допомагає оптимізувати запити

Кеш даних — це тимчасова таблиця, створена в пам’яті за допомогою . Ця тимчасова таблиця надсилається механізму формул, який потім перебирає цю інформацію та виконує різні операції після запиту.

Кеш даних: що це таке і як він допомагає оптимізувати запити

Весь зв’язок між системою зберігання даних і системою зберігання даних завжди відбувається у формі кешу даних. Механізм формул готує плани запитів, а потім надсилає інструкції механізму зберігання. Потім механізм зберігання надсилає його назад механізму формул, який повертає результат назад користувачеві.

Кеш даних: що це таке і як він допомагає оптимізувати запити

Оскільки механізм формул не має прямого доступу до даних, що зберігаються в DirectQuery та VertiPaq, він покладається на механізм зберігання для кешів даних.

Кеш даних: що це таке і як він допомагає оптимізувати запити

Кеш даних, надісланий системою зберігання даних, має нестиснений формат. Це означає, що розмір даних, які зберігаються в інструменті Vertipaq, можна зменшити.

Але коли приходить час повернути кеш даних назад до механізму формул, його не можна стиснути, оскільки механізм формул не працює зі стиснутими наборами даних.

Який вплив кешу даних на оперативну пам’ять

Кеш даних: що це таке і як він допомагає оптимізувати запити

Якщо механізм зберігання надсилає величезні фрагменти кешу даних, це займе багато місця в оперативній пам’яті програмного забезпечення. Також знадобиться багато часу, щоб система формул виконувала ітерації та виробляла результат.

Отже, коли ви пишете свій код DAX, ви повинні розуміти, що він має бути написаний таким чином, щоб мінімізувати кількість рядків у кеші даних.

Найкращим сценарієм було б зіставити кількість рядків, показаних у візуальному зображенні, з кількістю рядків, повернутих у кеші даних.

У більшості випадків буває важко повернути однакову кількість рядків. Якщо це станеться, вам потрібно буде переглянути свій код DAX і розбити його таким чином, щоб оптимізувати кеш даних, створений механізмом зберігання.

Як кеш даних оптимізує запити

Неоптимізовані функції

Кеш даних: що це таке і як він допомагає оптимізувати запити

Деякі функції на мові DAX не оптимізовані для механізму зберігання. Щоб краще це зрозуміти, розглянемо приклад.

Наприклад, у вашому коді замість використання SUMMARIZE можна використовувати функцію. Функції SUMMARIZE і GROUPBY виконують однакову операцію. Однак існують помітні відмінності залежно від сценарію.

Функція GROUPBY не оптимізована для системи зберігання даних. Якщо ви використовуєте функцію GROUPBY для таблиці фактів із 12 мільйонами рядків, вона створить кеш даних із такою ж кількістю рядків. Це може бути від 600 Мб до 1 Гб.

Такий розмір може сильно навантажувати оперативну пам’ять. Тому замість використання GROUPBY використовуйте . Функція SUMMARIZE призводить до меншого розміру кешу даних. Ви можете поєднати його з GROUPBY як функцію верхнього рівня.

Зменшені повтори

Коли ви пишете заходи або запити DAX, вам потрібно переконатися, що створений за лаштунками код підходить для механізму зберігання.

Кеш даних: що це таке і як він допомагає оптимізувати запити

Вам потрібно написати свій код DAX таким чином, щоб створити кеш даних, який також можна використовувати в наступних запитах. Перевага цього полягає в тому, що замість виконання окремого сканування за допомогою , система зберігання перевірить, чи вже було отримано подібний запит.

Якщо це правда, це означає, що його кеш даних доступний у пам’яті. Тож замість повторного сканування запиту VertiPaq просто поверне його з кеш-пам’яті до механізму формул.

Кеш даних: що це таке і як він допомагає оптимізувати запити

Якщо ви бачите у своєму запиті системи зберігання, це означає, що ці запити не можна кешувати. Якщо подібний запит буде надіслано системі зберігання, вона виконає повторення.

Таким чином, VertiPaq повинен буде викликати механізм формул, щоб вирішити запит. Це збільшує загальний час виконання, оскільки в цьому випадку кеш-пам'ять не може використовуватися.

Висновок

Кеш даних — ваш найкращий друг у мові DAX. Не забувайте писати код DAX таким чином, щоб максимізувати простір для зберігання та зменшити кількість ітерацій інструмента VertiPaq. Ви можете повторно використовувати кеш даних, створений Storage Engine, щоб скоротити час виконання запиту.


Змінні та вирази в редакторі Power Query

Змінні та вирази в редакторі Power Query

У цьому посібнику обговорюватимуться змінні та вирази в редакторі Power Query. Ви навчитеся правильно їх писати та будувати.

Як створити теплову карту LuckyTemplates

Як створити теплову карту LuckyTemplates

Теплова карта LuckyTemplates — це тип візуалізації, який використовується для відображення щільності даних на карті. У цьому підручнику я розповім, як ми можемо створити один – не пропустіть!

Створення діаграми Парето в LuckyTemplates – Advanced DAX

Створення діаграми Парето в LuckyTemplates – Advanced DAX

Я збираюся навчити вас справді цікавому прикладу принципу Парето та тому, як створити діаграму Парето за допомогою важливих формул DAX.

Власна гістограма в LuckyTemplates: різновиди та модифікація

Власна гістограма в LuckyTemplates: різновиди та модифікація

Дізнайтеся, як користувацьку гістограму на ринку можна використовувати для порівняння даних і як ви можете створити їх за допомогою прикладів у LuckyTemplates.

Статичні результати Power Automate: огляд

Статичні результати Power Automate: огляд

Дізнайтеся, як працює функція Power Automate Static Results і чому її корисно додати до найкращих методів створення блок-схем.

Підручник LuckyTemplates Python: як перекладати тексти

Підручник LuckyTemplates Python: як перекладати тексти

eDNA демонструє, як виконувати переклад мови або тексту за допомогою Python і передавати це в LuckyTemplates. Підручник LuckyTemplates Python.

Створіть діаграму Ганта в конструкторі звітів LuckyTemplates

Створіть діаграму Ганта в конструкторі звітів LuckyTemplates

У цьому підручнику ви дізнаєтеся, як використовувати Gauge Bullet Graph для створення діаграми Ганта в LuckyTemplates Report Builder.

Створіть тривимірну точкову діаграму за допомогою Python у LuckyTemplates

Створіть тривимірну точкову діаграму за допомогою Python у LuckyTemplates

У цьому підручнику ви дізнаєтесь, як створити тривимірну (3D) точкову діаграму за допомогою Python у LuckyTemplates.

Ефективне звітування LuckyTemplates – огляд сеансу та завантаження ресурсу

Ефективне звітування LuckyTemplates – огляд сеансу та завантаження ресурсу

Ефективне звітування LuckyTemplates – огляд сеансу та завантаження ресурсу

Аналіз нових клієнтів за допомогою LuckyTemplates – наступна подія лише для учасників

Аналіз нових клієнтів за допомогою LuckyTemplates – наступна подія лише для учасників

Аналіз нових клієнтів за допомогою LuckyTemplates – наступна подія лише для учасників