InMobi best practices based on open source big data services

1、会社概要

InMobi は、AI と効果測定に支えられたグローバルなモバイル広告・マーケティングテクノロジープラットフォームです。世界中で接続された膨大な数のアプリとユーザー基盤を基盤に、国内ブランドやアプリ向けに広告プロモーションおよびマーケティングテクノロジーサービスを提供するとともに、アプリ開発者に対して収益化サービスを提供しています。同プラットフォームは 2007 年に設立され、2011 年に中国市場に参入しました。研究開発主導で、モバイル広告プラットフォーム業界において確固たる地位を占めています。その技術力は世界的にも極めて高い水準にあり、世界 23 の国と地域に展開するローカライズサービスチームを通じて、月間 10 億人以上のアクティブユーザーにリーチしています。さらに、数万を超える精緻なオーディエンスカテゴリー、数千のディメンションタグ、数千万規模のユーザー定義サンプルデータベースからのデータ、および LBS に基づく精緻なモバイル広告サービスを提供しています。

世界的なリーディングテクノロジー企業として、InMobi は 2019 年に CNBC の「世界の破壊的イノベーション企業トップ 50」に選出され、2018 年には Fast Company 誌の「最も革新的な企業」にも選ばれています。

2、InMobi 中国ビッグデータソリューション

前述の図は、InMobi の従来の中国ビッグデータクラスターアーキテクチャを示しています。主にデータ取り込みレイヤー、ストレージレイヤー、コンピューティングレイヤー、およびレポートレイヤーの 4 つの層で構成されています。まず、広告フロントエンドの各種広告データがデータ取り込みレイヤーを通じて取り込まれます。特に RR データが対象となります。その後、データはオフラインの HDFS ビッグデータクラスターに格納され、コンピューティングクラスターでデータタスクが処理されます。最終的に、処理済みタスクがレポートの形式でエンドユーザーに提供されます。



ビッグデータクラスターの運用保守において、いくつかの問題が徐々に顕在化しました。

・ビッグデータクラスターがデータセンター内に構築されており、リソースのスケーリングや拡張に不利

コンピューティングリソースが不足すると、一部のタスクをデプロイしたり、場合によっては一時停止する必要があり、重要なタスクの優先順位付けが必要となるため、レポート生成に支障をきたします。

・データレポートのリアルタイム性能が不十分

データレポートのリアルタイム性が十分ではなく、ビジネス側が求める分単位でのレポート表示ニーズに対応できていません。

・リアルタイムレポートデータ処理に使用している Vertica データベースのコストが比較的高い

3、InMobi 中国ビッグデータクラスター最適化スキーム

ビッグデータクラスターの最適化

前述の 3 つの代表的な課題を踏まえ、InMobi は最適化スキームについて以下のように検討しました。

・ハイブリッドクラウドアーキテクチャを構築し、Alibaba Cloud のビッグデータサービスを導入して、スケーラブルなストレージとコンピューティングリソースのスケーラビリティを解決

クラウド上でビッグデータサービスノードを追加展開し、ビッグデータサービスの柔軟性を活かしてコンピューティングリソースとストレージ容量の不足を解消します。特に、618 や独身の日など、リソース需要が集中する一時的なシナリオに対応します。

・Vertica データベースを EMR ClickHouse に置き換え、リアルタイムデータレポートのクエリ効率を向上させ、コストを削減

ClickHouse はオープンソース製品として、中国のインターネット企業のさまざまなビジネスシーンで大規模に導入されています。

・Flink + EMR ClickHouse ベースのリアルタイムデータウェアハウスシステムを構築し、データレポートのリアルタイム性の課題を根本的に解決

データレポートのリアルタイム性の課題を解決し、少なくとも分単位、特別な要件のあるレポートについては秒単位での更新を実現します。

ビッグデータクラスターの具体的最適化スキーム

・リアルタイムデータウェアハウスとオフラインデータウェアハウスのデカップリング

・IDC ビッグデータクラスターにおいて、オフラインデータレポートのリソースとリアルタイムレポートのリソースを完全にデカップリング

・IDC ビッグデータクラスターにおいて、オフラインデータレポートのタスクとリアルタイムレポートのタスクを完全にデカップリング

・リアルタイムデータウェアハウスの再構築

・Kafka ログクラスターを Alibaba Cloud に移行

・Alibaba Cloud 上で、Flink + EMR ClickHouse ベースのリアルタイムデータウェアハウスクラスターを再構築

・IDC 内で、既存の Storm タスクを新しいリアルタイムデータウェアハウスクラスターに移行

・オフラインデータウェアハウスの最適化

・IDC 内の HDP ビッグデータクラスターのリソースを最適化してリサイクルし、コストを削減

・オフラインデータウェアハウスとして Hive を構築

・Alibaba Cloud 上で新規データノードを起動し、オフラインビッグデータクラスターに参加させて、ストレージとコンピューティングリソースを拡張

・Alibaba Cloud 上で新しい Flume クラスターを構築し、Kafka の生データを HDFS ストレージに送信

最適化後のビッグデータクラスターアーキテクチャ

次の図に示すように、最適化後のビッグデータクラスターアーキテクチャは主に 2 つの部分に分かれます。

・Alibaba Cloud(リアルタイム):Alibaba Cloud は主にリアルタイムデータ処理を担当します。

Kafka から rr ログを読み取り、ClickHouse を通じてリアルタイムレポートに書き込み、ビジネス要件に応じて Kafka から有用なデータを MySQL と PostgreSQL に読み取ります。

・IDC(オフライン):IDC は主にオフラインデータとレポート業務の処理を担当します。

Flume を通じて Kafka の生データを HDFS クラスター全体に完全に分散して保存し、その後データ分析とデータ調整を行います。オフラインビッグデータクラスターでは、オフラインレポートのビジネス要件をすべて Spark タスクで処理し、処理結果を ClickHouse に書き戻して、オフラインデータレポートの表示に使用します。

4、今後のさらなる技術探求と実装

Flink + Hologres ベースのストリーミングとバッチを統合したリアルタイムデータウェアハウスの構築

ご存知の通り、Hologres のアーキテクチャはストレージとコンピューティングの分離を実現しています。コンピューティングは K8s 上にフルデプロイされ、共有ストレージにはビジネスニーズに応じて HDFS や OSS を選択でき、リソースの弾力的なスケーリングを実現できます。これにより、リソース不足に起因する同時実行の問題を完全に解決でき、InMobi の広告ビジネスシナリオに非常に適しています。

さらに、Flink でストリームデータとバッチデータの ETL 処理を行い、処理済みデータを Hologres に書き込んで一元保存およびクエリを実行できます。これにより、ビジネス側が Hologres と直接連携してオンラインサービスを提供できるようになり、生産性が大幅に向上します。

以上が、Alibaba Cloud のオープンソースビッグデータサービスを活用した InMobi のベストプラクティスです。

Related Articles

Explore More Special Offers

  1. Short Message Service(SMS) & Mail Service

    50,000 email package starts as low as USD 1.99, 120 short messages start at only USD 1.00

phone お問い合わせ
Hi, I'm Alibaba Cloud AI Assistant!
I can help with questions and solutions.