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

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

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

У цьому підручнику ви ознайомитеся з вісьмома важливими речами, про які слід пам’ятати під час роботи з кешами даних у 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.

Power Query: об’єднайте файли з кількох папок

Power Query: об’єднайте файли з кількох папок

Дізнайтеся, як об’єднати файли з кількох папок у мережі, робочому столі, OneDrive або SharePoint за допомогою Power Query.

Обчисліть місячне ковзне середнє з початку року (з початку року) у LuckyTemplates

Обчисліть місячне ковзне середнє з початку року (з початку року) у LuckyTemplates

Цей підручник пояснює, як обчислити місячне ковзне середнє на базі даних з початку року за допомогою функцій AVERAGEX, TOTALYTD та FILTER у LuckyTemplates.

Створення таблиці дат у LuckyTemplates

Створення таблиці дат у LuckyTemplates

Дізнайтеся, чому важлива спеціальна таблиця дат у LuckyTemplates, і вивчіть найшвидший і найефективніший спосіб це зробити.

Мобільні звіти LuckyTemplates. Поради та методи

Мобільні звіти LuckyTemplates. Поради та методи

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

Звіти про професійну аналітику послуг у LuckyTemplates

Звіти про професійну аналітику послуг у LuckyTemplates

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

Оновлення Microsoft Power Platform | Microsoft Ignite 2021

Оновлення Microsoft Power Platform | Microsoft Ignite 2021

Ознайомтеся з основними оновленнями для Power Apps і Power Automate, а також їх перевагами та наслідками для Microsoft Power Platform.

Загальні функції SQL: огляд

Загальні функції SQL: огляд

Відкрийте для себе деякі поширені функції SQL, які ми можемо використовувати, наприклад String, Date і деякі розширені функції для обробки та маніпулювання даними.

Створення шаблону LuckyTemplates: керівництво та поради

Створення шаблону LuckyTemplates: керівництво та поради

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

Параметри полів і малі кратні в LuckyTemplates

Параметри полів і малі кратні в LuckyTemplates

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