0

以下は、私が通常 MySQL に挿入するサンプル レコードです。その後、SQL を使用して通常のタイプのクエリを実行できます。5分間隔でdatetimeがあることに注意してください。

datetime          account_id country  zip   count 
2012-04-27 03:40   1234        69    91845   234
2012-04-27 03:45   3432        43    91813   212

python boto api で simpledb を使用します。

値をディクショナリ/json タイプのオブジェクトとして格納できるキー値データ ストアを考えると、クエリを実行できるようにデータを格納するための適切な構造は何ですか? たとえば、国ごとに sum(count) グループを選択します。

4

1 に答える 1

0

SimpleDB は実際には count(*) 集計のみをサポートしており、合計はサポートしていません。

1) 結果を集計して結果を返すために Hadoop 処理を実行する必要があるか、2) 集計を別のドキュメントに格納してインクリメントする必要があります (通常、ロジックをリポジトリの近くに追加します (更新メソッドのように))。より高速な更新/取得ルーチンが必要なドキュメントの場合、Amazon SQS にメッセージを追加し、バックグラウンド サービスでそれらの集計を再計算します。

正直なところ、SimpleDB からのレポートはあまりありません。リレーショナル データベースで定期的にデータを更新する同期スクリプトを作成する方がはるかに簡単です。そうすれば、フロント エンド アプリケーションとのリソースの競合を心配することなく、そこからレポートを作成できます。

ありがとう、

ハル

于 2012-04-30T15:42:49.763 に答える