リアルタイム集計データに対するクエリの実行
BAM プライマリ インポート データベースで動的に作成された SQL ビューでは、リアルタイム集計 (RTA) データに対してクエリを実行できます。
クエリでのビューの名前は次のようになります。
Bam_<ViewName>_<RTAName>_RTAView
場所
<Viewname> は、BAM 定義 XML の View 要素の Name 属性です。これは、関連する Microsoft Excel ウィザードで入力されたビュー名と同じです。
<RTAName> は、BAM 定義 XML の RealTimeAggregation 要素の Name 属性です。BAM は、ビュー名に基づいて一意として生成されます。
リアルタイム集計データに対してクエリを実行する際は、次の条件に特に注意してください。
特定の期間 (既定では 1 日) にわたって集計を継続するようにリアルタイム集計を設定する必要がありますが、データ量が増えすぎないようにします。 また、OLAP キューブ内で古い集計データが利用可能になっている必要があります。
RTA に対するクエリでは、RTA データ用のオンライン ウィンドウに表示される時間ディメンションに関してフィルター処理を行う必要があります。 BAM は BAM データのタイムスタンプに基づいて RBA のデータ メンテナンスを実行し、データをチャンク単位で削除するように最適化されているため、これが必要です。 したがって、Transact-SQL コマンド "
select *
" を送信するだけで、結果は予測不能に変動します。DirectEventStream を使用してアクティビティ データを BAM に送信する場合、リアルタイム集計データは、呼び出し元アプリケーションのトランザクションが実行されると直ちに表示され、待機時間がありません。
BufferedEventStream を使用してアクティビティ データを BAM に送信する場合、RTA データは数秒後にクエリとして表示されます。待機時間は、BAM Event Bus サービスと、BAM プライマリ インポート データベースをホストする SQL サーバーの負荷によって異なります。
BAM では、トリガーを使用してアクティビティ データ ストレージ レコードの変更や挿入に関する同期が行われているテーブルに基づいて、リアルタイムの集計を行います。 詳細については、「 アクティビティ データ ストレージ」を参照してください。 リアルタイム集計はパフォーマンスに大きな影響を与える可能性があります。 詳細については、「 リアルタイム集計」を参照してください。