2012-02-15 5 views
2

私は、アクティビティフィードの良いデータストアに関するいくつかの推奨事項を探しています。目標は、ユーザーが当社のウェブサイト全体で行うことができるさまざまな活動からなるTwitter/Facebookタイプフィードログを作成することです。 「壁」または「フィード」は、AJAXを介して更新され、ウェブサイトのユーザーが現在行っていることを示します。それは頻繁に書き込まれ、最新のものがサイトに表示されます。 (John Smithさんは2秒前にJane Smithの記事をお勧めしました)おすすめデータストアでウェブサイトのユーザーアクティビティログ

私は現在、フィードをMySQLに保存していますが、パフォーマンスは悪くて、私たちは常にウェブサイトの残りの部分でパフォーマンスを妨げていますデータベースを使用して、最新のユーザーアクティビティを取得し、フィードを作成します。

ご了承ください。

答えて

1

パフォーマンスを向上させるには、memcacheのような最高のキャッシュソリューションを利用してください。スケーリング以外に、アクティビティフィードのパフォーマンスが向上する可能性はありません。

私は、サイト全体の短期間のほぼライブ活動のフィードのために、MySQLの代わりにhttp://redis.io/またはhttp://www.mongodb.org/を使用して投票します。レコードの保存のためにMySQLの履歴をダンプするcronジョブ。

tumblr'sまたはtwittersアーキテクチャを見ると、正しい方向にもあなたを押し込むことができます。

+0

ありがとうございました!あなたの提案をすぐにレビューします。 –

0

実際のデータを格納するデータストアにユーザーのアクションを格納するデータストアと、データストアを分離するために、マイクロサービスアプローチを使用する必要があります。 Pub/Subは、ユーザーの行動の大きな流れを適切に処理する方法です。 スケーラブルなデータパイプラインにKafkaまたはGoogle Pub/Subクラウドサービスを使用します。スケーラブルなアーキテクチャで負荷を取り除くことができます。 KafkaからのメッセージをMySQLやGoogle BigQueryなどのデータベースに個別に消費する必要があります。

関連する問題