「解耦」方能「专注」——腾讯天穹SuperSQL跨引擎计算揭秘

天穹SuperSQL是腾讯自研的跨数据源、跨数据中心、跨计算引擎的大数据SQL引擎,通过解耦计算与特定引擎实现最优执行计划。文章深入探讨了SuperSQL为何及如何实现计算引擎解耦,以及对接计算引擎的未来工作,旨在提高SQL执行效率和稳定性。
摘要由CSDN通过智能技术生成

导语:得益于调度单元是通用的SQL语句,SuperSQL能够做到与特定计算引擎解耦,也正因为此原因,SuperSQL只需专注在最优执行计划生成,并根据SQL具体类型选择最佳的计算引擎。

天穹SuperSQL是腾讯自研的跨数据源、跨数据中心、跨计算引擎的大数据SQL引擎,能够满足位于不同数据中心、不同类型数据源的数据联合分析/即时查询的需求。在腾讯整个天穹大数据图谱中,负责连接端与存储。

数据源无论是关系型数据库、NoSQL还是大数据系统;数据存储无论是跨集群还是跨数据中心;数据计算无论是报表生成、分析挖掘还是交互式查询…SuperSQL作为统一的SQL引擎,都能够提供统一的异构数据管理和联邦分析入口。

本文将专注于SuperSQL的计算实现,详解SuperSQL为何要实现跨计算引擎、如何实现计算引擎解耦,以及计算对接的未来工作。

01 计算引擎在SuperSQL中的位置

SuperSQL的核心设计思路是“漂移计算“,就是将单一SQL中涉及不同DC数据源的子计算部分(子查询SQL),尽可能下推给对应的数据源本地执行;计算引擎完成不同数据源子查询中间结果的联接与合并。因为计算引擎仅从各个数据源获取子查询下推后的中间结果,其相比原始数据表的数据量通常小很多,这就能够节省DC间有限的网络带宽资源。

SuperSQL的技术架构图如下,逻辑上可以分为三部分:(1)客户端:对外提供多种标准接口;(2)Server:决定最优执行计划(计算下推、DC间计算路由等)(3)计算引擎:计算核心。

在SuperSQL整体的架构中,计算引擎是计算核心。计算引擎负责从数据源或者其他集群的计算引擎(当涉及跨DC时)拉取下推计算完成的结果,完成数据汇总计算。计算引擎的执行效率和稳定性会直接影响SQL结果的返回。

在这里插入图片描述

02 为何要实现跨计算引擎?

SuperSQL设计之初面临两个选择,一是将SQL优化、计算下推等逻辑耦合到特定计算系统上(例如SparkSQL),二是将SQL优化、计算下推等逻辑与计算解耦

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

腾讯大数据

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值