# Package org.grouplens.lenskit.data.dao

LensKit data access objects.

See: Description

## Package org.grouplens.lenskit.data.dao Description

LensKit data access objects.

LensKit uses Data Access Objects to obtain access to rating data. These objects allow LensKit to query for users, items, ratings, etc.

Many DAO operations are expected to be fast, usually with appropriate caching. It is typical for DAOs to be instantiated once per Recommender (and therefore once per request in a web environment), and to cache aggressively in instance variables. More sophisticated implementations using shared caches or services such as Memcache are certainly feasible.

The streaming DAO implementations build up a cache once per instance. They aren't really suitable for anything besides recommender evaluation, typically.

The data access objects make no transactional or immutability guarantees, and does not provide mutation. An implementation is, of course, free to provide mutation.