3

こんにちは、私は以前に似たような質問があり、決定的な回答や検証済みの回答がないのを見たことがあります。

Facebook に似た PHP/MySQL を使用してニュース フィード システムを設計しています。このテーブルは非常に大きくなる可能性があるため、効率が悪いと重大なボトルネックが発生する可能性があります。

通知の例: (太字の項目はリンクされたオブジェクトです)

User_AUSER_BがUser_C の新しいアルバムにコメントしました。

User_Aは [彼/彼女の] ガレージに新しい車両を追加しました。

最初は、Obj1:Type1 | の過剰な列を使用してこれを実装しました。Obj2:Type2 | 等..

動作しますが、十分にスケーラブルではないのではないかと心配しています。現在、オブジェクトのシリアル化を検討しています。

たとえば、私の新しいデータベースは次のように設定されています。

News_ID  |  User_ID  |                 News_Desc            |   Timestamp

  2643         904     {User904} and {User890} commented on     SomeTimestamp
                       {User222}'s new {Album724}.

{ 内のすべては、JSON を使用してシリアル化されるデータを表します。

これは前進するためのスマートな (効率的/スケーラブルな) 方法ですか?

正規表現を使用して、シリアル化されたデータを残りの文字列から分離するのは難しいでしょうか?

4

1 に答える 1

2

User890 がコメントを削除するとどうなりますか? もっとアトミックにする必要があると思います。おそらく、アクションのタイプ (コメント) をアクション (User890) に保存してから、大量のキャッシュを使用してその場で実際のストーリーを生成します。サイトを複数の市場/視聴者に拡張する場合、これは翻訳の問題にも役立ちます.

于 2010-01-11T23:23:41.727 に答える