tags:

views:

25

answers:

2

Our app is displaying its information in a way similar to that found on Facebook's "feed" page which shows a timeline of activity by members of the particular profile's network.

I can see that could be very heavy if done with a relational/sql-statement in a traditional sense, but wanted some ideas on how to best do so in a way that wasn't so 'expensive' -- ideally, I could keep things in a relational table and there were some clever approached.

The types of data we have a people, companies, and type of action.

Thanks!

+1  A: 

You just need a timestamp (date and time) in every table holding a relevant information. For instance you can have a table with posts, a table with comments and one with shared links. Just join the three tables by user, order the rows by the timestamp than display it in your view.

If you need performance you can run a scheduled job to do this processing, in the background, then you can store the results in a ad-hoc table something like:

activity type: post

content: A title of...

timestamp: 2010-02-02 22:17:11

rtacconi
A: 

Facebook uses something called MultiFeed for doing this. The API details this data type, but it is currently deprecated.

http://wiki.developers.facebook.com/index.php/MultiFeedStory_form

Jeduan Cornejo

related questions