BpFile(id=333, bpId=210, name=PolarDB 应对大并发复杂查询实践, author=null, keyword=PolarDB,数据库,大并发,复杂查询, description=MySQL架构是单线程处理SQL,遇到大并发复杂查询时,需要排队长时间等待,容易形成慢查询,影响业务。PolarDB并发查询能力可以很好解决此问题。, position=null, ossUrl=bp-B9QWD3Z6WH8A61KF.pdf, tags=null, level=null, tagList=null, products=null, productList=null, hotspot=null, oneClick=1, createTime=null, modifiedTime=null, timeConsuming=null, status=1, pdfDescription=
MySQL架构是单线程处理SQL,遇到大并发复杂查询时,需要排队长时间等待,容易形成慢查询,影响业务。PolarDB并发查询能力可以很好解决此问题。
, templateId=5URC3T6OIEBCGGVR, freetry=, visitTime=null, visitCount=null, video_url=, buttonName=null, buttonUrl=null, targetId=5URC3T6OIEBCGGVR, partner=null, partnerUrl=null, partnerLogo=null, cooperation=, cooperationList=null)
1
PolarDB如何应对大并发复杂查询最佳实践
业务架构 场景描述
MySQL架构是单线程处理 SQL,遇到大并
发复杂查询时,需要排队长时间等待,容易
形成慢查询,影响业务。PolarDB并发查询
能力可以很好解决此问题。
方案优势
1. 应用便捷,无需换数据库。
2. 效果明显,针对大并发复杂查询场
景,业务效果立竿见影。
解决问题
1. 消除慢查询,让业务更顺畅。
2. 无需额外建立数仓处理高并发的复
杂查询
3. 相同资源可以承载更大规模的业务
量,节省成本
产品列表
最佳实践频道 阿里云最佳实践技术分享群
访问控制 RAM
专有网络 VPC
云服务器 ECS
云数据库 PolarDB
2文档模板(手册名称)/Error! Use the Home tab to
云服务器 ECS(产品名称) apply 标题 to the text that you want to appear here.
阿里云
PolarDB如何应对
大并发复杂查询
最佳实践
文档版本:20210412
文档版本:20150122(发布日期) II
3PolarDB如何应对大并发复杂查询 文档版本信息
文档版本信息
文本信息
属性 内容
文档名称 PolarDB如何应对大并发复杂查询最佳实践
文档编号 210
文档版本 V1.0
版本日期 2021-04-12
文档状态 外部发布
制作人 长春、阿瑟
审阅人 久诚
文档变更记录
版本编号 日期 作者 审核人 说明
V1.0 2021-04-12 长春、阿瑟 久诚 创建
文档版本:20210412 I
4PolarDB如何应对大并发复杂查询 前言
前言
名词解释
VPC:专有网络 VPC(Virtual Private Cloud)是用户基于阿里云创建的自定义私
有网络, 不同的专有网络之间二层逻辑隔离,用户可以在自己创建的专有网络内创
建和管理云产品实例,比如 ECS、负载均衡、RDS 等。更多信息,请参见:
www.aliyun.com/product/vpc
ECS:云服务器 ECS(Elastic Compute Service)是一种简单高效、处理能力可
弹性伸缩的计算服务。帮助您构建更稳定、安全的应用,提升运维效率,降低 IT
成本,使您更专注于核心业务创新。更多信息,请参见:
www.aliyun.com/product/ecs
PolarDB:阿里云自研的云原生关系型数据库 PolarDB有三个独立的引擎,分别
100%兼容 MySQL、100%兼容 PostgreSQL、高度兼容 Oracle语法,存储容量最
高可达 100 TB,单库最多可扩展到 16个节点,适用于企业多样化的数据库应用
场景。。更多信息,请参见:www.aliyun.com/product/polardb
文档版本:20210412 III
5PolarDB如何应对大并发复杂查询 目录
目录
文档版本信息 ........................................................................................................................................................ I
法律声明 ............................................................................................................................................................... II
前言 ..................................................................................................................................................................... III
目录 ..................................................................................................................................................................... IV
最佳实践概述 ....................................................................................................................................................... 1
前置条件 ............................................................................................................................................................... 3
1. 方案场景概述 ............................................................................................................................................... 4
2. 资源部署介绍 ............................................................................................................................................... 5
2.1. 基础资源部署 ................................................................................................................................ 5
2.2. 测试工具 ........................................................................................................................................ 6
3. PolarDB并发查询效果对比 .......................................................................................................................... 7
3.1. 测试准备 ........................................................................................................................................ 7
3.2. GROUP BY和 ORDER BY支持 ....................................................................................................... 10
3.3. AGGREGATE函数支持(SUM/AVG/COUNT) .............................................................................. 11
3.4. Join支持 ...................................................................................................................................... 12
3.5. BETWEEN函数和 IN函数支持 ..................................................................................................... 14
3.6. LIMIT支持 .................................................................................................................................... 15
3.7. INTERVAL函数支持 ...................................................................................................................... 17
3.8. CASE WHEN支持 .......................................................................................................................... 17
3.9. LIKE支持 ...................................................................................................................................... 18
3.10. SUBQUERY支持 ........................................................................................................................... 19
3.11. GROUP BY WITH ROLLUP支持 ...................................................................................................... 21
3.12. INSERT ... SELECT和 REPLACE ... SELECT支持 ............................................................................... 23
3.13. 测试总结 ...................................................................................................................................... 24
4. 附录 测试环境安装 .................................................................................................................................... 26
4.1. TPC-H安装 ................................................................................................................................... 26
文档版本:20210412 IV
6PolarDB如何应对大并发复杂查询 最佳实践概述
最佳实践概述
概述
在面向 C端或者多个小 B端的 SaaS化服务场景下,数据库经常面临大并发的复杂查
询业务压力,比如餐饮平台的商户随机查看订单统计情况;ERP服务平台面临大量零
售商户查看库存报表情况。此类业务压力,在原生的 MySQL中无法较好处理,单个
复杂查询耗时较长,多个并发时经常会形成 SQL积压,大量慢查询出现,CPU激增
等不良状况。而使用数据仓库或者大数据手段处理此类,虽然单个复杂查询效率会比
OLTP数据库高很多,但大并发请求对数仓类产品是非常不友好的,CPU等资源极易
被抢占一空。
PolarDB MySQL 8.0采用开启并发度的方式,改变单线程处理 SQL的架构,充分利
用多核 CPU多线程优势,利用多线程并行处理复杂查询,有效解决大并发复杂查询的
问题,本文使用 TPC-H模拟典型高并发复杂查询业务压力,对比开启并发度前后的情
况,展示开启并发度能力在此类业务场景下的优势。
适用场景
多条件查询、多表关联等容易形成慢查询的业务场景
高并发,业务耦合性较强等无法快速拆分复杂查询业务到数仓的场景
轻度分析场景,不希望使用较重的架构搭建数仓或大数据环境
技术架构
本实践方案基于如下图所示的技术架构和主要流程编写操作步骤:
文档版本:20210412 1
7PolarDB如何应对大并发复杂查询 最佳实践概述
方案优势
性能优越:10倍以上复杂查询性能提升。
简单易用:一键开启,即开即用。
业务优化:有效改善慢查询对 OLTP带来的不良影响。
成本节省:同样配置的数据库可以承载更大规模的业务,无需额外耗费大量成本
和精力建设数仓或大数据系统。
文档版本:20210412 2
8PolarDB如何应对大并发复杂查询 前置条件
前置条件
为了顺利完成本实践,您需要提前完成以下准备工作:
注册阿里云账号,并完成实名认证。您可以登录阿里云控制台,并前往实名认证页
面(https://account.console.aliyun.com/v2/#/authc/home)查看是否已经完成实名
认证。
阿里云账户余额大于 100元。您可以登录阿里云控制台,并前往账户总览页面
(https://expense.console.aliyun.com/#/account/home)查看账户余额。
有问题请扫钉钉二维码联系我们。
文档版本:20210412 3