I am coming close to the point where I am going to implement something similar to the Facebook-like or the Google +1. The thing is that I can think of a few ways how to do that but I am not sure what a good one is.
Of course I don't want to lose the information of who actually "liked" something so just a simple "counter" won't do it.
The most practical way I could think of was e.g. to use a table ITEM_LIKE that looks something like (ITEM_ID, USER_ID) and would allow me to get all user ids by an item id (and of course every item "liked" by a user as well). But I don't know if that scales and/or if that is enough. Just imagine having hundred thousands of users - would that still be a good way to do it? Because this table would encode every single like made by every single user which means this would become quite large.
Is it that simple or is there a much more sophisticated way to do that?