Использование служб Integration Services для отправки изменений в кубы

Поскольку наш SQL-сервер является стандартной версией и не может выполнять упреждающее кэширование, мне было интересно, могут ли службы Integration Services обнаруживать изменения в базе данных / таблице, поэтому он может автоматически обрабатывать куб? Или это желаемое за действительное?

1 ответ

Решение

Я не верю, что это будет поддерживать это изначально, но вы могли бы сделать что-то вроде следующего

1) Добавьте в таблицу триггер, который будет устанавливать значение даты последнего изменения каждый раз, когда запись вставляется или обновляется.

2) Создайте пакет служб SSIS для повторной обработки кубов.

3) Попросите пакет ssis записать значение времени последнего запуска, чтобы отследить время последнего выполнения

4) Сделайте, чтобы ваш пакет служб SSIS сравнил дату последнего изменения таблицы с последним временем выполнения пакета. Если изменение произошло, то пакет служб SSIS может выполнить его обработку.

5) Запланируйте запуск пакета каждые пять минут или около того, чтобы получить новые данные.

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

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

Другие вопросы по тегам