2009-07-14 9 views
1

自分のWebアプリケーションでもFacebookの更新(ユーザーアクションと通知)を実装したいと考えています。私はLAMPを使用しています。重複したデータを格納するdbテーブルを作成する必要がありますか、ユーザーに更新情報を表示するために別のテーブルを呼び出す必要があります。フィーチャーのようなFacebookの更新

これを行うより良い方法はありますか?

例:ユーザーのプロフィールに誰かがコメントすると、彼の更新情報も表示されます。あるユーザーがユーザーのプロファイルにコメントすると、コメントテーブルに格納されます。このような多くの機能がアップデートで取り込む必要があります。

答えて

1

私が言うと思い二つのテーブル

Action = {id, type_id, details, user_id} 

ActionTypes={id, name} 

しかし、それはあなたがはるかにすることで、正確に

0

を何をしたいのかについて多くの情報を提供していないので、具体的なことをするのはとても難しいですこれを行う最も簡単な方法は、それを非正規化することです。あなたのすべてのメッセージ/通知/ものを1つのテーブルに入れてそれを照会してください。それはあなたのユーザーのための "受信トレイ"に似ていると考えてください。

0

私はあなたのフィードに報告される行動の成長が予想され、これらの行動に基づいて検索/並べ替え/リンク/対話できるようにしたいと考えています。

もしそれらを拡張することに気をつけなければ、マットグランデが示唆した非正規化アプローチを使用するといいでしょう。

簡単にフィルタリング、並べ替え、拡張できるようにしたい場合は、後で変更することに興味のあるものを標準化するよりも、 「パブリッシャー」というアクションは名前、アイコンを持つことができ、「アクション」はリンクを含む文字列にすることができます。 本物の質問は機能に何をしたいのですか?あなたとあなたのユーザーはどのように対話しますか?

0

私のソーシャルネットワークでこれをやっている途中ですが、現在私のサイトにはユーザーの掲示板がありますが、私はWeb 2.0のアクションタイプに変更していますので、私は基本的に言いますが、私があなたの友人であるというユーザの行動しか表示しないので、はるかに複雑です。私はいつも、JOINSなどがすべてのユーザーの代わりに最近の友人の活動を表示するだけなので、このパフォーマンスを改善するための提案にはいつも開いています

関連する問題