1秒ごとに収集され、hsqlDBに保存されているデータがあります。収集されたデータの各メトリックに関する集計データ (15 秒、1 分など) が必要です。集計値を計算するための最良の方法は何ですか? いつDBに保存しますか? オンラインで値を計算し、15 秒ごとに DB に保存する必要がありますか? または、最後の結果を DB に照会し、それらの集計を計算しますか? 大きな集計 (1 分) を計算するには、小さな集計 (15 秒) を使用する必要がありますか? 無料のJavaツールはありますか?
2 に答える
0
HSQLDB is MVCC モードを使用して、同時読み取りと書き込みを行うことができます。
生データのテーブルにインデックス付きのタイムスタンプ列がある場合、範囲の集計計算は SELECT ステートメントを使用して非常に高速です。集計計算を伴う SELECT ステートメントは同時に発生するため、個別のスレッドを使用して 1 秒ごとおよび 15 秒ごとに操作を実行できます。
于 2013-07-14T10:03:02.347 に答える
0
以前の経験から、時系列を処理する組み込み機能を備えた、おそらく非リレーショナルなリアルタイム データベースを使用することをお勧めします。そうすれば、計算された集計データの保存を回避できるはずです。リレーショナル データベースを使用すると、すぐに数百万行になり、管理が難しく、アクセスが遅くなります。もう 1 つのオプションは、データを非正規化し、1 時間ごとのデータを BLOB 列 (バイナリ形式) の 1 つの行に格納することです。
于 2013-07-14T07:54:56.420 に答える