arrow
Return

LotusSQL: SQL Engine for High-Performance Big Data Systems

delete2021-12-01
delete2
delete
OA
AI
X
Xiaohan Li
B
Bowen Yu
G
Guanyu Feng
H
Haojie Wang
陈文广 cover
陈文广 (Wenguang Chen) *
DOI:10.26599/BDMA.2021.9020009delete
deleteOriginal
deleteOriginal request for help
deleteShare
deleteSave
Abstract

Abstract

En 中文
In recent years, Apache Spark has become the de facto standard for big data processing. SparkSQL is a module offering support for relational analysis on Spark with Structured Query Language (SQL). SparkSQL provides convenient data processing interfaces. Despite its efficient optimizer, SparkSQL still suffers from the inefficiency of Spark resulting from Java virtual machine and the unnecessary data serialization and deserialization. Adopting native languages such as C++ could help to avoid such bottlenecks. Benefiting from a bare-metal runtime environment and template usage, systems with C++ interfaces usually achieve superior performance. However, the complexity of native languages also increases the required programming and debugging efforts. In this work, we present LotusSQL, an engine to provide SQL support for dataset abstraction on a native backend Lotus. We employ a convenient SQL processing framework to deal with frontend jobs. Advanced query optimization technologies are added to improve the quality of execution plans. Above the storage design and user interface of the compute engine, LotusSQL implements a set of structured dataset operations with high efficiency and integrates them with the frontend. Evaluation results show that LotusSQL achieves a speedup of up to 9x in certain queries and outperforms Spark SQL in a standard query benchmark by more than 2x on average.
Keywords:
big data
C plus
Structured Query Language (SQL)
query optimization

Journal

Big Data Mining and Analytics cover
Big Data Mining and Analytics
IF:
6.2
Papers:
274
Citations:
1.0K

Organization

T
tsinghua university
Scholars:
11.8W
Papers: 10.0W
Citations: 137