開発中のサイトが将来的に大幅に成長する (数百万人のユーザーなど) と予想される場合、フィード (ユーザーのアクティビティ) をどのように管理すればよいですか?
- すべてのユーザー アクティビティに対して、いくつかのフィード テーブルに手動でフィード レコードを作成します。
- その瞬間のフィードを推測する
具体的な例は次のとおりです。
ユーザーは他のユーザー (Twitter など) にフォローされ、何かを作成することができます。ものを作成すると、このものには CreationDate などがあります。結合を使用するか、誰かが私をフォローしなくなった場合に備えて更新する必要がある Feeds テーブルを使用するだけで、フォロワーにフィードを提供できます。
明らかに (1) は維持するのが難しいが、より高速であり、(2) はより簡単ですが、可視性のために結合を行う非常に多くのユーザーを処理できるかどうかはわかりません...
Facebookはどのようにそれを行うのですか?またはツイッター?