1. ラウンドロビンデータベース (ウィキペディア)
RRDtool (ラウンドロビン データベース ツールの頭字語) は、ネットワーク帯域幅、温度、CPU 負荷などの時系列データを処理することを目的としています。データはラウンド ロビン データベース (循環バッファー) に格納されるため、システム ストレージのフットプリントは一定のままです。時間とともに。
このアプローチ/DB 形式は広く使用されており、安定しており、十分に単純です。箱から出して、素敵なプロットを生成することができます:

Java 実装があります -- RRD4J :
RRD4J は、Java で RRDTool の機能を実装する、時系列データ用の高性能データ ロギングおよびグラフ システムです。これは、RRDTool とほぼ同じロジックに従い、同じデータ ソース、アーカイブ タイプ、および定義を使用します。Apache 2.0 ライセンスの下でオープン ソース。
アップデート
Clojure RRD API ( examples ) があることを忘れないでください。
2.リアルタイムデータを使ったいくつかの実験では、Perstを検討することをお勧めします
小さく、高速で、十分に信頼性がありますが、GPLv3 で配布されています。Perst は、いくつかの索引付けアルゴリズムを提供します。
- Bツリー
- T-Tree (インメモリ データベース用に最適化)
- R ツリー (空間インデックス)
- Patricia Trie (プレフィックス検索)
- KD-Tree (多次元インデックス)
- 時系列 (タイムスタンプ付きの多数の固定サイズ オブジェクト)
最後の 1 つは、ニーズに非常に適しています。
3.リレーションシップ インデックスを使用したNeo4J
このアプローチが利益をもたらす良い例は時系列データで、発生ごとの関係として示される測定値があります。
4. Oracle Berkeley DB Java Edition
Oracle Berkeley DB Java Edition は、完全に Java で記述されたオープン ソースの組み込み可能なトランザクション ストレージ エンジンです。Java 環境を最大限に活用して、開発と展開を簡素化します。Oracle Berkeley DB Java Edition のアーキテクチャは、読み取り集中型と書き込み集中型の両方のワークロードに対して、非常に高いパフォーマンスと同時実行性をサポートします。
提案
RRD4Jを試してみてください:
- それは十分に単純です
- それは非常に素晴らしいプロットを提供します
- それはClojure APIを持っています
- Oracle Berkeley DB Java Editionを含むいくつかのバックエンドをサポートしています。
- 詳細なデータセットを保存/可視化できます
