Этот пост написан в соавторстве с Гиришем Кумаром Чиданандой из RedBus.
redBus является одним из первых пользователей AWS в Индии, и большинство ее сервисов и приложений размещены в облаке AWS. AWS предоставила RedBus гибкость для быстрого масштабирования своей инфраструктуры при чрезвычайно низких затратах. AWS предлагает комплексный набор услуг для удовлетворения большинства их потребностей, включая поддержку клиентов, за которую может поручиться RedBus.
В этом посте мы рассказываем об архитектуре платформы данных RedBus и о том, как различные компоненты соединяются для формирования магистрали данных. Мы также обсудим проблемы, с которыми столкнулась RedBus при создании информационных панелей для своих сценариев использования бизнес-аналитики (BI) в реальном времени, и то, как они использовали Amazon QuickSight, быстрый, простой в использовании облачный сервис бизнес-аналитики, который упрощает для всех сотрудников RedBus создание визуализаций и выполнение специального анализа для получения бизнес-понимания из своих данных в любое время и на любом устройстве.
О RedBus
redBus — это крупнейшая в мире онлайн-платформа для продажи автобусных билетов, созданная в Индии и обслуживающая более 36 миллионов довольных клиентов по всему миру. Помимо продажи билетов на автобусы, RedBus также управляет услугой продажи билетов на поезд под названием красные рельсы и служба проката автобусов и автомобилей под названием райд. Он является частью группы GO-MMT, которая является ведущей онлайн-туристической компанией Индии с обширным портфелем брендов, в который входят другие известные бренды онлайн-путешествий, такие как MakeMyTrip и Goibibo.
Магистраль передачи данных RedBus 1.0
RedBus в значительной степени полагается на принятие решений на основе данных на каждом уровне, от отслеживания поездок путешественников, прогнозирования спроса во время интенсивного движения, выявления и устранения узких мест в процессе регистрации их автобусных операторов и многого другого. Поскольку бизнес redBus начал расти с точки зрения количества городов и стран, в которых они работали, а также количества автобусных операторов и путешественников, использующих услугу в каждом городе, объем входящих данных также увеличился. Необходимость доступа к данным и их анализа в одном месте потребовала от них создания собственной платформы данных, как показано на следующей диаграмме.
В следующих разделах мы рассмотрим каждый компонент более подробно.
Источники приема данных
С платформой данных 1.0 данные поступают из различных источников:
- Настоящее время – Данные в режиме реального времени поступают из мобильных приложений RedBus, серверных микросервисов, а также когда пассажир, автобусный оператор или приложение выполняют какие-либо операции, такие как бронирование автобусных билетов, поиск автобусного инвентаря, загрузка документа KYC и т. д.
- Пакетный режим – Запланированные задания извлекают данные из нескольких постоянных хранилищ данных, таких как Сервис реляционной базы данных Amazon (Amazon RDS), где хранятся данные OLTP от всех его приложений, кластеры Apache Cassandra, где хранится инвентаризация шин от различных операторов, Arango DB, где хранятся графики идентификации пользователей, и многое другое.
Каталогизация данных
Данные в режиме реального времени загружаются в их самоуправляемые кластеры Apache Nifi, платформу данных с открытым исходным кодом, которая используется для очистки, анализа и каталогизации данных с помощью возможностей маршрутизации перед отправкой данных по месту назначения.
Хранение и аналитика
RedBus использует следующие сервисы для хранения и анализа данных:
- Простой сервис хранения Amazon (Amazon S3), службу хранения объектов, которая обеспечивает основу для их озера данных благодаря практически неограниченной масштабируемости и более высокой надежности. Потоки данных в реальном времени из Apache Druid и данные из хранилищ данных передаются через равные промежутки времени в соответствии с расписанием.
- Apache Druid, хранилище данных в стиле OLAP (потоки данных через загрузчик данных Kafka Druid), которое вычисляет факты и показатели по различным измерениям в процессе загрузки данных.
- Амазонка Redshift, службу облачного хранилища данных, которая помогает анализировать эксабайты данных и выполнять сложные аналитические запросы. RedBus использует Amazon Redshift для хранения обработанных данных из Amazon S3 и агрегированных данных из Apache Druid.
Запросы и визуализация
Чтобы сделать RedBus как можно более управляемой данными, они обеспечили доступность данных для инженеров SRE, инженеров по данным и бизнес-аналитиков через уровень визуализации. На этом уровне представлены информационные панели, обслуживаемые с помощью Apache SuperSet, приложения для визуализации данных с открытым исходным кодом, и Амазонка Афина, интерактивный сервис запросов для анализа данных в Amazon S3 с использованием стандартного SQL для специальных запросов.
Проблемы
Первоначально redBus обрабатывал данные, которые поступали со скоростью 10 миллионов событий в день. Со временем, по мере того как ее бизнес начал расти, росли и объемы данных (от гигабайтов до терабайтов и петабайтов), прием данных в день (от 10 миллионов до 320 миллионов событий) и потребности в информационной панели бизнес-аналитики. Вскоре после этого они столкнулись с проблемами, связанными с возможностями бизнес-аналитики Superset с самоуправлением, а также возросшими операционными сложностями.
Ограниченные возможности BI
RedBus столкнулся со следующими ограничениями BI:
- Невозможность создания визуализаций из нескольких источников данных – Superset не позволяет создавать визуализации из нескольких таблиц на уровне исследования данных. Инженеры данных RedBus должны были заранее объединить таблицы на самом уровне источника данных. Чтобы создать 360-градусное представление для заинтересованных сторон RedBus, инженерам данных стало неудобно поддерживать несколько таблиц, поддерживающих уровень визуализации.
- Нет глобального фильтра для визуальных элементов на панели инструментов. – Глобальный или первичный фильтр по визуальным элементам на панели мониторинга не поддерживается в Superset. Например, предположим, что на панели мониторинга есть визуальные элементы, такие как «Выигрыш от продаж по регионам», «Доход с начала года по регионам», «Канал продаж по регионам» и другие, а на панель мониторинга добавлен фильтр «Регион» со значениями, такими как EMEA, APAC и США. Фильтр «Регион» будет применяться только к одному из визуальных элементов, а не ко всей информационной панели. Однако пользователи панели мониторинга ожидали фильтрации по всей панели.
- Не удобный инструмент для бизнес-пользователей – Когда дело доходит до настройки, Superset ориентирован на разработчиков. Например, если бизнес-аналитику RedBus нужно было настроить синхронизированное обновление, которое автоматически повторно запрашивает каждый фрагмент на панели мониторинга в соответствии с предварительно заданным значением, то аналитик должен обновить поле метаданных JSON панели мониторинга. Поэтому знание JSON и его синтаксиса является обязательным для любой настройки визуальных элементов или панели инструментов.
Увеличение эксплуатационных расходов
Хотя Superset имеет открытый исходный код, что означает отсутствие затрат на лицензирование, это также означает, что требуется больше усилий для поддержки всех компонентов, необходимых для его работы в качестве инструмента BI корпоративного уровня. RedBus развернула и обслуживала веб-сервер (Nginx) под управлением Балансировщик нагрузки приложений сделать балансировку нагрузки; сервер базы данных метаданных (MySQL), где Superset хранит свою внутреннюю информацию, такую как пользователи, срезы и определения панели мониторинга; асинхронная очередь задач (Celery) для поддержки длительных запросов; брокер сообщений (RabbitMQ); и распределенный сервер кэширования (Redis) для кэширования результатов, данных графиков и т. д. Эластичное вычислительное облако Amazon (Amazon EC2). Следующая диаграмма иллюстрирует эту архитектуру.
Команде RedBus DevOps пришлось выполнить тяжелую работу по подготовке инфраструктуры, созданию резервных копий, масштабированию компонентов вручную по мере необходимости, обновлению компонентов по отдельности и т. д. Также требовалось присутствие веб-разработчика Python для внесения изменений в конфигурацию, чтобы все компоненты работали без сбоев. Все эти ручные операции увеличили общую стоимость владения RedBus.
Путь к QuickSight
RedBus начал изучать решения для бизнес-аналитики в первую очередь в связи с несколькими требованиями к информационной панели:
- Панели бизнес-аналитики для заинтересованных сторон и аналитиков, где данные поступают через Amazon S3 и Amazon Redshift.
- Панель мониторинга производительности приложений (APM) в режиме реального времени, помогающая их инженерам и разработчикам SRE определить основную причину проблемы в их развертывании микросервисов, чтобы они могли устранить проблемы до того, как они повлияют на работу их клиентов. В этом случае данные поступают через Druid.
QuickSight соответствует большинству требований RedBus к информационным панелям бизнес-аналитики, и вскоре их команда по платформе данных приступила к проверке концепции (POC) для пары своих сложных информационных панелей. В конце POC, который длился месяц, команда поделилась своими выводами.
Во-первых, QuickSight обладает богатыми возможностями бизнес-аналитики, в том числе следующими:
- Это решение для бизнес-аналитики самообслуживания с функциями перетаскивания, которое может помочь аналитикам redBus с комфортом использовать его без каких-либо усилий по программированию.
- Визуализация из нескольких источников данных на одной информационной панели может помочь бизнес-партнерам redBus получить всестороннее представление о продажах, прогнозах и аналитических данных на единой панели.
- Каскадные фильтры для визуальных элементов и листов на информационной панели — это крайне необходимые функции для требований RedBus к бизнес-аналитике.
- QuickSight предлагает визуальные эффекты в стиле Excel: таблицы с расчетами, сводные таблицы с группировкой ячеек и стили привлекательны для пользователей.
- Сверхбыстрый параллельный механизм вычислений в памяти (SPICE) в QuickSight может помочь RedBus масштабироваться до сотен тысяч пользователей, которые могут одновременно выполнять быстрый интерактивный анализ из самых разных источников данных AWS.
- Готовые аналитические данные и прогнозирование машинного обучения без дополнительных затрат позволят группе специалистов по обработке и анализу данных redBus сосредоточиться на моделях машинного обучения помимо прогнозирования продаж и аналогичных моделей.
- Встроенная безопасность на уровне строк (RLS) может позволить RedBus предоставлять отфильтрованный доступ для своих зрителей. Например, в redBus много бизнес-аналитиков, которые управляют разными странами. С RLS каждый бизнес-аналитик видит данные, относящиеся только к назначенной стране, на одной панели.
- RedBus использует OneLogin в качестве поставщика удостоверений, который поддерживает язык разметки утверждений безопасности 2.0 (SAML 2.0). С помощью интеграции удостоверений и поддержки единого входа от QuickSight RedBus может обеспечить простой процесс адаптации для своих пользователей QuickSight.
- QuickSight предлагает встроенные оповещения и возможности уведомлений по электронной почте.
Во-вторых, QuickSight — это полностью управляемый облачный бессерверный сервис бизнес-аналитики от AWS со следующими функциями:
- Инженерам RedBus не нужно сосредотачиваться на тяжелой работе по инициализации, масштабированию и обслуживанию своего решения BI на инстансах EC2.
- QuickSight предлагает встроенную интеграцию с сервисами AWS, такими как Amazon Redshift, Amazon S3 и Athena, а также с другими популярными платформами, такими как Presto, Snowflake, Teradata и другими. QuickSight подключается к большинству источников данных, которые уже есть в redBus, за исключением Apache Druid, поскольку встроенная интеграция с Druid была недоступна по состоянию на декабрь 2022 года. Полный список поддерживаемых источников данных см. Поддерживаемые источники данных.
Исход
Учитывая все многообразие функций и более низкую совокупную стоимость владения, компания RedBus выбрала QuickSight в соответствии со своими требованиями к информационной панели бизнес-аналитики. С помощью QuickSight инженеры по обработке данных RedBus в мгновение ока создали ряд информационных панелей, чтобы предоставлять информацию из петабайтов данных заинтересованным сторонам бизнеса и аналитикам. Магистраль данных redBus эволюционировала, чтобы донести бизнес-аналитику до гораздо более широкой аудитории в их организации, с более высокой производительностью и более быстрой окупаемостью. По состоянию на ноябрь 2022 года он сочетает в себе QuickSight для бизнес-пользователей и Superset для панелей мониторинга APM в реальном времени (на момент написания QuickSight не предлагает собственного соединителя с Druid), как показано на следующей диаграмме.
Панель обнаружения аномалий продаж
Несмотря на то, что RedBus развернул множество информационных панелей в производстве, обнаружение аномалий продаж — одна из интересных информационных панелей, созданных RedBus. В нем используется собственная модель прогнозирования продаж RedBus, которая, в свою очередь, строится на основе исторических данных о продажах из таблиц Amazon Redshift и данных о продажах в реальном времени из таблиц Druid, как показано на следующем рисунке.
Через регулярные промежутки времени запланированные задания передают в модель прогнозирования redBus данные о продажах в реальном времени и исторические данные, а затем прогнозируемые данные помещаются в таблицу Amazon Redshift. Информационная панель обнаружения аномалий продаж в QuickSight обслуживается результирующей таблицей Amazon Redshift.
Ниже приведен один из визуальных элементов панели обнаружения аномалий продаж. Он построен с использованием линейной диаграммы, представляющей почасовые фактические продажи, прогнозируемые продажи и пороговое значение предупреждения для временного ряда для определенной бизнес-группы в redBus.
В этом визуальном элементе каждая полоса представляет количество аномалий продаж, вызванных в определенный момент временного ряда.
Аналитики RedBus могут дополнительно детализировать детали продаж и аномалии на минутном уровне, как показано на следующей диаграмме. Эта функция детализации входит в стандартную комплектацию QuickSight.
Дополнительные сведения о добавлении детализации к визуальным элементам панели инструментов QuickSight см. Добавление детализации к визуальным данным в Amazon QuickSight.
Помимо визуальных эффектов, он стал одним из любимых информационных панелей зрителей на RedBus благодаря следующим примечательным особенностям:
- Поскольку фильтрация по визуальным элементам является стандартной функцией QuickSight, на панель мониторинга добавляется фильтр на основе временных меток. Это помогает фильтровать несколько визуальных элементов на панели инструментов одним щелчком мыши.
- Действия URL, настроенные для визуальных элементов, помогают зрителям перейти к контекстно-зависимым внутренним приложениям.
- Оповещения по электронной почте, настроенные для KPI и визуальных элементов Gauge, помогают зрителям получать уведомления вовремя.
Следующие шаги
Помимо создания новых информационных панелей для своих потребностей в информационной панели BI, RedBus предпринимает следующие шаги:
- Исследование Встроенная аналитика QuickSight для нескольких своих требований к приложениям, чтобы ускорить получение информации для пользователей с визуальными данными в контексте, интерактивными информационными панелями и т. д. непосредственно в приложениях.
- Исследование Быстрый прицел Q, что может позволить их заинтересованным сторонам задавать вопросы на естественном языке и получать точные ответы с соответствующими визуализациями, которые могут помочь им получить представление о данных.
- Создание унифицированного решения для сводных панелей с использованием QuickSight, охватывающего все их источники данных по мере появления интеграции.
Заключение
В этом посте мы показали вам, как RedBus построила свою платформу данных с использованием различных сервисов AWS и фреймворков Apache, с какими проблемами столкнулась платформа (особенно в отношении требований к панели BI и сложностей при масштабировании), а также как они использовали QuickSight и снизили общую стоимость. собственности.
Чтобы узнать больше о разработке в RedBus, ознакомьтесь с их средние посты в блоге. Чтобы узнать больше о том, что происходит в QuickSight, или если у вас есть какие-либо вопросы, обратитесь к Сообщество QuickSight, который очень активен и предлагает несколько ресурсов.
Об авторах
Гириш Кумар Чидананда работает старшим инженером-менеджером по разработке данных в redBus, где последние 5 лет занимается созданием различных приложений и компонентов для обработки данных для redBus. Прежде чем начать свой путь в ИТ-индустрии, он работал инженером по механике и системам управления в различных организациях и имеет степень магистра в области гидроэнергетики Университета Бата.
Каялвижи Кандасамы работает с цифровыми компаниями для поддержки их инноваций. В качестве старшего архитектора решений (APAC) в Amazon Web Services она использует свой опыт, чтобы помогать людям воплощать свои идеи в жизнь, уделяя особое внимание микросервисным архитектурам и облачным решениям с использованием сервисов AWS. Вне работы она любит играть в шахматы и является шахматисткой с рейтингом ФИДЕ. Она также обучает своих дочерей искусству игры в шахматы и готовит их к различным шахматным турнирам.
- SEO-контент и PR-распределение. Получите усиление сегодня.
- Платоблокчейн. Интеллект метавселенной Web3. Расширение знаний. Доступ здесь.
- Источник: https://aws.amazon.com/blogs/big-data/a-dive-into-redbuss-data-platform-and-how-they-used-amazon-quicksight-to-accelerate-business-insights/
- $ 10 миллионов
- 1
- 10
- 100
- 2022
- 360 степени
- a
- О нас
- ускорять
- доступ
- доступной
- По
- точный
- через
- действия
- активный
- Ad
- добавленный
- дополнительный
- адресация
- усыновителей
- влиять на
- После
- против
- Оповещение
- Все
- уже
- Amazon
- Amazon EC2
- Amazon QuickSight
- Амазон РДС
- Amazon Web Services
- количество
- анализ
- аналитик
- Аналитики
- Аналитические фармацевтические услуги
- аналитика
- анализировать
- и
- обнаружение аномалии
- ответы
- APAC
- апаш
- Применение
- Приложения
- Применить
- Программы
- архитектура
- около
- Искусство
- назначенный
- привлекательный
- аудитория
- автор
- автоматически
- доступен
- AWS
- Backend
- Операции резервного копирования
- бар
- основанный
- , так как:
- становиться
- до
- не являетесь
- Лучшая
- Блог
- Коробка
- марка
- брендов
- приносить
- брокер
- строить
- Строительство
- построенный
- встроенный
- автобус
- бизнес
- бизнес-аналитика
- под названием
- возможности
- автомобиль
- случаев
- случаев
- каталог
- Вызывать
- проблемы
- изменения
- График
- графиков
- проверка
- шахматы
- выбрал
- Город
- Город
- облако
- Кодирование
- когорта
- комбинаты
- Компании
- Компания
- полный
- комплекс
- сложности
- компонент
- компоненты
- комплексный
- Вычисление
- сама концепция
- подключенный
- подключает
- Рассматривать
- контроль
- Цена
- Расходы
- может
- страны
- страна
- Пара
- покрытие
- Создайте
- Создающий
- клиент
- служба поддержки
- Клиенты
- настройка
- настроить
- приборная панель
- данным
- Озеро данных
- Платформа данных
- наука о данных
- визуализация данных
- информационное хранилище
- управляемых данными
- База данных
- день
- Декабрь
- решения
- Степень
- Спрос
- развернуть
- развертывание
- назначение
- подробность
- подробнее
- обнаружение
- Застройщик
- застройщиков
- устройство
- DevOps
- DID
- различный
- размеры
- непосредственно
- обсуждать
- распределенный
- документ
- не
- дело
- Dont
- вниз
- друид
- долговечность
- в течение
- каждый
- Простой в использовании
- усилие
- усилия
- встроенный
- в регионе EMEA
- сотрудников
- включить
- Двигатель
- инженер
- Проект и
- Инженеры
- корпоративного класса
- Весь
- особенно
- Эфир (ETH)
- События
- эволюционировали
- пример
- Кроме
- ожидаемый
- опыт
- исследование
- Исследование
- обширный
- чрезвычайно
- сталкиваются
- всего лишь пяти граммов героина
- БЫСТРО
- быстрее
- Избранное
- Особенность
- Особенности
- федерация
- поле
- фигура
- фильтр
- фильтрация
- фильтры
- соответствовать
- фиксированный
- Трансформируемость
- поток
- Потоки
- Фокус
- фокусировка
- после
- форма
- Год основания
- каркасы
- дружественный
- от
- выходят,
- полностью
- функция
- далее
- Gain
- получить
- Дайте
- стекло
- Глобальный
- предоставлять
- Графики
- группы
- Рост
- счастливый
- имеющий
- сильно
- помощь
- помогает
- High
- высший
- очень
- Шоссе
- исторический
- имеет
- состоялся
- Как
- Однако
- HTML
- HTTPS
- Сотни
- идеи
- определения
- идентифицирующий
- Личность
- in
- включает в себя
- В том числе
- Входящий
- расширились
- Индия
- в отдельности
- промышленность
- информация
- Инфраструктура
- Инновации
- размышления
- интеграции.
- интеграций
- Интеллекта
- интерактивный
- интересный
- в нашей внутренней среде,
- инвентаризация
- вопрос
- вопросы
- IT
- IT индустрия
- саму трезвость
- Джобс
- присоединился
- путешествие
- JSON
- Кафка
- хранение
- Знать
- знания
- KYC
- озеро
- язык
- крупнейших
- Фамилия
- слой
- ведущий
- УЧИТЬСЯ
- уровень
- Лицензирование
- ЖИЗНЬЮ
- Подтяжка лица
- недостатки
- линия
- Список
- загрузка
- загрузчик
- погрузка
- посмотреть
- Низкий
- поддерживать
- сделать
- ДЕЛАЕТ
- Создание
- управлять
- управляемого
- менеджер
- обязательный
- руководство
- вручную
- многих
- означает
- механический
- сообщение
- Метаданные
- Метрика
- microservices
- миллиона
- минут
- ML
- Мобильный телефон
- мобильные приложения-
- модель
- Модели
- Мониторинг
- БОЛЕЕ
- самых
- MS
- с разными
- MySQL
- родной
- натуральный
- Естественный язык
- Откройте
- Необходимость
- необходимый
- потребности
- Новые
- следующий
- NGINX
- примечательный
- уведомление
- Уведомления
- Ноябрь
- номер
- объект
- Хранение объектов
- предлагают
- предлагающий
- Предложения
- Вводный
- ONE
- онлайн
- открытый
- с открытым исходным кодом
- работать
- операция
- оперативный
- Операционный отдел
- оператор
- Операторы
- заказ
- организация
- организации
- Другое
- внешнюю
- собственный
- собственность
- хлеб
- Параллельные
- часть
- особый
- Люди
- выполнять
- производительность
- трубопровод
- Стержень
- Часть
- Платформа
- Платон
- Платон Интеллектуальные данные
- ПлатонДанные
- игрок
- игры
- PoC
- Точка
- Популярное
- «портфель»
- возможное
- После
- мощностью
- предсказанный
- Готовит
- в первую очередь
- первичный
- Предварительный
- процесс
- Производство
- видный
- доказательство
- доказательство концепции
- ( изучите наши патенты),
- обеспечивать
- при условии
- Недвижимости
- приводит
- обеспечение
- толкнул
- Питон
- Вопросы
- рельс
- быстро
- Обменный курс
- достигать
- реального времени
- данные в реальном времени
- реализованный
- Получать
- область
- регулярный
- Связанный
- соответствующие
- представляющий
- представляет
- обязательный
- Требования
- Полезные ресурсы
- Итоги
- доходы
- Богатые
- корень
- Run
- главная
- Масштабируемость
- Шкала
- масштабирование
- считаться
- Запланированные задания
- Наука
- легко
- поиск
- разделах
- безопасность
- видит
- Самообслуживание
- отправка
- старший
- Серии
- Serverless
- обслуживание
- Услуги
- выступающей
- несколько
- Поделиться
- общие
- показанный
- аналогичный
- просто
- одновременно
- одинарной
- Ломтик
- So
- Решение
- Решения
- Скоро
- Источник
- Источники
- специи
- SQL
- заинтересованных сторон
- стандарт
- и политические лидеры
- Начало
- Шаги
- диск
- магазин
- хранить
- магазины
- suite
- поддержка
- Поддержанный
- поддержки
- Поддержка
- синтаксис
- системы
- ТАБЛИЦЫ
- с
- Сложность задачи
- команда
- terms
- Ассоциация
- мир
- их
- следовательно
- тысячи
- порог
- Через
- продажи билетов
- билеты
- время
- Временные ряды
- Timed
- в
- вместе
- инструментом
- Всего
- Турниры
- к
- Отслеживание
- трафик
- путешествовать
- путешественник
- путешественники
- срабатывает
- ОЧЕРЕДЬ
- унифицированный
- Университет
- Неограниченный
- Обновление ПО
- Загрузка
- us
- использование
- Информация о пользователе
- пользователей
- ценностное
- Наши ценности
- разнообразие
- различный
- с помощью
- Вид
- просмотров
- фактически
- визуализация
- объем
- Склады
- Web
- веб-сервер
- веб-сервисы
- Что
- Что такое
- который
- в то время как
- КТО
- широкий
- Шире
- будете
- Победы
- в
- без
- Работа
- работать вместе
- работавший
- работает
- Мир
- мире
- бы
- письмо
- лет
- зефирнет