Как современные технологии позволяют Powercube достичь нового уровня immediacy (мгновенности) расчётов при работе с данными
Каждый год растет требование пользователей систем планирования к детализации данных. Это отражается на объёме данных, которые организации используют в своей деятельности. При этом требования к скорости расчетов сохраняются и даже переходят в область immediacy (мгновенности) расчетов. Отраслевым стандартом для EPM (Enterprise Performance Management*) становится скорость менее секунды на любую операцию, и не более 15 секунд на нагруженные операции импорта.
Для того, чтобы удовлетворить требованиям пользователей, Powercube выбрал MOLAP-технологию, модифицировав её и усилив её преимущества.
Архитектура хранения и обработки данных большинства устаревших, но всё ещё распространенных на рынке EPM-решений, построена на основе реляционных БД и SQL-запросах. Такой подход имеет два существенных минуса.
Во-первых, скорость получения результатов SQL-запросов падает экспоненциально при росте объема данных в модели.
Во-вторых, к еще большему снижению скорости приводит увеличение количества параметров, посредством которых бизнес анализирует данные, и усложнение связи между ними. Например, объем продаж можно проанализировать в “разрезе” следующих параметров: регион, поставщик, год, конкретный продукт и т.д. Ввод дополнительного параметра в модель существенно снижает скорость ответа системы на запросы, в которых этот параметр используется.
Если модель является сложной, то в ней появляется много данных и параметров. Скорость работы такой модели, построенной на реляционной БД, станет очень низкой. “Зависания” модели после каждого изменения могут длиться часами.
Это негативно сказывается на качестве и своевременности принимаемых операционных и стратегических решений.
Для решения проблемы скорости производители EPM-решений обратились к технологии MOLAP. Это технология, при помощи которой данные изначально хранятся в формате многомерных кубов (в отличие от набора связанных плоских таблиц, в которых хранятся данные при использовании реляционных БД).
Работа с данными, хранящимися в MOLAP-кубе осуществляется быстрее, но изменение любого параметра системы влечет за собой полный пересчет всех выходных данных модели. Как следствие, проблема скорости решена лишь частично. Каждая итерация внесения изменений в сложную модель продолжает занимать значительное время. Уровень immediacy не достигается.
Powercube использует собственную архитектуру хранения данных, которая существенно увеличила скорость их обработки и расчета результатов. Вот некоторые из причин существенного ускорения работы с данными в Powercube:
- Все виды данных и все итоговые результаты вычислений в Powercube хранятся в формате многомерных кубов с быстрой реализацией запросов.
- В случае внесения изменений пересчитываются исключительно параметры, связанные с изменяемыми; полный пересчет всех результатов моделирования (результирующих кубов) не производится.
- Данные модели на постоянной основе хранятся в быстрой оперативной памяти; работа с ней в 70 раз более эффективна по сравнению даже с SSD-памятью. Ранее производители ПО не использовали для хранения данных оперативную память вследствие ее высокой стоимости. В последние годы она существенно снизилась, чем успешно воспользовался Powercube.
- Архитектура Powercube по своей логике направлена на максимальную утилизацию всех имеющихся в распоряжении ресурсов (процессоры, ядра, память) в случае необходимости ускорения процессов. Реальным ограничением в этом случае является только аппаратная составляющая и емкость каналов передачи данных.
- Для еще большего ускорения работы системы Powercube поддерживает кластеризацию: система может задействовать ресурсы большого количества компьютеров в организации, распределяя мощность по хранению многомерных данных и их обработке между набором компьютеров/серверов.
- Система работы с данными написана на компилируемом языке программирования C++, что позволило максимально оптимизировать логику приложения на уровне его «фундамента».
Как результат, скорость работы Powercube составляет до 10 млрд операций с ячейками в секунду. Это значит, что практические любые изменения в модели даже гигантской корпорации будут обработаны, а результаты моделирования будут пересчитаны и представлены практически мгновенно. Это позволяет Powercube достичь следующей ступени в эволюции систем планирования с точки зрения скорости и выполнить требование immediacy при работе с данными.
Данные находятся в безопасности. Система логирует (сохраняет) все операции, и даже внезапный блэкаут не нанесет угрозы безопасности данных. В любой момент есть возможность вернуться на несколько операций назад и отследить любое изменение.
Отказавшись от устаревших подходов к разработке платформ бизнес-моделирования и планирования, инженеры Powercube реализовали современную EPM-систему, сочетающую в себе надежность и масштабируемость без потери производительности. При этом сохранились гибкость, простота использования, доступность и безопасность.
О других особенностях и преимуществах платформы мы расскажем в следующих постах.
Следите за нами!
*EPM (Enterprise Performance Management) - решения, предназначенные для управления эффективностью работы организации: системы планирования, бюджетирования, контроля исполнения бюджетов, оценки эффективности использования ресурсов и т.д.