2016-04-14 18 views
0

100,000ソース/センサー/シンボルがあります。それぞれから、私は毎日の価値観を読んだ。時系列解析のためのデータベースパーティショニングの作成

これらの日次データ/値を使用してデータベーステーブルを読み込みます。 1つの値ANDシンボルあたり1行、1日あたり100,000行です。

Query1を:私は、年、月、週、日にデータベースを分割し、すべてのシンボルの上に毎日のデータを分析したいと

QUERY2:

しかし、私はまた戻ってシンボル当たりの時間で24ヶ月までのデータを読み出すことにより、各シンボルのための時間をかけて傾向/統計を分析したいです。

Query2は別の次元(時間軸)に沿っており、query1用に最適化された複数のパーティション(y、m、w、d)でクエリを実行したくありません。

どのようなデザインを提案していますか?

答えて

0

1日あたりの行数はあまり多くありません。 1年間のパーティションは1つしか作成しません。 しかし、単一のパーティションでのみ作業することでクエリのパフォーマンスを最適化したい場合は、月単位でパーティションを作成するとします。

さらに、3ノードのクラスタを想定します。そのため、おそらく6つのシャードを持つテーブルを作成したいと思うでしょう。 1つのレプリカが設定されている場合 - 6 * 12 * 2のシャード - これはうまく見えます。

where句でパーティションを指定した場合、crateは自動的にこれらのシャードを起動します。それでもデータ全体が表示されます。

BTW:ここで、時間によるパーティション分割に便利なリンク:https://crate.io/a/generated-columns-in-crate/

関連する問題