LAMP を使用してフィード (RSS、Twitter、その他のサービスなど) アグリゲーターを構築しています。フィードを好きなだけ追加して、フィードを読んだり、並べ替えたり、個々のフィードやフィードのグループを一度に表示したりできるという点で、Google リーダーと非常によく似ています。
私は以前にこのタイプのサービスを構築したことがありますが、グループ全体が集約されたすべてのフィード項目にアクセスできる少数の限られたグループを対象としていました。だから、それはかなり簡単でした。
しかし今回は、人々がサブスクライブできるサービスを構築しているので、潜在的に (理想的には) 数千のユーザーと数万のフィード、そして数百万のフィード アイテムを持つことができます。
データベーススキーマ(簡略化)に対する私のアプローチは次のとおりです。
users (id, name, ...)
feeds (id, name, url, ...)
feed_items (id, title, timestamp, feed_id, ... )
user_feeds (id, user_id, feed_id, ...)
ただし、ユーザーは何百ものフィードをサブスクライブできるため、サブスクライブしたフィード (またはそのサブセット) の feed_items をデータベースに照会するための最適かつ最適化された方法を計画しようとしています。