Поделиться через


Очистка кэша служб Analysis Services

Службы Analysis Services кэшируют данные для повышения производительности запросов. В этом разделе приводятся рекомендации по использованию команды XMLA ClearCache для очистки кэшей, созданных в ответ на запрос многомерных выражений. Эффекты выполнения команды ClearCache различаются в зависимости от используемой модели (табличной или многомерной).

Время очистки кэша для многомерных моделей

Для многомерных баз данных службы Analysis Services строят кэши в обработчике формул при выполнении вычисления и в подсистеме хранилища для результатов запросов измерений и запросов групп мер. Запросы групп мер выполняются, когда обработчику формул необходимы данные мер для координаты ячейки или вложенного куба. Запросы измерения выполняются при запросе неестественных иерархий и применении автоматических проверок существования.

Очистка кэша рекомендуется при проведении тестирования производительности. Очистка кэша между последовательными выполнениями тестов обеспечивает независимость результатов тестирования, измеряющих эффект изменения структуры запроса.

Время очистки кэша для табличных моделей

Табличные модели обычно хранятся в памяти, где агрегаты и другие вычисления выполняются во время выполнения запроса. Поэтому команда ClearCache имеет ограниченное влияние на табличные модели. Для табличной модели данные могут добавляться в кэши служб Analysis Services, если к ним выполняются запросы многомерных выражений. В частности, меры расширений интеллектуального анализа данных, упоминаемые в многомерных выражениях, и операции автоматической проверки существования могут кэшировать результаты соответственно в кэше формул и кэше измерений. Заметьте, что неестественные иерархии и запросы групп мер не кэшируют результаты в подсистеме хранилища. Кроме того, важно понимать, что запросы расширений интеллектуального анализа данных не кэшируют результаты в обработчике формул и подсистеме хранилища. Пока кэши существуют как результат запросов многомерных выражений, выполнение команды ClearCache для табличной модели сделает недопустимыми все кэшированные данные в системе.

Выполнение команды ClearCache также очищает кэши в памяти подсистемы VertiPaq аналитики в памяти xVelocity. Подсистема xVelocity хранит в кэше небольшой набор результатов. Выполнение команды ClearCache сделает эти кэши в подсистеме xVelocity недопустимыми.

Наконец, выполнение ClearCache также удаляет данные, оставшиеся в памяти при изменении конфигурации табличной модели для режима DirectQuery. Это особенно важно, если модель содержит конфиденциальные данные, подлежащие строгому управлению. В этом случае выполнение команды ClearCache служит мерой предосторожности, обеспечивающей наличие конфиденциальных данных только в соответствующих местах. Если для развертывания модели и изменения режима запроса используется среда Среда Management Studio, то необходимо очистить кэш вручную. Напротив, при использовании среды SQL Server Data Tools для указания режима DirectQuery в модели и секциях кэш очищается автоматически, когда модель переключается для использования этого режима запросов.

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

Очистка кэша для моделей служб Analysis Services

Чтобы очистить кэш, используйте XMLA и среду Среда SQL Server Management Studio. Кэш вы можете очищать на уровне базы данных, куба, измерения, таблицы или группы мер. Следующие действия по очистке кэша на уровне базы данных относятся и к многомерным и к табличным моделям.

ПримечаниеПримечание

Для тщательного тестирования производительности может потребоваться комплексный подход к очистке кэша. Инструкции по записи на диск служб Analysis Services и файловой системы см. в разделе, посвященном очистке кэшей, в руководстве SQL Server 2008 R2 Analysis Services Operations Guide (на английском языке).

Для многомерных и табличных моделей очистка некоторых из этих кэшей может выполняться в два этапа: выполнение команды ClearCache, делающей кэш недопустимым, и очистка кэша при получении следующего запроса. Сокращение объема используемой памяти будет заметно только после окончательной очистки кэша.

Для очистки кэша необходимо указать идентификатор объекта в инструкции ClearCache в запросе XMLA. Сначала в этом разделе описывается, как получить идентификатор объекта.

Шаг 1. Получение идентификатора объекта

  1. В среде Среда Management Studio щелкните объект правой кнопкой мыши, выберите пункт Свойства и скопируйте значение свойства «Идентификатор» на панели Свойства. Такой подход работает для баз данных, кубов, измерений и таблиц.

  2. Чтобы получить идентификатор группы мер, щелкните правой кнопкой мыши группу мер и выберите пункт Создать скрипт для группы мер. Выберите команду CREATE или ALTER и отправьте запрос в окно. Идентификатор группы мер будет виден в определении объекта. Скопируйте идентификатор определения объекта.

Шаг 2. Выполнение запроса

  1. В среде Среда Management Studio щелкните правой кнопкой мыши базу данных, укажите пункт Создать запрос и выберите пункт XMLA.

  2. Скопируйте следующий пример кода в окно запроса XMLA. Замените DatabaseID на идентификатор базы данных для текущего соединения.

    <ClearCache xmlns="https://schemas.microsoft.com/analysisservices/2003/engine">
      <Object>
        <DatabaseID> Adventure Works DW Multidimensional</DatabaseID>
      </Object>
    </ClearCache>
    

    Также вы можете указать путь к дочернему объекту, например группе мер, чтобы очистить кэш только для этого объекта.

    <ClearCache xmlns="https://schemas.microsoft.com/analysisservices/2003/engine">
      <Object>
        <DatabaseID>Adventure Works DW Multidimensional</DatabaseID>
            <CubeID>Adventure Works</CubeID>
            <MeasureGroupID>Fact Currency Rate</MeasureGroupID>
      </Object>
    </ClearCache>
    
  3. Нажмите клавишу F5, чтобы выполнить запрос. Должен появиться следующий результат:

    <return xmlns="urn:schemas-microsoft-com:xml-analysis">
      <root xmlns="urn:schemas-microsoft-com:xml-analysis:empty" />
    </return>
    

См. также

Основные понятия

Создание скриптов для административных задач в службах Analysis Services

Наблюдение за экземпляром служб Analysis Services