通常は文字列である属性を持つノードを含むツリーを維持する必要があります。実行時に新しい属性をノードに追加できます。したがって、Neo4jのようなグラフデータベースは明らかなソリューションです。ただし、少しひねりがあります。属性が変更された場合、古い値の記録を保持し、これらの古い値を効率的にクエリできるようにする必要があります(特に、「ノードの属性Xの25個の値を指定してください」などのクエリY、ページングをサポートするために時間Zから開始し、明らかに「最新の値を取得する」も効率的である必要があります)。これを表す良い方法は何でしょうか?
質問する
805 次
1 に答える
1
TimelineIndex
ヒット数を制限することを除いて、ほとんど必要なものを提供します。しかし、JavaDoc からはIndexHits
、必要なだけ繰り返し処理を行ってからイテレータを閉じても、あまり問題にならないように思えます。
したがって、解決策は次のようになります。履歴が必要な各プロパティを代わりにノードとして表します。だから代わりに
Sensor
-----
name = "battery"
measurement = 1
私は持っている
Sensor attr
----- -+--> name = "measurement"
name = "battery" | value = 1
| timestamp = 100000000
|
+--> name = "measurement"
| value = 2
| timestamp = 100000001
|
+--> name = "measurement"
value = 1
timestamp = 100000002
そして、TimelineIndex
各Sensor
ノードと各プロパティの履歴を維持します。
于 2012-05-09T22:33:03.837 に答える