ゼファーネットのロゴ

redBus のデータプラットフォームと、Amazon QuickSight を使用してビジネスの洞察を加速した方法について詳しく説明します

日付:

この投稿は、redBus の Girish Kumar Chidananda と共著しています。

レッドバス はインドで AWS を最も早く採用した企業の XNUMX つであり、そのサービスとアプリケーションのほとんどは AWS クラウドでホストされています。 AWS は、コストを非常に低く抑えながらインフラストラクチャを迅速にスケーリングする柔軟性を redBus に提供しました。 AWS には、redBus が保証できるカスタマー サポートの提供など、ほとんどのニーズに対応する包括的なサービス スイートがあります。

この投稿では、redBus のデータ プラットフォーム アーキテクチャと、さまざまなコンポーネントを接続してデータ ハイウェイを形成する方法を紹介します。 また、リアルタイムのビジネス インテリジェンス (BI) ユース ケースのダッシュボードを構築する際に redBus が直面した課題と、それらをどのように使用したかについても説明します。 アマゾンクイックサイトは、高速で使いやすいクラウドベースのビジネス分析サービスであり、redBus 内のすべての従業員がビジュアライゼーションを構築し、アドホック分析を実行して、いつでもどのデバイスでもデータからビジネスの洞察を得ることを容易にします。

レッドバスについて

レッドバス は、インドで構築された世界最大のオンライン バス チケット プラットフォームであり、世界中の 36 万人以上の顧客にサービスを提供しています。 redBus は、バスの発券サービスに加えて、鉄道の発券サービスも運営しています。 レッドレール と呼ばれるバスとレンタカーのサービス ライド. これは、インドの大手オンライン旅行会社である GO-MMT グループの一部であり、MakeMyTrip や Goibibo などの他の著名なオンライン旅行ブランドを含む広範なブランド ポートフォリオを備えています。

redBus のデータハイウェイ 1.0

redBus は、旅行者の旅の追跡、交通量が多いときの需要の予測、バス オペレーターのサインアップ プロセスにおけるボトルネックの特定と対処など、あらゆるレベルでデータ主導の意思決定を行うことに大きく依存しています。 redBus の事業は、事業を展開する都市と国の数、および各都市でサービスを利用するバス事業者と旅行者の数の点で成長し始めたため、受信データの量も増加しました。 次の図に示すように、XNUMX か所でデータにアクセスして分析する必要があるため、独自のデータ プラットフォームを構築する必要がありました。

redBus データ プラットフォーム 1.0

次のセクションでは、各コンポーネントについて詳しく説明します。

データ取り込みソース

データ プラットフォーム 1.0 では、データはさまざまなソースから取り込まれます。

  • リアルタイム – redBus モバイルアプリ、バックエンドマイクロサービスからのリアルタイムデータフロー、および乗客、バスオペレーター、またはアプリケーションがバスチケットの予約、バス在庫の検索、KYC ドキュメントのアップロードなどの操作を行うとき
  • バッチモード – スケジュールされたジョブは、次のような複数の永続データ ストアからデータを取得します Amazon リレーショナル データベース サービス すべてのアプリケーションからの OLTP データが保存される (Amazon RDS)、さまざまなオペレーターからのバス インベントリが保存される Apache Cassandra クラスター、ユーザー ID グラフが保存される Arango DB など

データのカタログ化

リアルタイム データは、自己管理型の Apache Nifi クラスターに取り込まれます。これは、データを宛先に送信する前に、ルーティング機能を使用してデータをクリーニング、分析、およびカタログ化するために使用されるオープンソース データ プラットフォームです。

ストレージと分析

redBus は、ストレージと分析のニーズに次のサービスを使用します。

  • Amazon シンプル ストレージ サービス (Amazon S3) は、事実上無制限のスケーラビリティと高い耐久性により、データ レイクの基盤を提供するオブジェクト ストレージ サービスです。 Apache Druid からのリアルタイムのデータ フローとデータ ストアからのデータは、スケジュールに基づいて一定の間隔で流れます。
  • OLAP スタイルのデータ ストア (Kafka Druid データ ローダーを介したデータ フロー) である Apache Druid は、データの読み込みプロセス中にさまざまなディメンションに対してファクトとメトリックを計算します。
  • Amazonレッドシフトは、エクサバイト単位のデータを分析し、複雑な分析クエリを実行するのに役立つクラウド データ ウェアハウス サービスです。 redBus は Amazon Redshift を使用して、Amazon S3 からの処理済みデータと Apache Druid からの集約データを保存します。

クエリと視覚化

redBus を可能な限りデータドリブンにするために、SRE エンジニア、データ エンジニア、ビジネス アナリストが視覚化レイヤーを介してデータにアクセスできるようにしました。 このレイヤーには、オープンソースのデータ視覚化アプリケーションである Apache SuperSet を使用して提供されるダッシュボードが含まれています。 アマゾンアテナは、アドホック クエリ要件に対して標準 SQL を使用して Amazon S3 のデータを分析するためのインタラクティブなクエリ サービスです。

課題

当初、redBus は 10 日あたり 10 万イベントの割合で取り込まれたデータを処理していました。 時間が経つにつれて、ビジネスが成長し始めるにつれて、データ量 (ギガバイトからテラバイト、ペタバイトへ)、320 日あたりのデータ取り込み (XNUMX 万から XNUMX 億 XNUMX 万のイベント)、およびビジネス インテリジェンス ダッシュボードのニーズも増加しました。 その後すぐに、自己管理型のスーパーセットの BI 機能と運用の複雑さの増大に伴う課題に直面し始めました。

限られた BI 機能

redBus には、次の BI 制限がありました。

  • 複数のデータ ソースからビジュアライゼーションを作成できない – スーパーセットでは、データ探索レイヤー内の複数のテーブルから視覚化を作成できません。 redBus のデータ エンジニアは、事前にデータ ソース レベルでテーブルを結合する必要がありました。 redBus のビジネス関係者のために 360 度のビューを作成するために、データ エンジニアが視覚化レイヤーをサポートする複数のテーブルを維持するのは不便になりました。
  • ダッシュボードのビジュアルにグローバル フィルターがない – ダッシュボード内のビジュアル全体にわたるグローバルまたはプライマリ フィルターは、スーパーセットではサポートされていません。 たとえば、地域別の売上高、地域別の YTD 収益実現、地域別の販売パイプラインなどのビジュアルがダッシュボードにあり、EMEA、APAC、US などの値を持つフィルター地域がダッシュボードに追加されているとします。 フィルター Region は、ダッシュボード全体ではなく、ビジュアルの XNUMX つにのみ適用されます。 ただし、ダッシュボード ユーザーは、ダッシュボード全体のフィルタリングを期待していました。
  • ビジネスユーザー向けのツールではない – カスタマイズに関しては、スーパーセットは非常に開発者中心です。 たとえば、redBus ビジネス アナリストが、事前設定された値に従ってダッシュボードのすべてのスライスを自動的に再クエリする時間指定更新をカスタマイズする必要がある場合、アナリストはダッシュボードの JSON メタデータ フィールドを更新する必要があります。 したがって、ビジュアルまたはダッシュボードでカスタマイズを行うには、JSON とその構文の知識が必須です。

運用コストの増加

Superset はオープン ソースであるため、ライセンス コストはかかりませんが、エンタープライズ レベルの BI ツールとして機能するために必要なすべてのコンポーネントを維持するためにより多くの労力が必要になることも意味します。 redBus は、 アプリケーションロードバランサー 負荷分散を行う。 スーパーセットがユーザー、スライス、ダッシュボード定義などの内部情報を格納するメタデータ データベース サーバー (MySQL)。 長時間実行されるクエリをサポートするための非同期タスク キュー (Celery)。 メッセージブローカー (RabbitMQ); 結果をキャッシュし、データをグラフ化するための分散型キャッシュ サーバー (Redis) アマゾン エラスティック コンピューティング クラウド (Amazon EC2) インスタンス。 次の図は、このアーキテクチャを示しています。

redBus での Apache スーパーセットの展開

redBus の DevOps チームは、インフラストラクチャのプロビジョニング、バックアップの作成、必要に応じてコンポーネントを手動でスケーリングする、コンポーネントを個別にアップグレードするなど、大変な作業を行う必要がありました。 また、すべてのコンポーネントがシームレスに連携するように構成を変更するには、Python の Web 開発者がそばにいる必要がありました。 これらすべての手動操作により、redBus の総所有コストが増加しました。

QuickSight への旅

redBus は、主にいくつかのダッシュボード要件に関連する BI ソリューションの調査を開始しました。

  • データが Amazon S3 および Amazon Redshift を介して供給される、ビジネス関係者およびアナリスト向けの BI ダッシュボード。
  • リアルタイムのアプリケーション パフォーマンス モニタリング (APM) ダッシュボード。SRE エンジニアと開発者がマイクロサービス展開の問題の根本原因を特定し、顧客のエクスペリエンスに影響を与える前に問題を修正できるようにします。 この場合、データは Druid を介して供給されます。

QuickSight は redBus の BI ダッシュボード要件のほとんどに適合し、データ プラットフォーム チームはすぐに、いくつかの複雑なダッシュボードの概念実証 (POC) を開始しました。 XNUMX か月にわたる POC の最後に、チームは調査結果を共有しました。

まず、QuickSight には次のような豊富な BI 機能があります。

  • これはドラッグ アンド ドロップ機能を備えたセルフサービス BI ソリューションであり、redBus アナリストがコーディング作業なしで快適に使用できるようにします。
  • 単一のダッシュボードで複数のデータ ソースから視覚化することで、redBus のビジネス関係者は、360 つの画面で売上、予測、洞察を XNUMX 度見渡すことができます。
  • ビジュアル全体およびダッシュボード内のシート全体にカスケード フィルターを適用することは、redBus の BI 要件にとって非常に必要な機能です。
  • QuickSight は Excel のようなビジュアルを提供します。計算を含むテーブル、セルのグループ化を含むピボット テーブル、およびスタイル設定は、閲覧者にとって魅力的です。
  • QuickSight の超高速、並列、インメモリ計算エンジン (SPICE) は、redBus を数十万人のユーザーにスケールするのに役立ち、さまざまな AWS データ ソースにわたって高速でインタラクティブな分析をすべて同時に実行できます。
  • 市販の ML の洞察と予測を追加費用なしで利用できるため、redBus のデータ サイエンス チームは、売上予測や類似のモデルに加えて ML モデルに集中できます。
  • 組み込みの行レベル セキュリティ (RLS) により、redBus はビューアーにフィルターされたアクセスを許可できます。 たとえば、redBus には、さまざまな国を管理する多くのビジネス アナリストがいます。 RLS を使用すると、各ビジネス アナリストは、割り当てられた国に関連するデータのみを XNUMX つのダッシュボードで確認できます。
  • redBus は、Security Assertion Markup Language 2.0 (SAML 2.0) をサポートする OneLogin を ID プロバイダーとして使用します。 ID フェデレーションと QuickSight のシングル サインオン サポートを利用して、redBus は QuickSight ユーザーに簡単なオンボーディング フローを提供できます。
  • QuickSight は、組み込みのアラートと電子メール通知機能を提供します。

次に、QuickSight は、AWS が提供するフルマネージド型のクラウドネイティブなサーバーレス BI サービスであり、次の機能を備えています。

  • redBus のエンジニアは、EC2 インスタンスで BI ソリューションをプロビジョニング、スケーリング、維持するという面倒な作業に集中する必要はありません。
  • QuickSight は、Amazon Redshift、Amazon S3、Athena などの AWS サービスや、Presto、Snowflake、Teradata などのその他の一般的なフレームワークとのネイティブ統合を提供します。 Druid とのネイティブ統合は 2022 年 XNUMX 月の時点で利用できなかったため、QuickSight は redBus が既に持っている Apache Druid を除くほとんどのデータ ソースに接続します。サポートされているデータ ソースの完全なリストについては、次を参照してください。 サポートされているデータソース.

結果

すべての豊富な機能と総所有コストの削減を考慮して、redBus は BI ダッシュボードの要件に QuickSight を選択しました。 RedBus のデータ エンジニアは、QuickSight を使用して、ペタバイトのデータからの洞察をビジネス関係者やアナリストに提供するために、すぐに多数のダッシュボードを作成しました。 redBus のデータ ハイウェイは進化し、ビジネス インテリジェンスを組織内のはるかに幅広い利用者に提供し、パフォーマンスを向上させ、価値を実現するまでの時間を短縮しました。 2022 年 XNUMX 月の時点で、次の図に示すように、ビジネス ユーザー用の QuickSight とリアルタイム APM ダッシュボード用のスーパーセットを組み合わせています (執筆時点では、QuickSight は Druid へのネイティブ コネクタを提供していません)。

redBus データ プラットフォーム 2.0

販売異常検出ダッシュボード

redBus が本番環境にデプロイしたダッシュボードは多数ありますが、販売の異常検出は、redBus が構築した興味深いダッシュボードの XNUMX つです。 次の図に示すように、redBus 独自の売上予測モデルを使用します。このモデルは、Amazon Redshift テーブルの過去の売上データと Druid テーブルのリアルタイム売上データに基づいています。

販売異常検出データ フロー

定期的に、スケジュールされたジョブが redBus 予測モデルにリアルタイムおよび過去の販売データをフィードし、予測データが Amazon Redshift テーブルにプッシュされます。 QuickSight の販売異常検出ダッシュボードは、結果の Amazon Redshift テーブルによって提供されます。

以下は、販売異常検出ダッシュボードのビジュアルの XNUMX つです。 これは、redBus の特定のビジネス コホートの時系列の XNUMX 時間ごとの実際の売上、予測される売上、およびアラートしきい値を表す折れ線グラフを使用して作成されます。

特定のコホートの売上と予測売上

このビジュアルでは、各バーは、時系列の特定の時点でトリガーされた売上異常の数を表しています。

redBus のアナリストは、次の図に示すように、販売の詳細と異常を分単位でさらにドリルダウンできます。 このドリルダウン機能は、QuickSight ですぐに利用できます。

ドリルダウン チャート - 特定のコホートの売上と予測売上

QuickSight ダッシュボードのビジュアルにドリルダウンを追加する方法の詳細については、次を参照してください。 Amazon QuickSight でビジュアルデータにドリルダウンを追加する.

ビジュアルとは別に、次の注目すべき機能により、redBus の視聴者のお気に入りのダッシュボードの XNUMX つになりました。

  • ビジュアル全体のフィルタリングは QuickSight のすぐに使える機能であるため、タイムスタンプ ベースのフィルターがダッシュボードに追加されます。 これにより、ダッシュボードで XNUMX 回のクリックで複数のビジュアルをフィルター処理できます。
  • ビジュアルで構成された URL アクションは、視聴者がコンテキスト依存の社内アプリケーションに移動するのに役立ちます。
  • KPI とゲージ ビジュアルで構成された電子メール アラートは、視聴者が時間通りに通知を受け取るのに役立ちます。

次のステップ

BI ダッシュボードのニーズに合わせて新しいダッシュボードを構築することとは別に、redBus は次の次のステップを実行しています。

  • 探る QuickSight 組み込み分析 コンテキスト内のデータ ビジュアル、インタラクティブなダッシュボード、およびアプリケーション内でより直接的にユーザーが洞察を得るまでの時間を短縮するためのアプリケーション要件のいくつかについて
  • 探る クイックサイト Q、これにより、ビジネス関係者は自然言語で質問し、データから洞察を得るのに役立つ関連する視覚化を使用して正確な回答を得ることができます
  • 統合が利用可能になると、すべてのデータ ソースをカバーする QuickSight を使用して、統合されたダッシュボード ソリューションを構築する

まとめ

この投稿では、redBus がさまざまな AWS サービスと Apache フレームワークを使用してデータプラットフォームを構築した方法、プラットフォームが経験した課題 (特に、BI ダッシュボードの要件とスケーリング中の課題)、および QuickSight を使用して総コストを削減した方法を示しました。所有権の。

redBus のエンジニアリングについて詳しく知るには、彼らの 中程度のブログ投稿. QuickSight で何が起こっているかについての詳細を知りたい場合、または質問がある場合は、 QuickSightコミュニティ、非常に活発で、いくつかのリソースを提供しています。


著者について


作者: ギリッシュ・チダナンド
ギリッシュ・クマール・チダナンダ
redBus でデータ エンジニアリングのシニア エンジニアリング マネージャーとして働いており、過去 5 年間、redBus のさまざまなデータ エンジニアリング アプリケーションとコンポーネントを構築してきました。 IT 業界でのキャリアを開始する前は、さまざまな組織で機械および制御システム エンジニアとして働いており、バース大学で流体動力工学の修士号を取得しています。


著者: カヤルヴィジ・カンダサミー
カヤルヴィジ・カンダサミー
デジタルネイティブ企業と協力してイノベーションをサポートします。 アマゾン ウェブ サービスのシニア ソリューション アーキテクト (APAC) として、AWS のサービスを使用したマイクロサービス アーキテクチャとクラウドネイティブ ソリューションを中心に、その経験を活かして人々がアイデアを実現できるよう支援しています。 仕事以外では、彼女はチェスをするのが好きで、FIDE 認定のチェス プレイヤーです。 彼女はまた、娘たちにチェスの技術を指導し、さまざまなチェス トーナメントの準備をしています。

スポット画像

最新のインテリジェンス

スポット画像