High-concurrency Custom-build Relational Database System's design and SQL parser design based on Turing-complete automata
release_znq2d72e7nfxdcam7i3qq6f33i
by
WanHong Huang
2020
Abstract
Database system is an indispensable part of software projects. It plays an
important role in data organization and storage. Its performance and efficiency
are directly related to the performance of software. Nowadays, we have many
general relational database systems that can be used in our projects, such as
SQL Server, MySQL, Oracle, etc. It is undeniable that in most cases, we can
easily use these database systems to complete our projects, but considering the
generality, the general database systems often can't play the ultimate speed
and fully adapt to our projects. In very few projects, we will need to design a
database system that fully adapt to our projects and have a high efficiency and
concurrency. Therefore, it is very important to consider a feasible solution of
designing a database system (We only consider the relational database system
here). Meanwhile, for a database system, SQL interpretation and execution
module is necessary. According to the theory of formal language and automata,
the realization of this module can be completed by automata. In our experiment,
we made the following contributions: 1) We designed a small relational
database, and used the database to complete a highly concurrent student course
selection system. 2) We design a general automaton module, which can complete
the operation from parsing to execution. The using of strategy model and event
driven design scheme is used and some improvement on general automata, for
example a memory like structure is added to automata to make it better to store
context. All these make the automata model can be used in a variety of
occasions, not only the parsing and execution of SQL statements.
In text/plain
format
Archived Files and Locations
application/pdf 733.8 kB
file_glhhyfs74ncxxhucjmm743xlve
|
arxiv.org (repository) web.archive.org (webarchive) |
2008.04640v1
access all versions, variants, and formats of this works (eg, pre-prints)