Блог о Qlik Design. Кэш QlikView

У QlikView очень эффективный, запатентованный алгоритм кэширования, который существенно сокращает время расчета для тех расчетов, которые были произведены раньше. Другими словами, когда Вы используете кнопку «Назад» на панели инструментов, или, если Вы делаете выбор, который делали раньше, Вы получаете результат немедленно. Расчетов не требуется.

Но как это работает? Что используется в качестве справочного ID?

Для каждого объекта, или комбинации набора выбора данных, или подмножества данных, выражение QlikView рассчитывает цифровой отпечаток, который идентифицирует контекст. Он используется в качестве справочного ID и хранится в кэше вместе с результатом расчета.

Рис 1

«Расчет» в данном случае означает Логический Вывод и Наметку расчета, или любое выражение в любом месте. Это означает, что и промежуточный и конечный результат отбора будут сохранены. Есть некоторые особенности, которые необходимо знать, работая с кэш-памятью …

  • Кэш является глобальным. Он используется для всех пользователей и всех типов документов. Кэш не относится к определенному документу или к только одному пользователю. Таким образом, если пользователь делает выбор, который уже был сделан другим пользователем, то кэш используется. И если у вас есть те же данные в двух разных приложениях, то для обоих документов может быть использована одна запись в кэше.
  • Память не возвращается, когда документ выгружается. Записи кэша не будут чиститься до того, как оперативная память не приблизится, или не достигнет нижнего предела работы. QlikView почистит некоторые записи и повторно использует память для других записей кэша. Такое поведение программы иногда заставляет людей верить, что есть утечка памяти. Но не стоит бояться — это должно происходить именно таким образом. Это позволит Вам не перезапустить программу, чтобы очистить кэш.
  • Самые старые записи кэша не удаляются в первую очередь. Сразу несколько факторов используются для вычисления приоритета каждого элемента кэша; это такие факторы, как использование памяти, стоимость нового расчета и время, прошедшее с момента последнего использования. Записи с комбинированным низким приоритетом будут очищены при необходимости. Следовательно, запись, которую дешево рассчитать снова будет легко очищаться, а также, если ее недавно использовали. Другое значение, которое дорого рассчитать, или которое использует небольшой объем оперативной памяти будет храниться в течение гораздо более длительного времени.
  • Кэш не очищается при запуске макросов, как утверждают некоторые люди.
  • Вы должны написать выражение точно. Если выражение используется в нескольких местах, оно должно быть написано точно таким же образом — большие буквы, количество пробелов и т.д., в противном случае оно не будет считаться тем же выражением. Если Вы сделаете все правильно, не должно быть большой разницы в производительности между повторением формулы, которая ссылается на другое выражение, используя метку выражения или с помощью функции Colunm ().

Кэш эффективно ускоряет QlikView. В основном это способ замены памяти временем CPU: Если сохранить больше памяти на сервере, Вы сможете повторно использовать большее количество вычислений и, таким образом использовать меньше процессорного времени.

 

Найти решение у бизнес-партнера QlikTech (QlikView) в России.

Форум разработчиков QlikView и Qlik Sense. Получите ответы на все вопросы по QlikView и Qlik Sense!

Вы можете оставить комментарий, или ссылку на Ваш сайт.

Оставить комментарий

64 queries in 0,182 seconds
Website nonton bokep jepang