2. Немного о ТМ1 Клиент-серверная архитектура In-Memory OLAP engine Features: Скорость расчетов Неограниченные объемы кубов и измерений Тонкий клиент Атрибуты измерений и сложные вычисления SandBox – любое количество версий для каждого пользователя
3. Основные объекты ТМ1 Измерение Куб Правило: описывает вычисления в кубе описывает связи между кубами вычисление запускается при изменении данных TurboIntegratorпроцесс: выполняемый по требованию (или расписанию) набор задач можно делать то же, что в Правилах можно загружать и выгружать данные можно управлять TM1 сервером
4. Делать ливсе вычисления на правилах? Быстро работает Нет сложностей в проектировании Просто в разработке и тестировании – «ввел цифру, увидел результат»
5. Еще о правилах: Часть модели бюджетирования: Баланс зависит от БДДС БДДС – от плана продаж план продаж – от прайс-листа Меняем цифру в прайс-листе – пересчитываются все кубы, связанные правилами (cube dependency) Вычисление баланса при изменении прайс-листа – всего 2 секунды А если «мы»–это 500 региональных менеджеров по продажам?
7. Блокировки: Гранулированность – объект (куб, view, измерение) Типы блокировок: на чтение (R) – чтение блокирует запись на будущую запись (IX)– ждем окончания всех чтений на запись (W) – во время записи ни одна нить не может обращаться к объекту Основной инструмент –TM1Top Сложные вычисления в правилах => много зависимых объектов => медленнее вычисления в целом и модель «останавливается» уже при нескольких пользователях Сложно в проектировать масштабируемые модели
8. Что делать? Писать более «быстрые» правила учитывайте разреженность кубов – Feeders Разделять модель на независимые блоки: вводас минимумом вычислений – Input вычислений – Calculation отчеты – Output «Дробить» кубы (например по регионам) – блокировка отчетов Для связи между блоками использовать TI-процессы Осмысленно выбирать «границы» блоков
9. Правила и процессы Код Соглашения о наименовании объектов Комментарии в коде Система контроля версий кода + автоматическое сохранение: резервное копирование возможность посмотреть «как было» Тестирование функциональное – все вычисляется согласно ТЗ нагрузочное – и при этом работает для 100 пользователей
10. Выбор оборудования: Запись (и часть вычислений) происходит в одну нить: несколько серверов скорость процессоров, а не их количество несколько TM1 серверов на одном физическом сервере Скорость и объем ОП: проверяйте на полностью заполненной модели при вводе данных объем занимаемой памяти растет зависит от количества одновременно работающих пользователей Лог транзакций TM1: быстрые диски для лог-файлов специальные bulk load команды в TI при импорте
11. Нагрузочное тестирование Эмулируем работу пользователя, задавая: кубыдля чтения кубы для записей количество таких пользователей Заполняем несколько таких «профилей» (15 региональных бренд-менеджеров и 5 аналитиков) и запускаем одновременно Запускаем TM1Top и смотрим на блокировки
12. Как анализировать модель в TM1? Документация: слишком много – сложно поддерживать, слишком мало – сложно понять. Типичные вопросы: Общая схема модели, взаимосвязи между объектами. Как обновляется этот кубзмерение? Что делает тот или иной процесс?
15. Список литературы TM1 Operations Guide Подборка материалов на olapforums BiHints IBM Knowledge Base
Notes de l'éditeur
Пример с ускорением расчетов с 8ми часов до 1,5 минут
Основная задача TurboIntegrator – процессы загрузки\\выгрузки данных
Запись в TI процессах точно так же блокирует модель
Кодировка кубов в Cognos EP
Общие подходы из индустрии создания ПО
Excel файл сайзинга от IBMПроверка нагрузочным тестированиемОсторожнее с репликациейПри массивных операциях (удаление данных кубов, импорт) – I\\O нагрузка на лог-файл