Теперь я расскажу про особенности сравнении CPM и BI с немного необычного ракурса. Я не буду использовать стандартные критерии сравнения (вернее использую только некоторые из них), зато добавлю отличительные свойства, которые часто несправедливо обходят вниманием при сравнениях, что в результате иногда приводит к недоразумениям при выборе целевой системы.
Интеграция данных: connectorsХорошая BI-система должна иметь out-of-box интеграцию с максимальным количеством систем в IT-инфраструктуре компании, включая облачные решения. Например, данные для KPI могут собираться из корпоративного DWH, организованного на базе современного on-premise или cloud хранилища, или из отдельных систем – ERP, CRM, HRM, CPM, EDM и так далее.
Бюджеты, выделяемые на построение BI-отчетности обычно существенно ниже, чем, например, на реализацию полномасштабного внедрения ERP, и написание интерфейсов интеграции с многочисленными системами из которых надо будет забирать данные (если нет централизованного DWH), может превысить по трудозатратам реализацию основного проекта.
Как следствие, вендоры BI решений уделяют много внимания коннекторам с популярными платформами. Например
PowerBI,
Qlik Sense,
Tableau имеют десятки, если не сотни, встроенных коннекторов.
А что у CPM систем? IBM Planning Analytics, которая недавно справило свое
сорокалетие до сих пор обходится 4-мя типами интерфейса с «внешним миром» - текстовые файлы, ODBC, ODBO и REST API. Для других видов интеграции придется покупать лицензии IBM Cognos Integration Server или использовать другие внешние коннекторы. Anaplan – текстовые файлы, Salesforce коннектор, REST API. Oracle Hyperion – встроенные коннекторы к другим продуктам Oracle и все те же текстовые файлы.
Почему так происходит? Полагаю, ответ заключается в том, что чаще всего CPM приходится интегрировать именно с ERP-системами, а все современные ERP умеют, как минимум, выгружать данные в текстовом формате и обмениваться данными через интерфейсы REST API. CPM-вендоры реализуют такие способы в первую очередь, закрывая, таким образом подавляющее большинство потребностей в обмене данных.
Подготовка данных, ETLETL, то есть “extract, transform, load” – это 3-ступенчатый процесс извлечения, подготовки и загрузки данных в принимающую систему. Фазы “Extract” я уже коснулся в предыдущем разделе, Фаза “Load” присуща любой системе, умеющей загружать данные из внешних источников, поэтому в настоящем разделе я хотел бы детальнее остановиться на фазе “Transformation”.
В проектной реальности редко бывает так, что извлечённые из другого хранилища данные можно использовать в целевой системе без трансформаций. Данные в источниках не идеальны, избыточны, порой слишком детальные или наоборот – нецелостные, имеют иные классификации и структуры.