SolveDB: Integrating Optimization Problem Solvers Into SQL Databases
Many real world decision problems involve solving optimization problems based on data in an SQL database. Traditionally, solving such problems requires combining a DBMS with optimization software packages for each required class of problems (e.g. linear and constraint programming) leading to workflows that are cumbersome, complex, inefficient, and error prone. In this paper, we present SolveDB a DBMS for optimization applications. SolveDB supports solvers for different problem classes and offers seamless data management and optimization problem solving in a pure SQL based setting. This allows for much simpler and more effective solutions of database based optimization problems. SolveDB is based on the 3 level ANSI/SPARC architecture and allows formulating, solving, and analysing solutions of optimization problems using a single so called solve query. SolveDB provides (1) an SQL based syntax for optimization problems, (2) an extensible infrastructure for integrating different solvers, and (3) query optimization techniques to achieve the best execution performance and/or result quality. Extensive experiments with the PostgreSQL based implementation show that SolveDB is a versatile tool offering much higher developer productivity and order of magnitude better performance for specification complex and data intensive problems.
SSDBM