Browsing by Subject "SQL"
Now showing 1 - 1 of 1
- Results Per Page
- Sort Options
Item Database management system support for collaborative filtering recommender systems(2014-08) Sarwat, MohamedRecommender systems help users identify useful, interesting items or content (data)from a considerably large search space. By far, the most popular recommendation technique used is collaborative filtering which exploits the users' opinions (e.g., movie ratings) and/or purchasing (e.g., watching, reading) history in order to extract a set of interesting items for each user. Database Management Systems (DBMSs) do not provide in-house support for recommendation applications despite their popularity. Existing recommender system architectures either do not employ a DBMS at all or only uses it as a data store whereas the recommendation logic is implemented in-full outside the database engine. Incorporating the recommendation functionality inside the DBMS kernel is beneficial for the following reasons: (1) Many recommendation algorithms take as input structured data (users, items, and user historical preferences) that could be adequately stored and accessed using a database system. (2) The In-DBMS approach facilitates applying the recommendation functionality and typical database operations(e.g., Selection, Join) side-by-side. That allows application developers to go beyond traditional recommendation applications, e.g., "Recommend to Alice ten movies", and flexibly define Arbitrary Recommendation scenarios like "Recommend ten nearby restaurants to Alice" and "Recommend to Bob ten movies watched by her friends". (3) Once the recommendation functionality lives inside the database kernel, the recommendation application takes advantage of the DMBS inherent features (e.g., query optimization, materialized views, indexing) provided by the storage manager and query execution engine.This thesis studies the incorporation of the recommendation functionality inside the core engine of a database management system. This is a major departure from existing recommender system architectures that are implemented on-top of a database engines using either SQL queries or stored procedures. The on-top approach does not harness the full power of the database engine (i.e., query execution engine, storage manager)since it always generates recommendations first and then performs other database operations. Ideas developed in this thesis are implemented inside RecDB ; an opensource recommendation engine built entirely inside PostgreSQL (open source relational database system).