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_downloadDownloads (0)
    Files marked with an asterix (*) can only be downloaded by users that have the appropriate product licence. The licence must be active and you must be logged into your account.
Questions about this technology?