すべてのプロダクト
Search
ドキュメントセンター

Hologres:ユーザープロファイル分析

最終更新日:Mar 12, 2025

このトピックでは、Hologres でのタグ付けとプロファイル分析のベストプラクティスについて説明します。

背景

プロファイル分析とは、対象ユーザーの自然属性、行動属性、プリファレンス属性に基づいて、ユーザーの興味関心を探索し、グループの特徴を分析するプロセスです。ユーザープロファイリングは、個人ユーザーまたはユーザーグループの包括的な特徴を描写するための重要な手段です。運用分析担当者が運用戦略を最適化するための、ユーザーのプリファレンスや行動などの情報を提供します。また、専用の製品設計のための正確な役割情報も提供します。プロファイリングシステムは通常、ユーザー特性処理とプロファイル分析機能を統合し、特性のオフライン処理、タグのマッピング、アドホック分析データのロード後、リアルタイムのグループ分析と識別を提供します。

プロファイル分析は、さまざまな業界で広く適用されており、運用戦略を最適化し、洗練された運用と精密なマーケティングを実施するための重要な手段となっています。プロファイル分析に適した典型的なシナリオの例を以下に示します。

  • 広告:プロファイル分析は、ターゲティング広告を実施するためのユーザーに関する洞察を提供します。

  • ゲーム:プロファイル分析は、解約率の分析を提供し、ユーザーの粘着性を高めるために運用戦略を調整できるようにします。

  • 教育:プロファイル分析は、保持率を向上させるためのコース品質の分析を提供します。

ただし、プロファイル分析は、複雑なデータ、大量のデータ、クエリモードに起因するシステムの安定性、保守性、スケーラビリティの課題に直面しています。

  • O&M 担当者は、リアルタイムのオフライン処理のために複数のデータリンクを維持する必要があり、これは重いワークロードにつながります。従来のオンライン分析処理(OLAP)エンジンは、ストレージとコンピューティングが結合されたアーキテクチャを使用しています。その結果、コンピューティングリソースとストレージリソースが互いに比例しないシナリオでは、リソースの浪費が発生し、システムのスケーリングと移行のコストが高くなります。

  • 運用担当者は、柔軟な識別機能を必要としています。1 人のユーザーを記述するには、プロパティデータや行動データなど、何千ものディメンションが必要になる場合があります。多次元 OLAP(MOLAP)はミリ秒単位で応答を提供しますが、柔軟性に欠けます。リレーショナル OLAP(ROLAP)は柔軟性を提供しますが、応答に時間がかかり、パフォーマンスが低下します。

Hologres ソリューション

前述の問題に対処するために、Hologres では、データリンクの構成、プラグインライブラリの選択、ビジネスシステムの規模を考慮することにより、高パフォーマンスとスケーラビリティを提供するソリューションを決定できます。

  • データリンク

    Hologres は、複数のデータリンクを維持する必要なく、リアルタイムのオフラインデータ処理をサポートしています。これにより、データの不整合やデータサイロなどの一般的な問題を防ぎます。次の図は、データリンクを示しています。数据链路 Hologres は、データ統合において以下の利点を提供します。

    • Hologres は DataWorks とシームレスに統合されています。アクセス構成を作成することで複雑なデータ依存関係の問題を解決でき、安定したオフラインデータ処理とロードプロセスが提供されます。

    • Hologres は、リアルタイム書き込みを含むシナリオ向けに、ログ構造マージ(LSM)構造に基づく行指向ストレージを提供します。Hologres は Realtime Compute for Apache Flink と統合されており、リアルタイムのタグ付けとリアルタイムの特性処理のための安定したパフォーマンスサポートを提供します。

    • Hologres は、フェデレーテッドクエリ機能を提供し、外部テーブルを使用して MaxCompute、Object Storage Service (OSS)、その他の Hologres インスタンスなどの外部データストレージサービスへのアクセスを許可します。

  • プロファイルコンピューティング

    Hologres は PostgreSQL エコシステムと互換性があり、豊富なビルトイン関数を備えています。さらに、Alibaba Cloud とそのユーザーのベストプラクティスに基づいて、多くの効率的なプロファイルコンピューティングプラグインが開発されています。

    • 正確な重複排除:Roaring ビットマップ関数

      Hologres は Roaring ビットマップをサポートしています。効率的な圧縮ビットマップを使用して、集合に対する和集合演算と積集合演算、およびビット単位の集約操作をサポートしています。Roaring ビットマップは、複数のディメンションを持つ一意のデータを含むテーブルの計算に適しており、通常は重複排除(UV 計算)、タグベースのフィルタリング、準リアルタイムのユーザープロファイル分析で使用されます。UV は Unique Visitor の略です。

    • 行動データに基づくユーザー識別:対象ユーザー識別関数

      行動データに基づくユーザー識別シナリオでは、行動データは日または時間ごとにテーブルに記録されます。特定の期間内に特定のアクションを実行したユーザーは、行動データが複数の行に分散しているため、直接クエリすることはできません。このようなユーザーをクエリするには、行動データテーブルに対して SELF JOIN 操作を複数回実行する必要があります。たとえば、[action='click' and page='Shopping cart'] and [action='view' and page='Favorites'] で、ds 値が 20210216 から 20210218 までのユーザーをクエリするとします。行为明细表

      Hologres は、bit_constructbit_orbit_match 関数を提供して、JOIN 操作がクエリのパフォーマンスに及ぼす悪影響を防ぎ、SQL 操作を簡素化します。これらの関数は、ユーザーをフィルタリングするために使用されます。特定のフィルタ条件を満たす uid を持つユーザーは、ビット配列として格納されます。次に、bit_match 関数を使用して、ビット配列に対して AND 演算を実行します。次のコードは例を示しています。

      WITH tbl as (
      SELECT uid, bit_or(bit_construct(
        a := (action='click' and page='Shopping cart'),
        b := (action='view' and page='Favorites'))) as uid_mask
        FROM ods_app_dwd
      WHERE ds < '20210218' AND ds > '20210216'
      GROUP BY uid )
      SELECT uid from tbl where bit_match('a&b', uid_mask);
      • bit_construct:式の値を返し、ビット配列に格納します。たとえば、この関数は、上記の SQL 文の条件 a と b に対して [1,0], [0,0], [0,1]... を返します。

      • bit_or:2 つのビット配列に対して OR 演算を実行し、フィルタ条件を満たすユーザーをクエリします。

      • bit_match:ビット配列が式と一致するかどうかを判断します。たとえば、a&b 式の場合、この関数は [1,1] に対して True を返し、 [1,0] に対して False を返します。

    • ファネル分析:ファネル関数

      ファネル分析は、ユーザーの行動を理解し、コンバージョン率を計算するために使用される一般的なコンバージョン分析手法です。ファネル分析は、ユーザーの行動、アプリケーションのデータトラフィック、製品の目標コンバージョンなどのデータ運用と分析のシナリオで広く使用されています。

      ウィンドウファネル関数を使用して、スライドするタイムウィンドウからイベントをクエリできます。この関数は、クエリ条件に一致するイベントの最大数を計算します。リテンション分析は、ユーザーの成長を分析する際に最も一般的で典型的なシナリオです。ほとんどの場合、チャートを使用してユーザーのリテンションを分析できます。ファネル関数とリテンション関数を使用して、ユーザーのリテンション率とコンバージョン率を計算し、複雑な JOIN 操作のオーバーヘッドを削減し、パフォーマンスを向上させることができます。

    • ベクトル処理:Proxima ベースのベクトル処理

      Proxima は、Alibaba DAMO Academy によって開発された高性能ソフトウェアライブラリです。ベクトルの最近傍を検索できます。Proxima は、Facebook AI Similarity Search(Fassi)などの同様のオープンソースソフトウェアよりも高い安定性とパフォーマンスを提供します。Proxima は、業界をリードするパフォーマンスと効果を持つ基本モジュールを提供し、類似の画像、ビデオ、または人間の顔を検索できます。Hologres は Proxima と深く統合されており、高性能なベクトル検索サービスを提供します。K 近傍法(KNN)検索、半径近傍法(RNN)検索、DOT_PRODUCT がサポートされています。

  • ソリューション

    プロファイリングシステムのさまざまな開発段階で、さまざまなコストとパフォーマンスの要件が課せられます。Hologres は、システムデータサイズ、実装コスト、クエリパフォーマンスなどの要因と実務経験に基づいて、以下のソリューションを提供します。

    • ワイドテーブル

      このソリューションは、使用されるタグが 1,000 個未満で、データが頻繁に更新されないシナリオに適しています。安定したプロパティテーブルはオフラインでワイドテーブルに集約され、複数のテーブルに対する JOIN 操作は単一のワイドテーブルに対する操作に変換されます。新しいタグが必要な場合は、これらのタグの列がワイドテーブルに追加されます。これにより、テーブルを使用して柔軟なタグベースの計算が可能になります。詳細については、「ワイドテーブル」をご参照ください。

    • Roaring ビットマップ

      このソリューションは、大量のデータが関係し、多数のタグが使用され、重複排除が必要なシナリオに適しています。Roaring ビットマップの構造化ストレージは、自然な重複排除を実装し、JOIN のオーバーヘッドを防ぎ、操作を簡素化し、データ検索を高速化します。詳細については、「Roaring ビットマップ」をご参照ください。

    • ビットスライスインデックス(BSI)

      このソリューションは、ユーザー属性タグとユーザー行動タグの関連分析に適しており、重複排除後、大量のデータを含むカーディナリティの高い行動タグの計算パフォーマンスを大幅に最適化できます。ユーザー属性タグには性別や県が含まれ、ユーザー行動タグにはページビュー(PV)や注文金額が含まれます。BSI と Roaring ビットマップを使用して、タグの重複排除、UNION 操作、JOIN 操作などの複雑な計算操作を BSI の二項演算と Roaring ビットマップに変換します。これにより、計算操作が簡素化され、行動タグの分析結果が迅速に提供されます。詳細については、「BSI」をご参照ください。

  • まとめ

    Hologres は、幅広いプロファイル分析プラグインをサポートし、優れたパフォーマンスを提供します。Alimama、検索アプリケーション、AMap など、Alibaba グループ内の複数のコアビジネス、および多くのパブリッククラウドユーザーのタグ計算とプロファイル分析のシナリオで広く使用されています。Hologres のサービスのスケーラビリティと安定性は、本番環境でテストされています。Hologres は、高い安定性とスケーラビリティ、低い開発コストと O&M コストでプロファイル分析プラットフォームを構築するための最良の選択肢であることが証明されています。