3

以下の要件を備えたセンサー データ収集システムを評価しています。

  1. 毎分 100 バイトのデータを送信する 100 万のエンドポイント (時系列)。
  2. 基本的に、ストレージへの数百万回の小さな書き込み。

    This data is write-once, so basically it never gets updated.
    

  3. アクセス要件 ユーザーの完全なデータは、定期的にアクセスする必要があります (頻度は低くなります)
    b. ユーザーの部分的なデータには、定期的に (より頻繁に) アクセスする必要があります。たとえば、分析/レポートのために、過去 1 時間/日/週/月に収集されたセンサー データが必要です。

オプションとして Hive/HDFS を検討し始めました。そのようなユースケースでのHiveの適用性について誰かコメントできますか? 分散ストレージのニーズは機能するものの、リアルタイムのデータ収集/ストレージよりもデータ ウェアハウジング アプリケーションにより適しているように思われることを懸念しています。

このシナリオでは、HBase/Cassandra のほうが理にかなっていますか?

4

2 に答える 2

6

HBase はあなたにとって良い選択肢になると思います。実際、HBase には、同様の問題を解決するオープン ソースの実装が既にあります。同様の問題を解決するためのオープン ソース実装であるopenTSBを見てみましょう。彼らの宣伝文句からの短い抜粋は次のとおりです。

OpenTSDB は、HBase の上に書かれた分散型のスケーラブルな時系列データベース (TSDB) です。OpenTSDB は、コンピューター システム (ネットワーク ギア、オペレーティング システム、アプリケーション) から収集されたメトリクスを大規模に格納、インデックス作成、提供し、このデータに簡単にアクセスしてグラフ化できるようにするという、一般的なニーズに対応するために作成されました。HBase のスケーラビリティのおかげで、OpenTSDB を使用すると、数千のホストとアプリケーションから数千のメトリックを高速 (数秒ごと) に収集できます。OpenTSDB はデータを削除したりダウンサンプリングしたりすることはなく、数十億のデータ ポイントを簡単に保存できます。実際のところ、StumbleUpon はこれを使用して何十万もの時系列を追跡し、メインの運用データセンターで 1 日あたり 6 億を超えるデータ ポイントを収集しています。

于 2011-12-17T06:09:02.737 に答える
4

Cassandraで時系列的にセンサーデータを収集している人は、実は結構います。とても良いフィット感です。Cassandra の基本的な時系列に関するこの記事を読んで、データ モデルがどのようなものになるかを理解することをお勧めします。

Cassandra での書き込みは非常に安価であるため、適度なサイズのクラスターでも 1 分間に 100 万回の書き込みを簡単に処理できます。

読み取りクエリは両方とも非常に効率的に回答できます。2 番目のタイプのクエリでは、1 つのセンサーの時間のスライスのデータを読み取るため、1 つの行から連続したスライスを読み取ることになります。これには、完全なコールド リードの場合、約 10 ミリ秒かかります。最初のタイプのクエリでは、センサーごとのクエリをいくつか並列に実行するだけです。ユーザーからセンサー ID への基本的なマップを保存すると仮定すると、1 つのクエリでユーザーのすべてのセンサー ID を検索し、次に 2 番目のクエリでそれらすべてのセンサーのデータをフェッチします (ただし、センサーの数が多い)。

Hive と HDFS は、長時間実行されるバッチ ジョブにより適しているため、リアルタイム クエリについて話しているときはあまり意味がありません。

于 2011-12-17T03:43:06.093 に答える