写点什么

亚信安慧 AntDB-M 聚合下推—加速你的数据分析查询

  • 2024-08-16
    浙江
  • 本文字数:1179 字

    阅读完需:约 4 分钟

亚信安慧AntDB-M聚合下推—加速你的数据分析查询

摘 要


在业务系统中,一般的事务型 SQL 语句涉及到的数据记录数不会很多,即便涉及到多个数据节点,基于 AntDB-M 的优化,访问也都很快。但是统计分析型 SQL 语句往往涉及到大量数据,甚至包括全表数据,基本都会覆盖所有相关数据节点。即便数据的读取做了很多优化,也避免不了在不同节点间传递大量数据,过多的网络交互,没有充分利用各数据节点的计算能力等问题会使分析型 SQL 语句执行缓慢。为此,AntDB-M 提供了聚合下推功能来提升统计分析型 SQL 的查询性能。


一、性能初探


这里先来看一个简单的 sum 统计场景部署方式:1 个计算节点,2 个数据节点。通过 Sysbench 创建一个 100 万条记录的表。对开启聚合下推、关闭聚合下推、单机部署分别进行聚合查询来查看各自的查询时间。查询语句: select sum(k) from sbtest1;开启聚合下推



图 1:开启聚合下推耗时


关闭聚合下推



图 2:关闭聚合下推耗时


单机版



图 3-单机版耗时


表 1-查询耗时比对


单机版 0.33 sec

关闭聚合下推 2.93 sec

开启聚合下推 0.27 sec


分布式部署的 AntDB-M 开启聚合下推是单机版的 1.2 倍,是不开启聚合下推的 10.8 倍。由此可以看出聚合下推功能对分析型 SQL 有着极大的性能提升。


二、功能支持


1、用户变量


在聚合下推中,支持使用用户变量。使用用户变量,业务系统可以很方便的编写灵活的 SQL 语句。



图 4:用户变量


2、数字编号引用查询列


支持 group by, order by 从句中通过数字编号引用查询列。通过数字引用查询列,可以简化 SQL 的编写,使得 SQL 逻辑更简单清晰,也方便动态生成 SQL 的编写。



图 5:数字编号引用查询列


3、having 从句


having 从句不但可以使用聚合函数,也可以引用基础列,使用上没有限制。



图 6:having


4、Order by 从句


排序是查询中常用的功能。聚合下推不仅支持 order by 从句,也支持对查询列的数字编号引用。还可以根据需要灵活设置排序规则。



图 7:order by


5、limit 从句


当查询结果数据量太大时,可以通过 limit 限制一次返回的记录数。支持多种 limit 语法。



图 8:limit


6、into 从句


根据业务需要,查询结果可以导出到外部文件,支持 into outfile, into dumpfile。也支持导出到变量。支持灵活的 into 从句位置。



图 9-into


7、存储过程,触发器


聚合下推不仅仅支持直接的 SQL 查询,还支持存储过程和触发器。当存储过程或触发器中存在聚合查询时,会触发聚合下推。



图 10:存储过程



图 11:触发器


三、结论 AntDB-M 通过聚合下推,减少了分布式数据库各节点间的网络交互次数,降低了数据传输量,充分发挥了数据节点的计算能力,极大提升了分析型 SQL 的处理性能。同时灵活支持各种查询从句,通过 SQL 即可完成更多功能,极大方便了业务开发。


关于亚信安慧 AntDB 数据库 AntDB 数据库始于 2008 年,在运营商的核心系统上,服务国内 24 个省市自治区的数亿用户,具备高性能、弹性扩展、高可靠等产品特性,峰值每秒可处理百万笔通信核心交易,保障系统持续稳定运行超十年,并在通信、金融、交通、能源、物联网等行业成功商用落地。

用户头像

企业数据库创新实践者 2021-07-26 加入

AntDB数据库始于2008年,服务于全国20多个省份的10亿多用户提供在线服务;具备高性能、弹性扩展、高可靠等产品特性,峰值每秒可处理百万笔电信核心交易,并保障系统持续0故障运行近十年。 官网:asiainfoah.com

评论

发布
暂无评论
亚信安慧AntDB-M聚合下推—加速你的数据分析查询_AntDB_亚信AntDB数据库_InfoQ写作社区