Yes, this is trading memory for speed. If you can fit everything in memory, then you should. FileDataModel is in memory.
MySQLJDBCDataModel is not in memory and queries the DB every time. This is pretty slow, though by caching item-item similarity as you do, a lot of the load is removed. However if you want to go all in memory, use ReloadFromJDBCDataModel. (The naming is weirder than the actual structure or logic...) On Mon, Jul 4, 2011 at 6:05 PM, Mark <[email protected]> wrote: > I've read the source for FileDataModel and it suggested using a JDBC backed > implementation for larger datasets so I decided to upgrade our > recommendation system to use MySQLJDBCDataModel with > MySQLJDBCInMemoryItemSimilarit**y. > > I've found that the JDBC backed versions performance is actually worse that > FileDataModel and FileItemSimilarity versions. Should this be the case? > Which versions are most people using out there? Any recommendations? > > Thanks >
