2016-10-31 6 views
1

私は大量の顧客取引データを分析したいと考えています。私たちには、数百万のトランザクションイベントが、さまざまなエンティティの数量とタイムスタンプ値とともに入力されています。ロングレンジローリングウインドウ集約 - 時系列kudu vs influentsdb vs opentsdb

{ 
    "txId": "tx123" 
    "item": "i87" 
    "qty": 3 
    "time": "2016-10-31 01:42:54" 
} 

私は、曜日、週レベル、およびスライドウィンドウで一連の集計をロールアップしたままにします。最後の28週間に商品i87qtyが取引された。

InfluxDBやOpenTSDBのような時系列データベースを含む多くのオプションがあるようです。しかし、これらのほとんどは、短い集約期間を持つメトリックとモニタリングを対象としているようです。このようなシステムは、小さなローリングウィンドウの両方を小さくすることにどのように対処しますか?&

+0

事前計算集計は、キャッシング戦略としては有用ですが、詳細なサンプルがタイムラグを伴って到着した場合にロールアップデータが不正確/汚れになるという欠点があります。あらかじめ計算された集計をすべての複雑さを伴うマテリアライズド・ビューと考えてください。詳細なデータに対してクエリを実行しないでください。例えばSELECT SUM(qty)WHERE tags.item = '187'? –

答えて

0

JSONをInfluxDBに送信することはできません。それはline protocolを使用します。 JSONをこのラインプロトコルに変換することをどうにかして考えるのでなければ、ELKスタックを探しているようです。 Elasticsearchはオープンソースで無料ですが、認証(SHIELDなど)が必要な場合は、支払いが必要です。 (または、あなたはNginxのリバースプロキシを使うことができます)JSONをELKに送ることができます。そして、自動的にフィールドを解析して解析を行うことができます。