問題の例:
エンティティ:
- ユーザーには名前と友達のリストが含まれています(ユーザーリファレンス)
- ブログ投稿には、タイトル、コンテンツ、日付、ライター(ユーザー)が含まれています
要件:
ユーザーの友達による過去10件の投稿のタイトルとブログへのリンクを表示するページが必要です。また、古いエントリをページングし続ける機能も必要です。
SQLソリューション:
したがって、SQLランドでは、次のようになります。
select * from blog_post where user_id in(select friend_id from user_friend where user_id =:userId)日付で並べ替え
私が考えることができるGAEソリューションは次のとおりです。
- ユーザーをロードし、友達のリストをループして、最新のブログ投稿をロードします。最後に、すべてのブログ投稿をマージして、最新の10個のブログエントリを見つけます
- ブログの投稿には、ライターを友達にしたすべてのユーザーのリストがあります。これは単純な読み取りを意味しますが、ブログ投稿がたくさんある友達を追加すると、クォータが過負荷になります。
これらのソリューションのどちらも拡張できるとは思いません。
他の人がこの問題にぶつかったと確信していますが、私は検索し、google ioビデオを見て、他の人のコードを読みました...私は何が欠けていますか?