RecDB: Recommendation System (20140120, Dr. Mohammed Mokbel)

Technology No. 20140120

SQL Recommendation Engine Embedded in the Database

An open-source PostgreSQL-embedded system has been produced that creates and processes user-item preference matrices from within the database itself. This database application, RecDB, provides a solution by eliminating the wasteful online-offline transition step common to most recommendation systems located outside the database. The SQL language involved is simple and designed to easily and quickly provide recommendations based on user preferences. RecDB is flexible to allow customization of the recommendation processand is scalable to accommodate for high volumes of users and items.

Recommendation System Bottlenecks

Many sites that provide recommendation links to sites predicted to appeal to the user use an algorithm used is separate from the database. These offline systems require two-way communication with the database that is often a bottleneck in page loading. These systems also require skilled programmers to create and support complex recommendation systems. SQL, the most common database language, already operates in terms of simple data commands such as SELECT, JOIN, and adding simple recommendation functions in SQL programs creates a simple, streamlined process that can be tailored to specific needs.


  • Eliminates offline-online data transfer that acts as bottleneck
  • Simple SQL-based program customizable to server needs
  • Eliminates the need to hire recommendation programming expertise.

Phase of Development RecDB is an open source recommendation enginge that is available from GitHub.

Mohammed Mokbel, PhD
Associate Professor, Computer Science and Engineering, School of Science and Engineering
External Link (
Mohammed Sarwat, PhD
Assistant Professor, Computer Science, Arizona State University
External Link (

  • swap_vertical_circlelibrary_booksReferences (0)
  • swap_vertical_circlecloud_downloadSupporting documents (0)
    Additional files may be available once you've completed the transaction for this product. If you've already done so, please log into your account and visit My account / Downloads section to view them.
Questions about this technology?