3 ms·
Interesting overview, however he fails to address scalability issues properly. Some of the algorithms presented need to periodically recompute each item's score
by ssn 17y ago
Interesting overview, however he fails to address scalability issues properly. Some of the algorithms presented need to periodically recompute each item's score - this is a drawback if scalability is what you are looking for. A scalable algorithm will compute each score on write and will not require batch updates of previous items.
See: http://code.google.com/appengine/articles/overheard.html http://code.google.com/appengine/articles/overheard.html
- physcab 17y agoAfter looking at a number of these algorithms, it seems like you really need to take each situation into consideration. I like that Google example as it is easy and scalable as you said. But for more complicated situations, you can do batch updates using Hadoop/MapReduce, assuming you don't have popular items that need to be calculated real-time.