1

GAE で効率的にクエリを実行するためにデータ モデルをモデル化するのは初めてですが、RDBMS については幅広い知識があります。

問題は次のとおりです。約 100 万個の用語 (文字列) があり、関連する数値を時系列として照会し、週ごとのデータ ポイントと比較する必要があります。これは、X 軸が時間で、Y 軸が数値測定値を示すグラフと考えてください。

これまでのところ、データストアで用語と日ごとに個別のデータポイントを取得しました 。データストアを効率的にクエリできるように、データを週ごとに集計してデータを保存する方法を探しています。タームごとに異なる長さ (4 週間、5 週間、6 週間など) の多数の時系列を事前に計算し、各エントリを次のように保存することを考えていました。{term, start_week, [time series]}

RDBMS を使用すると、ストアド プロシージャとして、またはアプリケーション バックエンドで、週ごとに簡単にグループ化し、データ シリーズをプログラムで作成できます。GAE の制約と、高度に分散されたシステムとしての BigTable の性質により、これはオプションではありません。

どんなアイデアでも大歓迎です!

4

1 に答える 1

2

あなたが向かっているアプローチは合理的なようですが、それはすべてあなたが実行する必要のあるクエリの種類に依存します。名前(文字列)と週で時系列を検索する必要があり、通常、たとえば1週間から100週間のデータを連続して取得する場合は、次のことをお勧めします。

  • あなたが提案するように、各用語の各週のデータの1つのエンティティを持っています
  • データを「緩く」保存して定期的に集計する代わりに、この形式で新しいポイントを直接保存します。新しいデータポイントを受け取るたびに、それが週の最初のポイントである場合は、新しいエンティティを作成します。そうでない場合は、その週の既存のエンティティを取得し、それにデータポイントを追加します。
  • データをプロットする場合は、必要な期間と期間を照会し、結果を時間順にフェッチします。
于 2010-08-12T08:04:07.947 に答える