?
Инкрементальный метод обновления многомерного куба по неупорядоченному потоку событий журналов информационных систем
Информационные системы формируют большие объёмы событийных журналов, которые используются для анализа работы приложений и сервисов. При этом события могут поступать в аналитический контур позже момента их фактического возникновения и не в исходном порядке. Такая рассинхронизация приводит к ошибкам при построении агрегированных временных показателей, а регулярный полный пересчёт многомерного аналитического куба требует значительных вычислительных затрат. Целью работы является разработка подхода к обновлению многомерного куба по потоку журнальных событий с учётом задержек и нарушения порядка их поступления. Ведущим подходом является разделение итогового представления куба на базовый куб и компенсационный слой. Своевременно поступающие события обновляют базовый куб, а запаздывающие события в пределах заданного горизонта компенсации вносят поправки в компенсационный слой. Для исключения повторного учёта событий используется проверка уникальных идентификаторов. В работе представлена формальная модель события, описаны правила отнесения событий к ячейкам куба по времени возникновения, предложен алгоритм инкрементального обновления и проведён вычислительный эксперимент на программном прототипе. Результаты эксперимента показали, что предложенный метод снижает ошибку агрегатов по сравнению с оконным методом и требует меньшего объёма повторной обработки данных по сравнению с пакетным пересчётом. Материалы статьи представляют практическую ценность для разработки аналитических контуров мониторинга, аудита, анализа событий безопасности и пользовательской активности.