私は大量の顧客取引データを分析したいと考えています。私たちには、数百万のトランザクションイベントが、さまざまなエンティティの数量とタイムスタンプ値とともに入力されています。ロングレンジローリングウインドウ集約 - 時系列kudu vs influentsdb vs opentsdb
{
"txId": "tx123"
"item": "i87"
"qty": 3
"time": "2016-10-31 01:42:54"
}
私は、曜日、週レベル、およびスライドウィンドウで一連の集計をロールアップしたままにします。最後の28週間に商品i87
のqty
が取引された。
InfluxDBやOpenTSDBのような時系列データベースを含む多くのオプションがあるようです。しかし、これらのほとんどは、短い集約期間を持つメトリックとモニタリングを対象としているようです。このようなシステムは、小さなローリングウィンドウの両方を小さくすることにどのように対処しますか?&
事前計算集計は、キャッシング戦略としては有用ですが、詳細なサンプルがタイムラグを伴って到着した場合にロールアップデータが不正確/汚れになるという欠点があります。あらかじめ計算された集計をすべての複雑さを伴うマテリアライズド・ビューと考えてください。詳細なデータに対してクエリを実行しないでください。例えばSELECT SUM(qty)WHERE tags.item = '187'? –