"Что делать, когда ТОПовые BI-системы стали недоступны и перспективы работы с ними оказались сильно ограничены?". Эта дилемма встает сегодня перед многими компаниями. Меня часто спрашивают, можем ли мы взять и перенести уже наработанные практики на другие платформы, доступные в России на сегодняшний день? К счастью, ответ на этот вопрос положительный, и об одном из вариантов его решения я расскажу сегодня.

Конечно, ситуация для всех оказалась неожиданной, и люди начали искать решения. Кто-то остановился на временных методах. Например, некоторые просто теперь пользуются VPN для работы с привычными сервисами, другие — подменяют регионы и пока умудряются зайти в систему. Третьи начали работать с использованием казахстанских юридических лиц (как уже имевшихся, так и созданных только что). Но все это похоже скорее на способ пересидеть бурю. Ведь разве может так выглядеть надежная система, которая лежит в основе каких-либо серьезных корпоративных процессов?

Отдельная категория аналитиков пытается найти аналог PowerBI. Но сегодня стоит расставить точки над i и принять тот факт, что полноценного аналога нет. При попытке провести полную замену инструменты российского BI на сегодняшний день предлагают компромиссы, причем довольно жесткие.

Если посмотреть на эту схему, она включает в себя все элементы, необходимые для превращения сырых данных в готовые средства для принятия решений. Qlik заполнял их полностью, причем предлагая еще запас функционала. PowerBI был не столь хорош, но тоже позволял решить задачу. Однако теперь оба инструмента фактически недоступны.

Значит ли это, что нужно срочно проходить курсы Python и подсаживаться на JS-скрипты? Нет, совсем нет. Есть другое решение. На российских продуктах можно реализовать все эти блоки. В результате даже если у вас нет ИТ-отдела, который готов может провести масштабную разработку, можно вернуть себе эффективность в новой реальности.

В прошлом посте я уже рассказывал о важности выбора модели данных. И эта часть не напрасно была вынесена отдельно — как на Хабре, так и в ходе вебинара. Мой опыт показывает, что даже при наличии хорошо составленных витрин, в которых все прекрасно, на уровне моделей может твориться хаос. А поскольку возможности моделирования данных российских BI-систем с одной стороны очень разнообразны, но с другой — не обладают той гибкостью, к которой многие могли привыкнуть, необходимо осознанно подойти к созданию модели и больше не привязываться ни к какой системе намертво, а то (не дай бог) что-то и почему-то снова придется менять. 

Архитектура аналитики

В новой реальности критически важно максимально просто решить основные задачи аналитики. Речь идет о BI, а не о каком-то дичайшем DeepLearning. Поэтому на самом деле с этим вопросом можно разобраться достаточно быстро.

Что фактически нужно бизнес-аналитику?

  • Объединять данные из множества источников

  • Причесать их под бизнес-логику

  • Организовать работу с большим количеством таблиц (которых может стать еще больше в любой момент). 

При отсутствии четкого подхода к архитектуре, этот процесс в какой-то момент превращается в боль. А отсутствие единого решения эту боль усиливает — прямо как сейчас.

Кстати, использование "единого решения" далеко не всегда способствует выстраиванию удобной архитектуры. Вместо того, чтобы максимально подготовить данные на стороне ETL и сделать удобные модели, аналитики пишут многоуровневые формулы с DAX и Set Analysis. А это сказывается на производительности, ведет к сложности поддержки и мешает последующему масштабированию. Да, такой подход может быть оправдан при первичном исследовании данных. Но качественное промышленное решение так не построишь, иначе в будущем обязательно появляются проблемы с этим. 

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

Компоненты могут быть любыми, но мы для себя определили основной стек решений, который можно быстро освоить, легко поддерживать, быстро разворвачивать и тиражировать. У нас проектная работа — не сидим в одной компании, и нам важна “фабрика дашбордов”, качественная и гибкая.

Коннекторы сегодня мы не будем рассматривать. Извлечение данных из источников можно решить разными способами. Иногда может требоваться готовый коннектор или систему ввода и подключить его через API. Но рассмотрим остальные компоненты, которые мы выбрали для себя — это Loginom, СУБД Postgres и Visiology.

Конвейер работы с данными

Очистку, стандартизацию и генерацию данных, включая расчеты и прогнозы, мы решили делать  в Loginom.

Loginom — это low-code платформа, в процессе работы с ней мы просто графически комбинируем блоки. Это позволяет качественно переработать данные и очистить таблицы, а также сгенерировать новые данные в виде прогнозов и рекомендаций. Очень важно привести их к правильному виду, задав для всех категорий единый идентификатор.

Вопрос хранения данных можно решить различными способами. Например, вслед за выбором Loginom логично будет использовать SQLite, потому что клиент этой СУБД уже встроен в Loginom, а значит можно добиться быстрого развертывания новой системы.

Если же вам требуется аналитическое хранилище, в котором будут работать разные пользователями с разными правами доступа, на мой взгляд, лучше всего подходит. PostgreSQL. Бесплатная СУБД, она легко устанавливается. Я, поверьте, никакой не системный администратор, но установил и настроил ее за 5 минут. Плюс в том, что здесь не нужно делать никаких хардкорных манипуляций.

Конечно, я не мог не рассмотреть ClikHouse, как альтернативу. Но вот как раз ее развернуть у меня не получилось. Все-таки CH — это хранилище для серьезных задач. Но если такая СУБД уже развёрнута у вас в компании или для этого есть или есть ИТ-отдел, можно использовать ClickHouse для повышения производительности. Кстати, тот факт, что в Visiology 3.0 также будет реализована поддержка ClickHouse дает еще один плюс как самой СУБД, так и новой версии Visiology, которую мы все ждем для подробного знакомства.

Узел переноса данных

Перенос данных в СУБД из Loginom происходит очень просто. Для этого предусмотрен специальный узел. С одной стороны происходит настройка подключения, а с другой — передается сама таблица, которую мы сохраняем. Можно сохранить ее по-разному — полностью перезаписывать или сохранять только измененные данные. И сделать это очень просто — достаточно поставить галочку там где нужно.

Визуализация

Данные для визуализации мы отдаем из СУБД в Visiology. Мне лично система понравилась, потому что уже сейчас она демонстрирует гибкий подход к работе с данными, а открытость команды играет очень важную роль, когда мы осваиваем новые инструменты (а значит может потребоваться доработка).

К тому же релиз Visiology 3.0, который планируется этой осенью, выглядит очень перспективно. Коллеги обещают даже поддержку DAX, так что на сегодня эта платформа выглядит фаворитом в целом и подходит для наших задач в частности.

Загрузка данных в Visiology

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

Каждому из ключевых полей дается определение, равно как и “лучевым” таблицам. 

Прелесть решения в том, что после этого мы уже можем работать с дашбордами! Для этого используется конструктор-дашбордов.

В итоге без каких-либо сложностей мы создаем весьма универсальный дашборд. Здесь снова не требуется никакой доработки, все настраивается в режиме self-service. 

В результате работа с BI становится похожей на ассоциативный движок Qlik, только теперь все это реализовано в Visiology.


Конструирование

Когда мы создаем какую-то меру, просто выбираем поле из модели данных, по которому будет происходить простая агрегация. Но мы можем указать дополнительную фильтрацию (по другим полям). А поскольку у нас хорошо организованная звезда, можно делать точные и детальные выборки. Например, можно рассчитать меру на дату создания сделки или закрытия сделки. Применить фильтр по полю statusID — сделка успешная или нет.

Правильная подготовка модели позволяет работать “Как в лучших домах Парижа”, даже если инструмент не предоставляет продвинутых средств. Мы, конечно, очень ждем Visiology 3.0 с более сложной логикой и поддержкой DAX. Но если вы хорошо все сделали и подготовили модель данных, уже на текущих инструментах можно реализовать практически все привычные нам по опыту с Qlik визуализации.

Вот как выглядит соответствующий запрос в Qlik, Excel и Visiology 2.2Х.

Заключение

Конечно, это не единственный вариант решения в сложившейся ситуации. Но схема подходит для тех случаев, когда нет возможности (и/или желания) и что-то разрабатывать. Вы получаете возможность унифицировать работу с данными, а также снизить зависимость от каких-либо систем.

В конечном счете унификация процессов работы с данными позволяет прийти к консолидации всей аналитики на уровне компании. Наличие единой точки правды гарантирует стабильность — ведь когда все одинаково рассчитывается, а любые новые данные не разрушают структуру и уже принятую картину мира, работать становится намного проще.

Комментарии (17)


  1. Spellbuilder
    14.10.2022 10:28

    Все это конечно здорово, но продукты MS широко распространены из-за возможности пиратства, так что большинство так и продолжит ими пользоваться, теперь уже не оплачивая лицензии вообще, это я про в т.ч. PowerBI.


    1. stuchalkin Автор
      14.10.2022 10:31
      +1

      Хмм, а разве полноценный PBI не завязан жестко на облако? Как его пиратить?) На самом деле, предлагаемая архитектура хороша тем, что BI-система в ней не является главным инструментом инжиниринга данных и моделей. А визуализирует максимально подготовленные данные. Это позволяет в т.ч. несколько BI-систем одновременно и они будут работать в одинаковой логике. Например, Visiology для регламентной отчетности и PBI для декстопных исследований у аналитика, который к нему привык.


      1. Spellbuilder
        14.10.2022 10:52

        Ну Вы же понимаете, что тот Power BI который не в облаке все равно более продвинутый чем Visiology.


        1. stuchalkin Автор
          14.10.2022 11:41

          вопрос не только в продвинутости, но и в том какие инфраструктурные возможности он имеет. Десктопный PBI - это локальный инструмент аналитика прежде всего, не смотря на всю его продвинутость. Единую систему управления компанией на нем не выстроишь. Малый бизнес безусловно будет всеми правдами и неправдами на нем сидеть. Хостить его на выделенном сервере и подключаться по RDP, или что там еще люди придумывают)

          Ну и продвинутость - это весьма условный критерий. В успешной масштабируемой аналитике самое главное - стандарты подготовки, хранения, и моделирования данных. Все эти вещи обеспечиваются с помощью Loginom - отличного продукта в своем классе, без скидок на импортозамещение. Где эти данные потом будут визуализированы - дело глубоко вторичное.

          Взрослое использование PBI точно также начинается с внедрения хранилища. А раз есть хранилище - должны быть стандарты подготовки и хранения. Тут уже в режиме тяп-ляп-селф-сервиса не особо поработаешь. В этом плане PBI напоминает мне плагины для программ звукозаписи. Например всякие эмуляторы гитарных усилителей. Да, можно на любой комп установить, воткнуть гитару из дсп, и записать свое "дж-дж-дж". И оно даже будет нормально звучать. Пока не сравнишь свое "дж-дж-дж" с тем, которое было записано на студии). А студийное "дж-дж-дж" звучит так, потому что там и оборудование, и исполнитель, и инструмент, и персонал звукозаписи, и опыт. инфраструктура, короче.

          В переводе на мир аналитики, PBI без инфраструктуры годится для быстрого несистемного селфсервиса, на уровне "сделать демку". Я ориентируюсь на проекты так сказать промышленного производства аналитики - где пользователей отчетов минимум десятки и сотни, есть несколько параллельно работающих аналитиков, которым нужно обеспечить переиспользование данных и синхронизировать их работу, чтобы их отчёты были совместимыми между собой. Чтобы добавление новых условий, о которых еще вчера не было известно, не приводило к необходимости переделывать то что создавалось предыдущие пол-года.

          При таком подходе главное - инжиниринг и моделирование данных. И его можно делать вне PBI ничего не теряя. А даже приобретая. И визуализировать итоговые данные где хочется, а не замыкаться в рамках PBI, в котором набахали обработок Power Query, и закрутили навороченную реляционную модель, которую кроме PBI ни один инструмент не возьмет, в т.ч. Qlik и Tableau.


          1. Spellbuilder
            14.10.2022 12:38
            +1

            А кто писал про десктоп? Кроме облачной версии, есть и серверная Power BI Report Server, на него выкладываются дашборды сделанные в десктопе.


            1. stuchalkin Автор
              14.10.2022 12:47

              Я действительно не знаком с линейкой продуктов PBI. Допустим, что для нелицензионного использования остается удобный способ шаринга отчетов. Но это не снимает вопросы архитектуры, масштабирования, хранения аналитических данных. И эти вопросы не решаются полноценно в PBI (в отличие от Qlik, например).

              Сделав все правильно в специализированных инструментах, будет уже не так важно, визуализировать в PBI или где-то еще. А специализированные инструменты для построения архитектуры высокого качества и с низким порога входа доступны в библиотеке российского софта.


              1. Spellbuilder
                15.10.2022 15:55

                Ну о чем Вы пишете, не понимаю. Вы в версии 3 переходите на click house, он ставится за 5 минут, etl NiFi заливаем данные на него, делаем полноценный DWH, сверху PBI и всё и не нужно ничего перегружать, как у Вас или Qlik.


            1. Mudrist
              14.10.2022 13:08

              Вы тут верно говорите, но про тех, у кого этот сервер уже поднят. А кто зависал в облаке теперь в прострации - не по наслышке знаю )


              1. Spellbuilder
                15.10.2022 15:58

                Никто не спорит, нужно откатывать на чуть урезанный функционал, но это не смертельно. Банки и госорганы всё равно его не юзали т.к. облако не безопасно, что и доказано????


          1. Ivan22
            14.10.2022 13:13

            Loginom - это ETL тул которых существуют десятки в мире, его переизобретать тоже никай нужды нету


            1. stuchalkin Автор
              14.10.2022 13:38
              +1

              Что значит "переизобретать", если он уже изобретен? 25 лет истории продукта так-то. Ну и не забывайте, что статья написана в контексте импортозамещения. Для ситуации когда привычный ETL (для меня это скрипт Qlik Sense) не доступен.


              1. Ivan22
                15.10.2022 11:18

                25 лет??? и как его популярноть?


                1. stuchalkin Автор
                  15.10.2022 13:26

                  Набирает обороты) А вообще его в т.ч. и в российских вузах изучают.


        1. TheBloodofAnother
          14.10.2022 13:37

          Тут действительно так. Если рассматривать Visiology как замену поднятому PBI Report Server, то это можно будет делать только с версии Visiology 3.0, которую обещают выкатить через месяц с поддержкой DAX и прочими плюшками. Тут действительно посмотрим, что будет к чему....Но автор, мне кажется, говорит о схеме замены для тех, у кого нет поднятого Report Server...


      1. iShvedsky
        14.10.2022 12:35
        +1

        Хмм, а разве полноценный PBI не завязан жестко на облако?

        Судя по всему, про Power BI Report Server Вы не слышали...


  1. bisufferer
    14.10.2022 10:50

    Интересно, расскажите, а ваш этот модуль-конвертер - это какой-то скрипт? Или кусок дополнительного ПО?


    1. stuchalkin Автор
      14.10.2022 10:54

      Это наш скрипт, который интегрируется с каталогом таблиц хранилища, и позволяет в режиме конструктора собрать любую модель данных в топологии Звезда. Сейчас реализован как компонент на Loginom.