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

AnalyticDB:リアルタイムデータウェアハウスの概要

最終更新日:Mar 29, 2026

AnalyticDB for PostgreSQL を使用すると、単一のシステム内でデータの取り込み、処理、分析を実行できます。これは、単一のデータコピー、単一の書き込み操作、単一のシステム、そして単一の SQL スクリプトセットで実現されます。その基盤となるのがリアルタイムマテリアライズドビューです。これにより、外部のスケジューリングシステムやストリームコンピュートエンジンを、宣言的で自動更新される SQL パイプラインに置き換えることができます。

リアルタイムデータウェアハウスの利用シーン

リアルタイムデータウェアハウスは、次のような場合に適しています。

  • ダッシュボード、レポート、または意思決定システムで、1 分未満のデータ鮮度がビジネス上必要とされる場合。

  • データスタックから個別のスケジューリングシステムとストリーム処理エンジンを排除したい場合。

  • ETL ロジックが純粋なストリーム処理には複雑すぎる場合。たとえば、数十のテーブルにまたがる JOIN、多層集約、またはタイムウィンドウを超えた既存データへのアクセスなど。

  • リアルタイムの増分更新と定期的なバッチリフレッシュの両方を処理する単一の SQL コードベースが必要な場合。

仕組み

リアルタイムデータウェアハウスの構築には、3 つのステージがあります。

  1. リアルタイムのデータ書き込み:複数ソースのデータ (リアルタイムおよびバッチ) を、高性能かつ低レイテンシーで並列に書き込みます。書き込まれたデータは、すぐにクエリで参照可能になります。

  2. リアルタイムのデータ処理:リアルタイムマテリアライズドビューを使用して、抽出、変換、ロード (ETL) 操作を増分ストリーミングモードで実行します。リアルタイムマテリアライズドビューは、データクレンジング、フィールド変換、JOIN、GROUP BY、および UNION ALL をサポートします。標準のマテリアライズドビューとは異なり、ベーステーブルのデータが変更されると自動的にリフレッシュされるため、REFRESH 文は不要です。複数のリアルタイムマテリアライズドビューを連鎖させることで、完全な ETL 処理パイプラインを構築できます。ベーステーブルが変更されると、連鎖内の各ビューが自動的に更新されます。

  3. リアルタイムのデータ分析:マテリアライズドビューを直接クエリして、アドホッククエリ、レポート表示、リアルタイムダッシュボードに利用します。AnalyticDB for PostgreSQL は、単一命令複数データ (SIMD) 命令セットに基づくベクトル化実行エンジン、コストベースオプティマイザ (CBO)、および列指向ストレージを使用して、効率的な分析パフォーマンスを提供します。

image

大容量で非標準フォーマット、または中間テーブルへの依存度が高い複雑なデータに対して、AnalyticDB for PostgreSQL は標準的な階層アーキテクチャをサポートしています。具体的には、オペレーショナルデータストア (ODS)、データウェアハウスの詳細 (DWD)、データウェアハウスサービス (DWS)、およびアプリケーションデータサービス (ADS) の各レイヤーです。

主な機能

シンプルなアーキテクチャとコスト削減

すべてのデータの書き込み、処理、分析が単一のシステム内で行われます。これにより、システム間でデータを移動するための個別のパイプラインを維持する必要がなくなり、開発工数と運用保守の複雑さの両方が軽減されます。

メリット詳細
コスト効率単一のシステムに書き込まれる単一のデータコピー — 複数のストア間でのデータ重複なし
シンプルな開発単一の SQL スクリプトセットがパイプライン全体をカバーし、複数システム間の統合は不要
高性能増分処理により、リソース消費を低く抑え、レイテンシーを最小限に維持
シンプルな運用保守監視対象は単一システムのみ。データの異常を容易に追跡・修正可能

スケジューリング不要のリアルタイム ETL

従来のバッチ ETL では、ジョブの依存関係を管理し、リフレッシュをトリガーするためにスケジューリングシステムが必要でした。リアルタイムマテリアライズドビューを使用すると、データの依存関係は自動的に解決されます。データがベーステーブルに書き込まれると、連鎖内のすべての下流のリアルタイムマテリアライズドビューが増分的に更新されます。

ストリームコンピュートの制限がない複雑な SQL

ストリーム処理エンジンは SQL に大きな制約を課します。多くの場合、大規模なオフラインディメンションテーブルとの JOIN、多層テーブルのネスト、または既存データの遡りをサポートしていません。AnalyticDB for PostgreSQL のリアルタイムマテリアライズドビューは、ディスクストレージを基盤とするデータベースエンジン上に構築されているため、データウィンドウの制限なく、数十のテーブルにまたがる複雑な JOIN 関係をサポートします。これにより、複雑なバッチ処理ジョブを、より低いコストと工数でリアルタイムパイプラインに変換することが現実的になります。

データウィンドウの制限なし

リアルタイムマテリアライズドビューは (メモリベースのストリームコンピュートではなく) ディスクベースのデータベースエンジン上に実装されているため、超大規模テーブル間の JOIN や、すべての既存データにわたるバックトラッキングをサポートします。生データへの更新は、リアルタイム処理の連鎖全体に自動的に反映されます。実際には、数十のテーブルを JOIN してリアルタイムマテリアライズドビューを作成し、データウィンドウの制限なしに、数秒のレイテンシーでリアルタイムの増分更新を実装できます。

ストリーム処理とバッチ処理の統合

リアルタイムマテリアライズドビューは、両方のモードに対して 1 つの SQL スクリプトを使用します。

  • 初期ロード:リアルタイムマテリアライズドビューが最初に作成されるとき、SQL はバッチ処理モードで実行され、完全な結果セットを計算します。

  • 継続的な更新:その後、データがリアルタイムで到着するたびに、結果セットは増分的に更新されます。

一部のテーブルはリアルタイム更新が必要で、他のテーブルは定期的なリフレッシュのみが必要な混合ワークロードの場合、特定のテーブルをリアルタイム更新から除外するように設定し、その後 REFRESH 文を実行して、スケジュールされた更新が設定されている結果セットをバッチでリフレッシュします。

image

ゼロ ETL

AnalyticDB for PostgreSQL は、ゼロ ETL も提供しています。AnalyticDB for PostgreSQL インスタンスを作成すると、そのインスタンスを使用して、並列データインポート、ETL 処理、アドホッククエリ、データ分析をリアルタイムで実行できます。