同様の科学実験の大規模なシリーズ (数億) の結果のストレージを実装しようとしています。実験には、多くの離散値の属性 (エミッターの格子点、レシーバーの格子点、放出イベントの時間、放出時と受信者の温度と標高など) と実験結果 (放出強度、受信強度など) があります。データは膨大な入力フローとして入力されます。
入力データをいくつかの個別の次元 (属性を表す) に編成できるストレージ構造を設計したいと考えています。また、特定の属性値に関連するすべての実験の結果を取得できるようにしたいと考えています (「格子点 #10 からのすべての実験」または「高度レベル 100m で放出が受信されたすべての実験」など)。一括処理を可能にする配列を形成する必要があります (そのような選択セットの結果を平均化するなど)。
そのような高速な検索と組み合わせを可能にする適切な C++ データ構造 (できれば STL で作成) は何でしょうか?
欲しいものはなんとなくFilter(高次関数)関係と聞いたことがありますが、関数型プログラミングが苦手です。