Thursday, February 7, 2013

Design NoSQL tables for Activity Stream

Most of the social networks now-a-days have activity stream, a stream of events for a particular object with very large number of such objects. Facebook has timeline, twitter has its updates, etc... The company I am working in came up with a product similar to Dropbox and we were supposed to implement a similar design pattern in our application. In the future posts I will discuss several designs and compare each of them based on following criteria:

  • Correctness
  • Access Time
  • Storage requirements
See that every object's activity stream can be subscribed. In our application, every shared folder has an activity stream. When a folder is shared with multiple users, every one of them needs to get update on that shared folder. When the user is removed from collaborating on a shared folder, he should stop getting updates on that folder. Joining and leaving a shared folder also constitutes activities in the stream.

No comments:

Post a Comment