This project investigates the performance of a new wave of data management systems that integrate analytics and query processing. It takes a first-principles approach to machine learning over relational databases that advances recent development in database systems and theory and is centred around factorization techniques that reduce the amount of redundancy in the data representation and in the computation over relational data. It also investigates the interaction of factorization with approximation and data updates.
Providing scalable solutions for analytics over relational databases is a defining challenge of our time. While this has always been a topic of research and commercial interest, three major trends exacerbate its current widespread adoption. It is much cheaper to generate data, due to inexpensive sensors, smart devices, social software, and the Internet of Things. It is much cheaper to process data, due to advances in multicore CPUs, inexpensive cloud computing, and open source software. Finally, our society has become increasingly more computational, with many categories of people becoming involved in the process of generating, processing, and consuming data, such as decision makers, domain scientists, application users, journalists, crowd workers, and everyday consumers. This wide adoption comes with pressing demands for scalable large-scale data management from businesses, governments, academic disciplines, engineering, communities, and individuals.
Mainstream solutions for analytics over databases currently represent a highly lucrative business. The input to learning classification and regression models is defined by feature extraction queries. Their approach is to materialize the training dataset, export it out of the database, and learn over it using statistical software packages. These steps are expensive and unnecessary. Instead, this project casts the machine learning problem as a database problem. It merges the data-intensive computation into the feature extraction queries and solves them using factorization techniques that exploit the structure (algebraic and combinatorial) of the workload. This leads to lower computational complexity and faster runtime even than the materialization of the training dataset.