MongoDBアグリゲーションパイプラインとは?
もんごでぃびーあぐりげーしょんぱいぷらいん
MongoDBアグリゲーションパイプラインとは、複数の処理ステージを順番につなげてドキュメントを集計・変換するMongoDBのデータ処理フレームワークです。
MongoDBアグリゲーションパイプラインとは、MongoDBにおいてドキュメント(レコード)を段階的に処理・集計するための仕組みです。データをパイプライン(pipeline)と呼ばれる一連のステージに通すことで、フィルタリング・グループ化・集計・変換・並び替えなどの複雑な操作を一括して実行できます。
パイプラインはステージの配列として定義され、前のステージの出力が次のステージの入力になります。代表的なステージには以下のものがあります。
- $match:条件に合うドキュメントだけを絞り込む(SQLのWHEREに相当)
- $group:フィールドの値でグループ化し合計・平均などを算出する
- $project:出力するフィールドを選択・追加・変換する
- $sort:結果を指定フィールドで並び替える
- $lookup:他のコレクションと結合する(SQLのJOINに相当)
従来のMapReduceと比べて記述が直感的で、パフォーマンスも優れています。MongoDBはスキーマレスなNoSQLデータベースであるため、ネストされた配列やオブジェクト構造を持つドキュメントに対しても柔軟に集計処理を適用できます。
Webアプリケーションの分析ダッシュボードや、ログ集計、ユーザー行動分析など、大量の非構造化データをリアルタイムに集計したい場面で広く活用されています。
使い方・例文
ECサイトの注文コレクションに対し、$matchで特定期間の注文を絞り込み、$groupでカテゴリ別の売上合計を算出し、$sortで降順に並べるパイプラインを実行することで、月次売上レポートをリアルタイムに生成できます。
この用語をシェア
最終更新: