# 《高性能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引擎的需求和流程,并且对高性能SQL引擎的方案目标、总体架构设计和内部执行流程进行了总体介绍。明确这些事项后,就要思考如何将高性能SQL进行落地了。
# 一、前言
在需求设计篇章,我们梳理了为何学习高性能SQL引擎,阐述了高性能SQL引擎的目标与挑战,对设计高性能SQL引擎面对的挑战给出了详细的应对方案,并且从功能性需求和非功能性需求等方面详细梳理了高性能SQL引擎的需求。同时,在应对复杂且灵活多变的查询场景时,分别对比了未引入高性能SQL引擎与引入高性能SQL引擎后的系统执行流程。
在架构设计篇章,详细阐述了高性能SQL引擎的方案目标、技术选型、总体架构设计与高性能SQL引擎的内部执行流程。至此,我们已经从整体上比较清晰的了解了高性能SQL引擎的需求、方案目标和总体架构设计。
接下来,就需要思考如何将高性能SQL引擎进行通用化落地了。
# 二、本节诉求
梳理高性能SQL引擎的通用化落地方案,从全局视角了解高性能SQL引擎的设计和架构思想,并能够将其灵活应用到自身实际项目中。
# 三、落地方案
对于高性能SQL引擎的落地方案来说,一种是通过SDK的方案嵌入到服务内部,通过调用驱动引擎提供的方法快速生成SQL。另一种就是提供高性能SQL引擎的通用服务,提供HTTP或者RPC接口供其他服务调用,总体如图2-1所示。

可以看到,就高性能SQL引擎如何落地而言,我们给出了两种通用的解决方案,如下所示。
- 嵌入式方案:将高性能SQL引擎打包成SDK嵌入到各个服务内部,各个服务内部通过调用高性能SQL引擎的驱动引擎对外提供的方法,快速生成SQL,供后续业务逻辑使用。
- 服务化方案:基于高性能SQL引擎对外提供通用的Server服务、HTTP接口和RPC接口,其他服务通过调用高性能SQL引擎对外提供的接口,快速生成SQL,供后续业务逻辑使用。
两种方案均具备落地可行性,大家可以根据自身实际业务场景选择具体的落地方案。
# 查看完整文章
加入冰河技术 (opens new window)知识星球,解锁完整技术文章、小册、视频与完整代码