1

データストアにデータを保存する Google アプリ エンジン ベースのアプリがあります。毎日約 20,000 行のデータを読み取り、データをはるかに小さなデータ セットに要約し、軽量でアクセスしやすいデータ構造に保存する cron を実装したいと考えています。このデータ構造は、後で Google チャートをユーザーに提供するために使用します。

ユーザーがグラフを必要とするたびにすべてのインスタンス レベルのデータを読み取るのはコストがかかりすぎると思うので、1 日に 1 回「事前に」データをコンパイルしたいと考えています。

私は次のオプションを考えています。パフォーマンスを最適化し、GAE オーバーヘッドを最小限に抑えるためのフィードバックやアプローチに興味があります。

オプション:

1) 小さな csv または xml ファイルを作成し、サーバー上でローカルに保存してから、そこからデータを読み取ります。

2) データ ストア内の別の「サマリー レベル」オブジェクトを保持し、それを読み取ります (それでもコストがかかる可能性がありますか?)

3)GoogleチャートSVGを作成し、ローカルに保存してからユーザーに再提供します(これが可能かどうかはわかりません)

ありがとう!

4

2 に答える 2

1

再確認しますが、データストア + memcache が最も安価なものになる可能性があると思います。

cronjob では、グラフごとに返す必要があるデータを事前に計算し、データストアと memcache の両方に保存します。

グラフ リクエストごとに、memcache からデータを取得します。ただし、Memcache データはいつでも削除できるため、利用できない場合は、データストアから読み取って memcache に戻します。

于 2013-07-15T01:45:51.023 に答える
0

最初のリクエストで「高価な」データを生成し、それらの結果をmemcacheに保存しないのはなぜですか? 特定の実装によっては、最初の高価なリクエストでも、ローカル ファイルの読み取りと解析よりもわずかに安価になる場合があります。後続の読み取りは memcache にヒットし、全体的にはるかに安価になります。

于 2013-07-14T23:12:48.610 に答える