私のアプリケーションでは、データストアでFRIENDSリレーションシップテーブルを開発する必要があります。そしてもちろん、私が考えた簡単な解決策は次のとおりです。
user = db.ReferenceProperty(User, required=True, collection_name='user')
friend = db.ReferenceProperty(User, required=True, collection_name='friends')
しかし、友達リストが膨大な数、たとえば数千以上に増えるとどうなるでしょうか。これは非効率的すぎますか?
パフォーマンスは常に私たちの優先事項です。これは非常に必要です。これは、この同様の関係設計に従う必要があるためです。
AppEnginePython環境内でデータストアを使用してFRIENDSリレーションシップテーブルを設計するための最良のアプローチについてアドバイスをお願いします。
EDIT FRIENDS関係の他に、FOLLOWER関係も作成されます。そして、私のアプリケーションを対象としたソーシャルメディアがそうなる傾向があるため、ほとんどの場合、これらすべての関係がクエリであることが非常に頻繁にあると思います。
たとえば、一部のユーザーをフォローすると、ユーザーが何をするかなどのニュースフィードとして更新が届きます。また、アクティビティは時間の経過とともに増加します。何人のユーザーかについては、まだ公開されていないため、まだ回答できません。しかし、私は今後数百万人のユーザーがいると予想しています。
うまくいけば、これはより具体的なアドバイスに役立つでしょうか、それともこのアプローチに代わるものがありますか?