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 のベストプラクティスです。
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
-
A detailed explanation of Hadoop core architecture HDFS
Knowledge Base Team
-
What Does IOT Mean
Knowledge Base Team
-
6 Optional Technologies for Data Storage
Knowledge Base Team
-
What Is Blockchain Technology
Knowledge Base Team
Explore More Special Offers
-
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
