Recommendations Engine

Big online retailers, movie and music services and other companies make use of Recommendation Engines to help their customers find the items that interest each one of them, given a sense of personalization.
A good recommendation engine should be:

Able to handle large quantity of items (500k, 1 million, 2 millons, more?)
Easy to update with new information (daily, hourly, or even in shorter time spans)
Take into account the profile or known behavior of the user, to give more accurate recommendations.
Perform in real time, with minimal load to the servers.