私たちは、最終的に数千の測定ステーションからなる測定システムを構築しています。各ステーションは、その存続期間中に 30 のスカラー値で構成される約 5 億の測定値を保存します。これらは float 値になります。各ステーションでこのデータを保存する方法を考えています。
- 複数のタイムスケールでデータを視覚化したい (例: 1 週間、1 か月、1 年の測定値)
- データの移動平均を作成する必要があります (たとえば、1 か月の平均を 1 年のグラフで表示するなど)。
- データベースはクラッシュ耐性がある必要があります (停電)
- 書き込みと読み取りのみを行っており、データの更新や削除は行っていません
さらに、たとえば 1000 の測定ステーションのデータを表示できるサーバーがもう 1 台必要です。これは、5,000 億回の測定で最大 50 TB のデータになります。測定ステーションからサーバーにデータを送信するには、ある種のデータベース レベルのレプリケーションがクリーンで効率的な方法になると考えました。
今、これらの目的のために、noSQL ソリューションが mySQL よりも優れているかどうか疑問に思っています。特に、 cupDB、Cassandra 、そしておそらくRedisのようなキーバリュー ストアは、私にとって魅力的に見えます。あなたの意見では、「測定時系列」データモデルに最も適しているのはどれですか? クラッシュの安全性や測定ステーションからメイン サーバーへのレプリケーションなど、その他の利点についてはどうですか?