# 《高性能SQL引擎》SQL引擎设计-第02节:高性能SQL引擎驱动引擎设计与实现

作者:冰河
星球:http://m6z.cn/6aeFbs (opens new window)
博客:https://binghe.gitcode.host (opens new window)
文章汇总:https://binghe.gitcode.host/md/all/all.html (opens new window)
源码获取地址:https://t.zsxq.com/0dhvFs5oR (opens new window)

沉淀,成长,突破,帮助他人,成就自我。

  • 本节难度:★★☆☆☆
  • 本节重点:对高性能SQL引擎的驱动引擎进行设计与实现,从全局视角了解高性能SQL引擎的设计和架构思想,并能够将其灵活应用到自身实际项目中。

大家好,我是冰河~~

高性能SQL引擎最基础和最核心的功能就是通过JSON模板或者直接创建对象组合动态生成SQL,不再依赖各种实体模型来接收和传递数据。同时,高性能SQL引擎自身会设计和实现通用的数据模型。这些通用的数据模型会由专门的SQL构建器将其转化成最终的SQL语句。

然而,SQL构造器并不能直接对外提供服务,为了统一对外提供服务,我们需要设计和实现SQL驱动引擎来驱动SQL构建器的执行。

# 一、前言

截止到目前,我们已经明确了高性能SQL引擎的需求和流程,并且对高性能SQL引擎的方案目标、总体架构设计和内部执行流程进行了总体介绍,并且已经对高性能SQL引擎的通用化落地方案进行了详细的阐述。同时,在通用模型设计篇章,对高性能SQL引擎的通用数据模板和通用数据模型等进行了设计与实现。

随后,在SQL引擎设计篇章,设计和实现了SQL构建器将这些通用的数据模型构建成通用的SQL。接下来,我们就需要思考如何驱动SQL构造器的执行来实现高性能SQL引擎的整体执行。

# 二、本节诉求

对高性能SQL引擎的驱动引擎进行设计与实现,从全局视角了解高性能SQL引擎的设计和架构思想,并能够将其灵活应用到自身实际项目中。

# 三、驱动引擎设计

驱动引擎的核心作用就是接收通用的数据模板或者数据模型,调用SQL构造器的方法,驱动SQL构造器的执行,最终将通用数据模板或者数据模型转化成最终的SQL语句。

设计完驱动引擎后高性能SQL引擎的完整设计图如图2-1所示。


这也是我们在通用落地方案中的整体架构设计。

# 四、编码实现

对于驱动引擎来说,最核心的功能就是接收通用数据模板或者数据模型,驱动SQL构建器的执行,将通用数据模板或者数据模型转换成最终的SQL语句。

驱动引擎的源码详见:io.binghe.sql.plugin.engine.SqlEngine。

# 查看完整文章

加入冰河技术 (opens new window)知识星球,解锁完整技术文章、小册、视频与完整代码