私は、ユーザーが投稿した約 10 ~ 20,000 の記事 (通常は 500 ~ 700 語) を保存する、非常に限定された目的の Web アプリケーションを作成しています。いつでも、すべてのユーザーがタグとキーワードで検索を実行したり、記事の任意の部分 (メタデータ、テキスト、またはタグ) を編集したり、最新の最新のデータベース全体のコピーをダウンロードしたりできる必要があります。 . (1 時間ごとに更新される限り、キャッシュから取得できます。)アクティビティは、1 日に数回の予測不可能なスパイクで発生する傾向があり (多くのユーザーが 100% の可用性と高速ダウンロードを必要とするデータベース全体を同時にダウンロードします)、断続的な数週間の低負荷が発生します。アクティビティ。この使用パターンは固定されています。
このアプリケーションにとって GAE は賢明な選択でしょうか? 低コスト (できれば無料)、スケールの弾力性、スタックの大部分の専門的な管理が魅力です。ホストの代わりとしてのアプリ エンジンのアイデアが気に入っています。ただし、データストアの分散アーキテクチャによって課せられる強力な一貫性と結果整合性の間のトレードオフと同様に、あらゆる種類のデータストアの使用に対する過度の制限とクォータが懸念されます。
このアプリケーションを GAE に適合させる方法はありますか? プレーンなデータストア API の代わりに ndb API を使用する必要がありますか? それとも要件が非常にデータ集約的であるため、GAE は Webfaction のようなホストよりも高価ですか?