Font Size: a A A

Design And Implementation Of SQL Compiler On Column-Oriented Database

Posted on:2013-11-15Degree:MasterType:Thesis
Country:ChinaCandidate:Z ZhenFull Text:PDF
GTID:2248330395975111Subject:Software engineering
Abstract/Summary:PDF Full Text Request
With the development of the information society, the amount of data people needed isincreasing. Many applications have put forward higher requirements for database queryefficiency.In order to address the problem of complex query of huge amounts of data, we proposesa column-oriented database query system GSQL based on heterogeneous computing platformof multi-core CPU and GPU. This system also bases on a Decomposed Storage Model (DSM),in which case, data of a table is stored in the unit of column. Moreover, many optimizationtechniques are used to accelerate the execution of primitives. An SQL query is answered bythe cooperation of multi-core CPU and GPU. However, optimization in this system is mainlyon the physical level and primitive sequence required for the back-end can only be generatedmanually, resulting in hard adaptation to varieties of SQL query statements.To solve this problem, this paper designs and implements a compiler that translates SQLquery statements into primitive sequence. Firstly, the compiler expresses an SQL querystatement by a structure called abstract syntax tree after the process of Scanning and Parsing.Next, eight kinds of table operations are generated by analyzing different parts of the syntaxtree. Finally, all table operations are resolved with the primitive sequence being formed. Inaddition to the general process of translation, this paper preliminarily studies severaloptimization strategies in a higher level, such as common subexpression elimination inmultiple expressions, optimization of joining orders and merging multiple primitivedependency graphs.Testing result shows that the compiler correctly compiles certain SQL query statements.Comparing the results with situations where no compiler is used in GSQL, we find thiscompiler improves speed of computing multiple complex expressions efficiently and reducestime of processing multiple SQL query statements to a great extent.
Keywords/Search Tags:column-oriented database, compiler, SQL, dependency graph, query optimization
PDF Full Text Request
Related items