计算机工程
計算機工程
계산궤공정
COMPUTER ENGINEERING
2013年
6期
60-65
,共6页
列数据库%原语%编译器%依赖图%公共子表达式消除%查询优化
列數據庫%原語%編譯器%依賴圖%公共子錶達式消除%查詢優化
렬수거고%원어%편역기%의뢰도%공공자표체식소제%사순우화
column-oriented database%primitive%compiler%dependency graph%Common Subexpression Elimination(CSE)%query optimization
基于多核CPU和GPU异构平台的列数据库可用于海量数据和复杂查询,但其优化主要集中在底层,并且后端的执行序列只能通过手工硬编码生成,不能适应多样的SQL查询语句。针对该问题,设计并实现一个将SQL查询语句自动转化成执行序列的编译器,研究多个复杂表达式中的公共子表达式消除和原语依赖图合并方法。与手工编码的比较结果表明,该编译器能够提高算术表达式的计算速度,缩短执行SQL查询语句的时间。
基于多覈CPU和GPU異構平檯的列數據庫可用于海量數據和複雜查詢,但其優化主要集中在底層,併且後耑的執行序列隻能通過手工硬編碼生成,不能適應多樣的SQL查詢語句。針對該問題,設計併實現一箇將SQL查詢語句自動轉化成執行序列的編譯器,研究多箇複雜錶達式中的公共子錶達式消除和原語依賴圖閤併方法。與手工編碼的比較結果錶明,該編譯器能夠提高算術錶達式的計算速度,縮短執行SQL查詢語句的時間。
기우다핵CPU화GPU이구평태적렬수거고가용우해량수거화복잡사순,단기우화주요집중재저층,병차후단적집행서렬지능통과수공경편마생성,불능괄응다양적SQL사순어구。침대해문제,설계병실현일개장SQL사순어구자동전화성집행서렬적편역기,연구다개복잡표체식중적공공자표체식소제화원어의뢰도합병방법。여수공편마적비교결과표명,해편역기능구제고산술표체식적계산속도,축단집행SQL사순어구적시간。
A column-oriented database based on a heterogeneous platform of multi-core CPU and GPU can be used for mass data and complex queries. However, the optimization in this database is mainly on physical level and execution sequence for its back-end can only be generated manually, resulting in hard adaptation to varieties of SQL query statements. To solve this problem, this paper designs and implements a compiler that translates SQL query statements into execution sequence. It studies Common Subexpression Elimination(CSE) method in multiple complex expressions and merging method of multiple primitive dependency graphs. Comparing the results with situations where no compiler is used in GSQL, it can be found that this compiler can improve speed of computing multiple complex expressions efficiently and reduce time of processing multiple SQL query statements.