Кеші даних у обчисленні DAX

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

Зміст

Що таке кеш даних?

Механізм зберігання взаємодіє з механізмом формул у формі кеша даних.

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

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

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

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

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

Які основні функції?

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

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

Немає проблем із використанням механізму формул; вам просто потрібно змусити систему зберігання виконувати роботу якомога більше.

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

Де знайти кеш даних?

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

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

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

Якщо кількість матеріалізованих рядків дорівнює кількості рядків, необхідних для виведення, це називається пізньою матеріалізацією . Однак, якщо кількість матеріалізованих рядків перевищує необхідну кількість рядків, це називається ранньою матеріалізацією . Оскільки це нестиснуті дані, ви не повинні дозволяти обом механізмам матеріалізувати їх, оскільки це сповільнить продуктивність DAX.

Це приклад ранньої матеріалізації:

Кеші даних у обчисленні DAX

У плані фізичного запиту ви можете побачити 25 мільйонів рядків, які витягуються в стовпець записів. Однак для зразка запиту не потрібно 25 мільйонів рядків виводу. Це означає, що запит отримав забагато рядків, ніж потрібно.

Якщо ви подивіться на часові параметри сервера, ви побачите таку саму кількість рядків, які витягуються в стовпці «Рядки».

Кеші даних у обчисленні DAX

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

Кеші даних у обчисленні DAX




Висновок

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


Змінні та вирази в редакторі 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 – наступна подія лише для учасників