NEURON: Query Optimization Meets Natural Language Processing For Augmenting Database Education
Relational database management system (RDBMS) is a major undergraduate course taught in many universities worldwide as part of their computer science program. A core component of such course is the design and implementation of the query optimizer in a RDBMS. The goal of the query optimizer is to automatically identify the most efficient execution strategies for executing the declarative SQL queries submitted by users. The query optimization process produces a query execution plan (QEP) which represents an execution strategy for the query. Due to the complexity of the underlying query optimizer, comprehension of a QEP demands that a student is knowledgeable of implementation-specific issues related to the RDBMS. In practice, this is an unrealistic assumption to make as most students are learning database technology for the first time. Hence, it is often difficult for them to comprehend the query execution strategy undertaken by a DBMS by perusing the QEP, hindering their learning process. In this demonstration, we present a novel system called NEURON that facilitates natural language interaction with QEPs to enhance its understanding. NEURON accepts a SQL query (which may include joins, aggregation, nesting, among other things) as input, executes it, and generates a simplified natural language-based description (both in text and voice form) of the execution strategy deployed by the underlying RDBMS. Furthermore, it facilitates understanding of various features related to the QEP through a natural language-based question answering framework. We advocate that such tool, world's first of its kind, can greatly enhance students' learning of the query optimization topic.
READ FULL TEXT