2011-03-16 7 views
2

データストアに保存されている自分のアプリの「ダイナミック」データを大部分持っています。Google App EngineでJavaを使用すると、大容量の静的データを保存してアクセスする最良の方法は何ですか?

しかし、私はまた、アプリケーションの新しいビルドでのみ変化する静的なデータの大きなコレクションを持っています。一連のフラットファイルは、データストアでファイルを管理するよりも簡単なようです。

標準的な解決法はありますか?このコンテンツの読み込み/解析をすばやく簡単にするライブラリはどうですか?このデータをデータストアにプッシュする方が理にかなっていますか?どちらが良いでしょうか?

誰もがこの問題を抱えており、戦争の話を共有できますか?

+0

ここでのご質問は洗練される必要があります。本当に静的なデータは何ですか?彼らはビルドからビルドへと本当にどのように変化しますか?それらを保存するための通常の/自然なフォーマットは何ですか? –

+0

アプリケーションと静的ファイルの合計サイズの制限は知っていますか? http://code.google.com/appengine/docs/java/runtime.html#Quotas_and_Limitsをご覧ください。静的データを格納するためにBlobStoreを使用することも検討しましたか? –

+0

こんにちはNicolas + Peter:静的なデータは、約10列のスプレッドシートで約100-1000行になります。このデータで実行するクエリはありません.IDだけ行にアクセスする必要があります。これをBlobstoreの内外に押し出すことは、各行をidで指定されたxml/jsonファイルとしてエクスポートするよりも意味がありますか?一度にいくつかの行にしかアクセスする必要がない場合、パフォーマンス/コストの影響を受ける可能性のあるサイズのBLOBを解析していますか? –

答えて

0

すべての情報は、情報の使用方法によって異なります。

たとえば、静的データから開始状態を取得する必要があるアプリケーションがあります。この静的データをアプリケーション外で簡単に作成したいと思ったので、私はデータをGoogle Docsにスプレッドシートとして保存し、Webアプリケーションに管理機能を持たせて、Google Docs Spreadsheet APIを通してデータストアのオブジェクトに開始状態をロードします。かなりうまくいきますが、私はまだかなり努力していないいくつかの信頼性の問題があります(時にはプロセスを再開する必要がある)。

他の場合は、静的なプロパティ/ xmlファイルとしてデータを含めて、標準のJavaリソースAPI(getResourceAsStreamなど)を使用してデータを読み込むことができます。私はこのアプローチを試していませんが、それは私の特別な状況では意味がありませんでした。

関連する問題