I'm sure there's an easy answer here and i'm just over-complicating things, but i am in the process of writing a Django module responsible for storing and tracking user usage statistics which can then be displayed to users on certain pages.
Simplest example of this might be tracking which products a user has purchased and looked at so that when someone else is looking at a product we can display "products other people bought that also bought this"... etc
My uncertainty is to do with the best data model approach. I am thinking that it might not be efficient to write to a table every time someone looks at a product, but then i do need to display this data in some form to users. I'm looking for a strategy that is easy to manage and that is efficient from the bottom up. Any suggestions?
EDIT: By 'efficient from the bottom up' - i'm basically just talking about adopting a solution that is efficient to both store and retrieve - probably should have just said that :)
Also, to add another complication, let's say i want to track viewing relationships between products rather than simply logging that an individual product was viewed. So, for example i might want to show on product A's page that people who viewed product A also viewed product b c and d. On the back of some of the comments below i was thinking about creating a table / django model with 2 simple fields (product_name and last_viewed_date), that way i can run a job to consolidate all views of a single product into one row (with the last_viewed_date taking the date of the most recent record)... BUT if i also want to store the history of each of those views, as explained above, how might i do that?