I've been studying Programming Collective Intelligence and the algorithms for doing item to item recommendations make enough sense to me so far, but I'm stuck now with how to make an actual database backed system out of what the author describes. I've found acts_as_recommendable, but it looks abandoned from what I can tell.
What I'm wondering, is let's say I have a database laid out like so:
Users:
id
username
Bookmarks:
id
url
UserBookmarks:
user_id
bookmark_id
(simple, users can have many bookmarks, bookmarks can have many users)
Now looking at the algorithms in their Delicious example in the book, it appears they have records for both users who have bookmarked a url, and users who have not. That obviously doesn't lend well to a database at all because one new bookmark with a 1000 user system would require 1000 new database records. Or am I just not getting something at all here?
How would you add to the above database schema to allow you to calculate bookmark recommendations per the delicious link recommendation algorithms in Programming Collective Intelligence?
I would ideally like to calculate allow bookmark similarities maybe hourly and then simply query the database for recommended urls on page load. Is this possible with standard mysql backed system in Rails?
Thanks in advance.