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


Упреждающее кэширование (секции)

Упреждающее кэширование позволяет автоматически создавать кэш MOLAP для объектов OLAP, а также управлять им. Кубы мгновенно реагируют на изменения, которые происходят с данными из базы данных, благодаря уведомлениям, получаемым от базы данных. Цель упреждающего кэширования — совмещение производительности, характерной для традиционного MOLAP, со скоростью и простотой управления ROLAP.

Простой объект ProactiveCaching состоит из спецификация времени и уведомление таблиц. Спецификация времени определяет временной промежуток, за который кэш обновляется после получения уведомления об изменении. В уведомлении таблиц определяется схема обмена уведомлениями между таблицей данных и объектом ProactiveCaching.

Хранилище многомерного OLAP (MOLAP) обеспечивает наилучшее время отклика запросов, но с некоторой задержкой данных. Хранилище реляционного OLAP (ROLAP), функционирующее в режиме реального времени, позволяет пользователям немедленно просматривать самые последние изменения в источнике данных, но с гораздо меньшей производительностью, чем хранилище многомерного OLAP (MOLAP), в связи с отсутствием предварительно рассчитанных сводок данных и в связи с тем, что реляционное хранилище не оптимизировано для запросов типа OLAP. При наличии приложений пользователям, которым необходимо видеть последние данные и при необходимости использовать преимущества производительности хранилища MOLAP, службы SQL Server Analysis Services предоставляют возможность упреждающего кэширования для удовлетворения потребностей этого сценария, в особенности в сочетании с использованием секций. Упреждающее кэширование устанавливается на базе секции и измерения. Параметры упреждающего кэширования могут обеспечить баланс между повышенной производительностью хранилища MOLAP и оперативностью данных хранилища ROLAP, а также обеспечить автоматическую обработку секций при изменении базовых данных или по расписанию.

Параметры настройки упреждающего кэширования

Службы SQL Server Analysis Services предоставляют несколько параметров конфигурации упреждающего кэширования, позволяющих добиться максимальной производительности и минимальной задержки, а также создать план обработки. Функции упреждающего кэширования упрощают процесс управления устареванием данных. Настройки упреждающего кэширования определяют, насколько часто осуществляется перестроение многомерной структуры OLAP, называемой также кэшем MOLAP, отправляются ли запросы при перестроении кэша к устаревшему хранилищу MOLAP или к базовому источнику данных ROLAP и осуществляется ли перестроение кэша по расписанию или на основе изменений в базе данных.

Минимизация задержки

При настройке упреждающего кэширования для минимизации задержки запросы пользователя к объекту OLAP выполняются к хранилищу ROLAP или к хранилищу MOLAP, в зависимости от того, вносились ли в последнее время изменения в данные, и как настроено упреждающее кэширование. Ядро запросов направляет запросы к данным источника в хранилище MOLAP до внесения изменений в источник данных. Для минимизации задержки после внесения изменений в источник данных кэшированные объекты MOLAP могут удаляться, и выполнение запросов переключается на хранилище ROLAP, в то время как объекты MOLAP перестраиваются в кэше. После перестроения и обработки объектов MOLAP запросы автоматически переключаются на хранилище MOLAP. Обновление кэша может выполняться чрезвычайно быстро для небольших секций, например для текущей секции, которая может быть размером, соответствующему текущему дню.

Максимизация производительности

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