マイデータ
これは主に、監視対象のアプライアンスごとに、監視対象の値ごとに Timestamp: Value の形式で渡される監視データです。多くのアプライアンスと多くの監視値で定期的に収集されます。
さらに、これらのデータ値の多くがソースで導出され、計算が時々変化するという風変わりな機能があります。これは、データが効果的にバージョン管理されていることを意味し、計算の最新バージョンからのデータのみを簡単に呼び出すことができる必要があります。 注:これは、古い値が上書きされるバージョン管理ではありません。タイムスタンプのカットオフがあり、それを超えるとデータの意味が変わります。
私の使い方
下流では、さまざまな未定義のデータ マイニング/機械学習でデータを使用する予定です。これらの用途が何であるかはまだ明確ではありませんが、ダウンストリーム コードのすべてを Python で作成することは明らかです。また、私たちは非常に小さなショップであるため、セットアップ、メンテナンス、およびダウンストリーム アプリケーションとのインターフェイスの非常に複雑な処理しかできません。それほど多くの人がいません。
選択肢
このデータを格納するために SQL RDBMS を使用することは許可されていないため、適切な NoSQL ソリューションを見つける必要があります。これまでに見つけたものは次のとおりです。
- カサンドラ
- 私にはまったく問題ないように見えますが、一部の主要なユーザーは移動したようです. それほど活気のあるエコシステムにならないのではないかと思います。この SE の投稿には、良いことが書かれているようです: Cassandra time series data
- アキュムロ
- 繰り返しますが、これは問題ないように思えますが、これがメジャーで積極的に開発されたプラットフォームではないことが懸念されます。これにより、ツールとドキュメントに少し飢えているようです。
- モンゴDB
- 私は Mongo の群集に対して、おそらく不合理で強烈な嫌悪感を抱いており、解決策としてこれを破棄する理由を探しています。このような静的で規則的な構造を持つものに対して、Mongo のデータ モデルはすべて間違っているように思えます。私のデータも順番に入ってきます(そして、順番にとどまる必要があります)。とはいえ、みんなとその母親はこのことを気に入っているようなので、私は本当にその適用性を評価しようとしています. これと他の多くの SE の投稿を参照してください: What NoSQL DB to use for sparse Time Series like data?
- HBase
- 現在傾いているところです。私の問題に対して完全に使用可能なアプローチを備えた Cassandra の後継のようです。とは言っても、これは大きな技術であり、私が選択した場合、サインアップしているものが何であるかを本当に知ることを心配しています.
- OpenTSDB
- これは基本的に、HBase の上に構築された時系列固有のデータベースです。完璧ですよね?知らない。私は、抽象化の別のレイヤーが私に何をもたらすかを理解しようとしています。
私の基準
- オープンソース
- Python でうまく動作する
- 少人数のチームに適しています
- 非常によく文書化されています
- 順序付けられた時系列データを利用するための特定の機能があります
- バージョン管理されたデータの問題のいくつかを解決するのに役立ちます
では、どの NoSQL データベースが実際に私のニーズに対応するのに役立つのでしょうか? それは私のリストからかどうかにかかわらず、何でもかまいません。私は、使用パターンだけでなく、非常に具体的でよく理解されたニーズをサポートするコードが実際にどのプラットフォームにあるかを理解しようとしています。どちらが優れているとか、どちらがかっこいいとかは問いません。この種のデータを最もネイティブに保存および操作できるテクノロジを理解しようとしています。
何かご意見は?