私はtimeseriesデータを保存する必要があり、特別な要件があります。私は5分間隔で私のビジネスの売上高を保存したいと言いましょう。例えば1時系列 履歴データの同時更新を伴う季節のデータベース
Store#1
1/12–2016 10:00–10:05: 100$
1/12–2016 10:05–10:10: 50$
…
し、別の時系列は
Store#2
1/12–2016 10:00–10:05: 10$
1/12–2016 10:05–10:10: 30$
…
私が何かを売っている店でされたときに言って、データのフィードを取得します。たとえば、
Store#1,10:02:40,5$
このようなフィードイベントごとに、データベースを更新する必要があります。上記フィードイベント例えば、それは私がずっと後に、このフィードイベントを取得することがあり
db.series("Store#1").update(1/12–2016 10:00–10:05, add: 5$)
になり、その後、1/12から2016 10時05分、私は「過去のデータ」を更新できるようにしたいです。
がTSDBのうちの多くがありますが、私は苦労私のニーズを満たすものを見つけるを持っています。特に
- 履歴データを更新できること。それは、常に本質的であるTSDBの非常に新しいデータに焦点を当てているたくさんのように思える:今、最終値
- アトミックに更新できること、またはロックのいくつかの種類を使用しました。 2つのスレッドは、同じ5分間隔で属する販売についてのフィードイベントを取得する可能性があり、他のスレッドが追加したものを上書き(キャンセル)するリスクを伴わずにストアド値に追加できる必要があります。
TSDBは、Javaから操作することができればそれは素晴らしいことです。
誰もが同時実行制御と履歴データの更新をサポートしているTSDBを指摘することはできますか?
標準RDBMSで行うことができない、ここでは何も表示されません。 SQL Server、Oracle、MySQL、Postgres;好きなのを選びな。 –
私は同意します。これは、汎用データベースを使用して行うことができます。しかし、時系列データ用に特別なデータベースが作成された理由があります。データの構造、集約、UIツール(グラフの表示など)との容易な統合などを知っている方が、この種のデータを処理する上で(潜在的に)優れています。ニーズに合ったTSDBがない場合は、カスタムの汎用データベースを使用します。私の選択肢を探っているだけです。 –