You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@mahout.apache.org by deneche abdelhakim <ad...@gmail.com> on 2011/12/26 23:12:17 UTC

how much jdbc datamodel is slow

I am trying to run an item based recommender on movielens 100k example,
I'am looping through a quarter of the items calling
recommender.getMostSimilarItems(10) for each of them. The FileDataModel
takes no more than 5s but the MySQLJDBCDataModel requires more than 300s.
Is this expected ?

Re: how much jdbc datamodel is slow

Posted by Ted Dunning <te...@gmail.com>.
This is a plausible ratio of performance.  SQL data models need aggressive
caching.

On Mon, Dec 26, 2011 at 2:12 PM, deneche abdelhakim <ad...@gmail.com>wrote:

> I am trying to run an item based recommender on movielens 100k example,
> I'am looping through a quarter of the items calling
> recommender.getMostSimilarItems(10) for each of them. The FileDataModel
> takes no more than 5s but the MySQLJDBCDataModel requires more than 300s.
> Is this expected ?
>

Re: how much jdbc datamodel is slow

Posted by deneche abdelhakim <ad...@gmail.com>.
Ok, thanks :)

On Mon, Dec 26, 2011 at 11:31 PM, Sean Owen <sr...@gmail.com> wrote:

> Yeah it is so read-intensive that it's not really feasible to run off
> a database directly. You need to load it in memory
> (LoadFromJDBCDataModel) or as Ted says deploy some caching and wait
> for it to warm up (CachingItemSimilarity, CachingUserSimilarity,
> CachingRecommender).
>
> On Mon, Dec 26, 2011 at 4:12 PM, deneche abdelhakim <ad...@gmail.com>
> wrote:
> > I am trying to run an item based recommender on movielens 100k example,
> > I'am looping through a quarter of the items calling
> > recommender.getMostSimilarItems(10) for each of them. The FileDataModel
> > takes no more than 5s but the MySQLJDBCDataModel requires more than 300s.
> > Is this expected ?
>

Re: how much jdbc datamodel is slow

Posted by Sean Owen <sr...@gmail.com>.
Yeah it is so read-intensive that it's not really feasible to run off
a database directly. You need to load it in memory
(LoadFromJDBCDataModel) or as Ted says deploy some caching and wait
for it to warm up (CachingItemSimilarity, CachingUserSimilarity,
CachingRecommender).

On Mon, Dec 26, 2011 at 4:12 PM, deneche abdelhakim <ad...@gmail.com> wrote:
> I am trying to run an item based recommender on movielens 100k example,
> I'am looping through a quarter of the items calling
> recommender.getMostSimilarItems(10) for each of them. The FileDataModel
> takes no more than 5s but the MySQLJDBCDataModel requires more than 300s.
> Is this expected ?