Как создают дашборды для ситуационных центров: процесс, лайфхаки и выводы
Мы — разработчики BI-платформы Insight. Это решение для создания информационных панелей и аналитических приложений на основе данных. За последние три года наша команда выполнила несколько больших внедрений бизнес-аналитики в ситуационных центрах. В процессе мы максимально близко познакомились с особенностями и подводными камнями проектов такого класса и хотим поделиться этим опытом.
Содержание |
«Business Intelligence — это концепции и методы для улучшения принятия бизнес-решений с использованием систем на основе бизнес-данных» — написал в далеком 1989 году аналитик Gartner Ховард Дресснер. С тех пор за Дресснером закрепилось звание автора термина «BI», сами методы эволюционировали, но определение осталось таким же широким.
Сегодня, говоря «BI», мы подразумеваем большой спектр разных подходов к бизнес-аналитике и решений на их основе. Результат, который получает конечный пользователь любого BI-продукта, — это доступ к структурированной информации и аналитическим выкладкам. Но подходы к построению дашбордов для разных пользователей и контекстов не одинаковы.
Ситуационные центры и аналитика
Ситуационные центры существуют во многих крупных компаниях и широко распространены в госуправлении. Это пространства, оснащенные мультимедийным оборудованием и средствами конференц-связи. Основной смысл — более быстрое принятие управленческих решений.
В ситуационных центрах ведут мониторинг, проводят встречи и совещания рабочих групп. Дашборды — обязательная часть экосистемы любого ситуационного центра независимо от его профиля. Подход к созданию аналитики здесь имеет несколько особенностей. Как DevOps-сервис помогает «разгрузить» высоконагруженные системы BPMSoft
Во-первых, дашборды необходимо адаптировать не только под десктопы с мобильными устройствами, но и под медиапанели совершенно разных размеров. Во-вторых, обновление аналитических данных и их визуализации как правило происходит каждый день. В-третьих, разная повестка встреч требует демонстрации данных в разном разрезе.
Поставить создание дашбордов на поток
Ситуационные центры работают во множестве федеральных, региональных и муниципальных органов власти, министерств и ведомств. Счет потоков данных из разных источников и самих дашбордов только по какой-нибудь одной теме (предположим, это прививочная кампания) там часто идет на десятки. И в каждом ведомстве таких тем может быть несколько. В общем речь действительно о масштабных задачах и столь же больших массивах данных.
Совместно с дата-офисом одного из наших заказчиков мы готовили дашборды для нескольких крупных федеральных ведомств. Чтобы поставить на поток ежедневное обновление данных и создание самих аналитических панелей, мы выработали такой алгоритм:
- Налаживаем Agile-подход к командной работе, чтобы строго соблюдать сроки и стандарты работы с данными.
- Закладываем масштабируемую архитектуру базы данных и выстраиваем систему контроля за приходом свежих данных для дашбордов, чтобы вовремя реагировать, если по какой-то причине они задерживаются.
- Подключаем виджеты для визуализации и приступаем к верстке дашбордов в конструкторе.
Организовать работу команд
На практике мы пришли к конфигурации проектных команд из 3-4 человек, отвечающих за ETL, верстку, разработку витрин и контроль качества данных. Ведут проекты дата-инженеры, на каждого из которых может приходиться до четырех проектов. Когда на проекте много участников и заказчиков, Agile — не дань моде, а необходимость, поэтому работа была организована так:
- Дейли — по утрам для обсуждения задач на текущий день.
- Демо — раз в неделю для показа, на какой стадии готовности находится каждый дашборд.
- Ретроспективы — для понимания того, какие есть архитектурные ошибки и что можно сделать лучше.
- Архитектурные комитеты — для выработки проектных стандартов, обязательных для всех команд: здесь формируются верхнеуровневые правила касательно работы с данными, базой и визуализацией.
Выстроить архитектуру базы данных и контрольные точки
Во-первых, важно выстроить архитектуру базы данных так, чтобы обновление данных в таблицах было безболезненным и база выдерживала нагрузку, которая на нее ложится. Во-вторых, все таблицы должны иметь свежие данные день в день. Данные загружаются в файловые хранилища и оттуда в базу, их поступление, качество и своевременность загрузки нужно контролировать. Делать это удобно с помощью тех же дашбордов.
Контрольный дашборд №1 — для отслеживания поступления данных
Показывает состояние всех потоков данных и время попадания данных в базу. Поток в зеленом цвете — значит данные пришли, в красном — значит актуальных данных еще нет. Если какие-то данные не поступили, они запрашиваются у контактных лиц. После этого нужно еще раз убедиться, что данные отгружены, попали в базу и дата актуальности обновлена на сегодняшнюю.
Контрольный дашборд №2 — для проверки ускорения запросов для виджетов через дата-агрегатор.
Показывает критические виртуальные датасеты, которые не обновились или по какой-то причине не смогли закэшироваться. Причины могут быть разными: не пришла какая-то из таблиц, запрос оказался чересчур сложным и дата-агрегатор не смог переварить его вместе с высокой нагрузкой. Контрольный дашборд помогает принять решение: нужен ли такой датасет? Можно ли разбить его на несколько простых? Или отрефакторить код, чтобы облегчить запрос, дабы его получилось успешно обработать?
Контрольный дашборд №3 — для проверки загрузки данных и корректной визуализации.
В ситуационных центрах используются огромные видеостены, интерактивные доски и мониторы совершенно разных размеров — «от мала до велика». Чтобы не упустить какие-то неожиданности, удобно настроить Python-скрипт, который будет «проходиться» по всем дашбордом в работе. На одном из наших проектов такой скрипт открывал все дашборды один за другим на внутреннем экране в дата-офисе. Так мы всегда могли удостовериться, что все дашборды в ситуационном центре работают и данные на них прогружаются.
Подключить виджеты и сверстать дашборд в конструкторе
Когда вопросы с организацией работы, загрузкой и обработкой данных решены, время переходить к созданию витрин данных и подготовке датасетов. Они нужны для подключения виджетов, которые визуализируют данные. В Insight все это делается в no code конструкторе:
- Исходные данные формируются в датасеты и загружаются в папку будущего аналитического приложения.
- В визуальном редакторе создается проект. Можно импортировать шаблон из существующего или создать новый.
- Верстать дашборды и настраивать их внешний вид можно с помощью библиотеки виджетов, которых больше сотни.
- Подключение источников данных, которые будут выводиться в виджете, тоже происходит в конструкторе. Нужно выбрать датасет, задать метрики и измерения для анализа. Жмем «сохранить» — визуализация готова!
- Через боковое меню легко настроить отображение виджета — поменять цвет, шрифт и многое другое. Пространство для творчества огромное.
В идеале в BI-системе должны быть возможности для верстки дашборда под экраны любого формата и разрешения. Настройка внешнего вида и обновление не должны занимать много времени. Важно наличие встроенных дизайн-инструментов — расположение элементов на экране, выбор шрифтов и цветов имеют не меньшее значение, чем в хорошей презентации.
Работая над Insight, мы держали в уме эти потребности, поэтому визуализация данных не требует программирования — верстка дашбордов осуществляется с помощью drag and drop. Встроенные инструменты дают неограниченные возможности для кастомизации внешнего вида дашбордов, а научить специалиста пользоваться конструктором с нуля можно всего за пару недель. Нагрузка при подключении нескольких сотен пользователей к просмотру дашборда не становится для системы проблемой.
Выводы
Самое сложное для ситуационных центров — красиво упаковать материал в дашборды на больших экранах и выдерживать нагрузку при подключении большого количества пользователей из разных локаций. Нужно соответствовать быстро меняющейся повестке совещаний и иметь возможность быстро перегруппировать визуальный ряд на экране. Если BI-инструмент, выбранный для проекта, изначально учитывает эти особенности, это упрощает работу.
У бизнес-заказчиков из ситуационных центров часто появляются новые мысли относительно того, какая еще информация им нужна на дашбордах. Если техническая команда потрудилась над тем, чтобы все данные собирались, аккуратно складывались в базу и обновлялись, создавать новые датасеты с другим набором полей из других таблиц совершенно не сложно. Этап проработки архитектуры базы данных и контрольных точек напрямую влияет на скорость и качество всей дальнейшей работы, поэтому ему нужно уделить пристальное внимание.