4

私が持っているデータのサブセットに Amazon SimpleDBが適しているかどうかを確認しようとしています。

データを記録する何千もの自律型センサー デバイスを展開しています。

各センサー デバイスは基本的に、数か月から数年にわたり、毎日 1 時間に 4 回、いくつかの値を報告します。過去の統計分析のために、このデータをすべて保持する必要があります。通常、一度書き込み、何度も読み取ります。サーバーベースのアプリケーションは定期的に実行され、データを照会して他の情報を推測します。

今日のデータ行は、SQL では次のようになります。

  • (id、device_id、utc_timestamp、value1、value2)

私たちの既存の MySQL ソリューションは、数千万行にスケールアップする予定はありません。「昨日のすべての値 1 の合計を教えてください」または「過去 8 時間の値 2 の平均を表示してください」などのクエリを実行します。これは SQL で行いますが、喜んでコードで行うように変更できます。SimpleDB の「結果整合性」は、私たちの目的には問題ないようです。

AWSアカウントで実験を開始しようとしていますが、SimpleDB のさまざまな概念 (アイテム、ドメイン、属性など) がドメインにどのように関連しているかが明確ではありません。

SimpleDB はこれに適した手段であり、一般化されたアプローチは何でしょうか?

PS: 私たちは主に Python を使用していますが、大まかに考えると、これは問題ではありません。この時点でbotoライブラリを認識しています。

編集:

この解決策を探し続けていると、スタック オーバーフローの質問に出くわしました。時系列データを保存するための最良のオープン ソース ソリューションは何ですか? これは役に立ちました。

4

4 に答える 4

2

何ヶ月も後にこれをフォローアップするだけです...

実際、私は昨年の夏に Amazon と直接話す機会があり、最終的に DynamoDB となるベータ プログラムにアクセスすることができましたが、それについて話すことはできませんでした。

この種のシナリオでは、主キーと、セカンダリ インデックス/範囲として記述される可能性のあるもの (タイムスタンプなど) が必要な場合にお勧めします。これにより、検索の信頼性が大幅に向上します。つまり、「月曜から金曜までのデバイス X のすべてのデータを表示してください」

さまざまな理由から、実際にはまだこれに移行していませんが、計画はしています。

http://aws.amazon.com/dynamodb/

于 2012-03-16T23:13:28.333 に答える
1

私の意見では、クエリが非常に単純である限り、Amazon SimpleDb と Microsoft Azure Tables は優れたソリューションです。集計のようなリレーショナル データベースではまったく問題にならないことをしようとすると、すぐに問題が発生し始めます。そのため、重いレポートを作成しようとすると、面倒になる可能性があります。

于 2011-06-04T20:03:06.037 に答える
0

あなたの問題は、ラウンド ロビン データベース(RRD) で処理するのが最適なようです。RRD は、ファイル サイズが初期設定を超えないように時間変数データを保存します。これは非常にクールで、グラフや時系列情報を生成するのに非常に便利です。

于 2011-06-28T14:15:49.043 に答える
0

私は、クラウドベースのデータベース ソリューションがあなたが説明したユースケースを処理するという Oliver Weichhold に同意します。データを複数の SimpleDB ドメイン (パーティションなど) に分散させ、データベース全体をトラバースすることなく単一のドメインからほとんどのクエリを実行できるようにデータを格納できます。パーティション戦略を定義することは、クラウド ベースの DB への移行を成功させる鍵となります。データセットのパーティショニングについては、こちらで説明しています

于 2011-07-21T18:00:34.883 に答える