TiDB 7.5 LTS 发版丨提升规模化场景下关键应用的稳定性和成本的灵活性

作者: TiDB社区小助手 原文来源: https://tidb.net/blog/1cffec89

no-alt

互联网时代,数据的迅猛增长给数据库带来了可扩展性的挑战,Gen AI 带来的数据暴增更加剧了这种挑战。传统的数据分片已经不能承载新时代数据暴增的需求,更简单且具有前瞻性的方法则是采用原生分布式数据库来解决扩展性问题。在这种规模化场景的背景下,TiDB 的研发团队和开源贡献者们始终致力于解决事务一致性、数据持久性以及大规模扩展所带来的新挑战,以及保障关键应用的稳定性。

**作为 TiDB 7 系列的第二个长期支持版本 (LTS) ,TiDB 7.5 着眼于提升规模化场景下关键应用的稳定性。**新版本中,TiDB 在可扩展性与性能、稳定性与高可用、SQL 以及可观测性等方面获得了持续的提升。TiDB 7.5 LTS 包含了已发布的 7.2.0-DMR、7.3.0-DMR 和 7.4.0-DMR 版本中的新功能、提升改进和错误修复,累计优化和修复功能 70 余项。

本文将探讨 TiDB 7.5 如何在规模化场景下实现关键应用整体稳定性的提升,探讨资源管控支持后端任务和管理资源消耗超出预期的查询(Runaway Queries)等重要特性,这些特性让用户可以在灵活调度资源降低总体成本的情况下可以保持关键应用的稳定性。

资源管控支持后端任务管理,提升执行关键业务的稳定性

TiDB 7.1 引入的资源管控(Resource Control)特性,多个业务可共享同一个 TiDB 集群,DBA 可为不同的工作负载设置资源配额和优先级,例如为关键业务分配更高的优先级,确保其能够优先获得资源,避免受到其他工作负载的干扰。此前,资源管控无法对 DDL、analyze、import 等后端任务进行控制,这些任务通常定期或不定期触发,在执行的时候会消耗资源,从而对关键业务的运行产生影响。

自 TiDB 7.4 开始,资源管控支持后端任务管理。当一种任务被标记为后端任务时,TiKV 会动态地限制该任务的资源使用,以尽量避免此类任务在执行时对前台任务产生影响。TiKV 通过实时地监测所有前台任务所消耗的 CPU 和 IO 等资源,并根据实例的总体资源上限计算出后端任务可使用的资源阈值,所有后端任务在执行时会受此阈值的限制。当后端任务被识别匹配后,资源管控会自动进行,即当系统资源紧张时,后端任务会自动降为最低优先级,以确保前台任务的执行效率。**这个功能的增强允许 DBA 通过设置自动识别后端任务,并降低其资源消耗。**未来,这个功能将进一步扩展,提供给用户更丰富的配置选择,从而赋予用户对集群中后端任务更多的控制权。

下表展示了当“analyze”后端任务以默认优先级和低优先级运行时对前台工作负载的影响对比:

no-alt

在上表的示例中,第一行展示了当所有集群资源均可供前台工作负载使用时的性能。第二行展示了在后台添加 “analyze” 任务时发生的情况。第三行则展示了利用新特性自动对 “analyze” 任务进行管控时的效果。

将后端任务(Addindex,Importinto任务)调度到指定的 TiDB 节点执行

TiDB 7.2 开始,引入了 分布式框架 ,该框架的目标是实现对所有后端任务的统一调度与分布式执行,并为接入的后端任务提供统一的资源管理能力。分布式框架支持后端任务(特指 Add index 和 Import into 任务)在 TiDB 集群的所有 TiDB 节点上执行,以提升此类任务的性能。而 TiDB 7.5 允许 DBA 将 Add index,Import into 这类消耗资源较多的后端任务调度到指定的 TiDB 节点上执行,从而和存量 TiDB 节点上的负载进行隔离,避免对业务产生影响 。当在想要运行后端任务的节点上设置 tidb_service_scope 为 background 时,后端任务分布式框架将调度该节点执行后端任务。但未经这样设置,则该节点将不会被用于执行后端任务。

这一改进真正的突破在于能够动态地添加 TiDB 节点来处理突发的这类后端任务。如果需要导入一个庞大的表,只需向集群中添加若干个 TiDB 节点来完成,而不会对现有 TiDB 节点造成任何额外压力,添加索引的方式也是如此。完成任务后,这些节点可以被撤销。这一功能为在生产集群上轻松处理大型任务(Add index ,Import 大量数据)提供了更加无缝的方式。

暂停和恢复执行DDL任务

在 v7.1 版本之前,用户在某些场景下会遇到 DDL 执行的痛点,具体表现为:

  • 集群版本升级时,若有正在执行的 DDL 未被取消,可能导致升级后的数据异常。

  • 对于拥有数十亿行数据的大表,为其添加索引可能需要相当长的时间,对在线业务造成不可忽视的影响。

为了解决这些问题,我们在 v7.1.0 中引入了一项新功能:DDL 任务的暂停和恢复。这一功能在 v7.5.0 中正式发布,为用户带来了更加灵活和高效的 DDL 执行体验。

具体而言,该功能巧妙地解决了上述痛点:

  • 在使用 TiUP 对集群升级的过程中,系统将自动暂停正在执行的 DDL 任务,并在升级完成后自动恢复执行该 DDL 任务。全程无需人为干预,有效避免由于人员疏忽导致未暂停 DDL 而引起集群升级后数据不一致的问题。

  • 针对执行耗时较长的 DDL,比如给大表添加索引,用户可以在业务高峰期来临前手动暂停该 DDL,并在业务低谷期恢复该 DDL 任务,从而有效避免对在线业务的影响。

DDL 任务的暂停和恢复机制支持断点续传,不仅保障了 DDL 任务的安全性和稳定性,同时最大化地保证了用户数据一致性和业务的稳定性。

监控和管理资源消耗超出预期的查询

突发的查询性能下降,是影响数据库整体性能最常见的问题,很难完全规避。 即使设置了资源组限额,也只能消除资源组间的相互影响,而个别 SQL 的过渡消耗仍会对降低资源组内的其他操作的性能。为解决此问题,TiDB 7.2 资源管控引入了对 Runaway Queries 的管理,自动识别并处理消耗超出预期的查询,在 TiDB 7.3 引入了手动管理 Runaway Queries 监控列表的功能,将 SQL 特征添加到隔离监控列表,从而实现快速隔离 Runaway Queries。 无论用户是否使用了资源组,都可以借助 Runaway Queries 管理来缓和突发的 SQL 性能问题。

DBA 现在可以为每个资源组设置“查询限制 (Query Limit)”,并配备几个关键参数 。EXEC_ELAPSED 用于设定查询持续时间的阈值,任何超出这一阈值的查询都会被识别为 Runaway Query。ACTION 决定当识别到 Runaway Query 时进行的动作,可以把执行优先级降到最低也可以终止该查询。WATCH 用于快速匹配已经识别到的 Runaway Query,即在一定时间内再碰到相同或相似的查询,可以直接按照配置的措施进行处理,避免其在被识别的过程中对资源进行消耗。

如果一些 Runaway Queries 并没有被自动识别,DBA 也可以通过 SQL 命令 "QUERY WATCH"手动将查询的特征加入“监视列表”,类似于设置数据库级别的 SQL 黑名单,特别适合那些对数据库响应时间要求很高的客户,为突发的 SQL 性能问题提供了一种有效的防范措施。这项功能和资源管控结合使用,意味着在业务系统之间以及业务系统内部都能实现更高的稳定性,从而最大限度地减少多业务合并过程中可能出现的潜在风险。

立即体验TiDB 7.5

从 TiDB 7.0 开始,TiDB 在数据库整合的技术方向上持续演进,致力于在多业务融合的场景下同时提升关键业务的稳定性和降低总体成本,7.5 LTS 将资源管控、分布式框架、可观测性理念的组合推升到更为成熟的阶段,可以为当前追求业务连续性同时也希望降低总体成本的客户带来创新的部署和运维方式。

7.5.0 关键特性&功能详情请见: https://docs.pingcap.com/zh/tidb/stable/release-7.5.0

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/217821.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

UE4 Niagara学习笔记

需要在其他发射器的同一个粒子位置发射其他粒子就用Spawn Particles from other Emitter 把发射器名字填上去即可 这里Move to Nearest Distance Field Subface GPU,可以将生成的Niagara附着到最近的物体上 使用场景就是做的火苗附着到物体上

【每日一题】2697. 字典序最小回文串-2023.12.13

题目: 2697. 字典序最小回文串 给你一个由 小写英文字母 组成的字符串 s ,你可以对其执行一些操作。在一步操作中,你可以用其他小写英文字母 替换 s 中的一个字符。 请你执行 尽可能少的操作 ,使 s 变成一个 回文串 。如果执行…

Python和Beautiful Soup爬虫助力提取文本内容

大家好,网络爬虫是一项非常抢手的技能,收集、分析和清洗数据是数据科学项目中最重要的部分。今天介绍如何从链接中爬取高质量文本内容,我们使用迭代,从大约700个链接中进行网络爬取。如果想直接跳转到代码部分,可以在下…

Java版本+鸿鹄企业电子招投标系统源代码+支持二开+Spring cloud +鸿鹄电子招投标系统

项目说明 随着公司的快速发展,企业人员和经营规模不断壮大,公司对内部招采管理的提升提出了更高的要求。在企业里建立一个公平、公开、公正的采购环境,最大限度控制采购成本至关重要。为了符合国家电子招投标法律法规及相关规范,…

2697. 字典序最小回文串(2023-12-13)

力扣每日一题 题目:2697. 字典序最小回文串 日期:2023-12-13 用时:4 m 53 s 时间:7ms 内存:43.61MB 代码: class Solution {public String makeSmallestPalindrome(String s) {char[] chs s.toCharArray…

基于SpringBoot的在线考试系统

基于SpringBoot的在线考试系统 文章目录 基于SpringBoot的在线考试系统 一.引言二.系统设计三.技术架构四.系统功能模块设计五.功能实现六.源码获取 一.引言 在线考试系统是一种基于互联网技术的教育辅助工具,它通过利用SpringBoot框架的优势,实现了高效…

c语言注册登录+实验室物帐管理系统

实验室物帐管理系统:用户手册 1引言 本用户手册旨在为实验室物帐管理系统的使用提供指导和帮助。该系统旨在实现以下功能:仪器设备条目的输入、仪器设备的借还以及库存情况查询及修改。通过本手册,您将了解到如何正确使用该系统&#xff0c…

创建全0或全1矩阵numpy.matlib.zeros()numpy.matlib.ones()

【小白从小学Python、C、Java】 【计算机等级考试500强证书考研】 【Python-数据分析】 创建全0或全1矩阵 numpy.matlib.zeros() numpy.matlib.ones() 选择题 请问执行np.matlib.zeros((2,2))的结果是: import numpy.matlib import numpy as np print("【执行】…

图片压缩软件4K Image Compressor Pro mac特点介绍

4K Image Compressor Pro mac是一款专业的图片压缩软件,它可以在不损失图像质量的前提下,优化图片文件的大小,从而节省存储空间,方便在社交媒体上共享图片,并优化网站加载速度。 4K Image Compressor Pro mac软件特点 …

Go语言文件操作:文件读写案例以及相关细节介绍

文章目录 介绍一、打开文件1.1 以只读的方式打开文件1.2 自定义的方式打开文件 二、文件读写代码案例2.1 从磁盘读取数据2.2 向磁盘写数据 介绍 对文件进行操作时,其中最基本的操作就是"读写"。本文将介绍Go语言中文件读写的案例和相关细节。在Go语言中&…

Onlyoffice本地部署超详细教程(附协作空间2.0新资讯)

陈老老老板🤴 🧙‍♂️本文专栏:生活(主要讲一下自己生活相关的内容)生活就像海洋,只有意志坚强的人,才能到达彼岸。 🧙‍♂️本文简述:ONLYOFFICE相信大家已经有所了解,本篇讲一下o…

2023全国职业院校技能大赛信息安全管理与评估正式赛(模块三CTF)

全国职业院校技能大赛高等职业教育组信息安全管理与评估 \任务书\ 模块三 网络安全渗透、理论技能与职业素养 极安云科专注技能竞赛,包含网络建设与运维和信息安全管理与评估两大赛项,及各大CTF,基于两大赛项提供全面的系统性培训&#xf…

算法 - 二分搜索法 / 二分法(704)

原理: 利用数组的有序性,每次取查找范围的中间点,缩窄一半的查找空间。比较中间值和目标值的大小,直到找到目标值或者查找区间为空时返回。 力扣(LeetCode)官网 - 全球极客挚爱的技术成长平台 题目&…

C++STL的list模拟实现

文章目录 前言 list实现push_back迭代器(重点)普通迭代器const迭代器 inserterase析构函数构造函数拷贝构造赋值 vector和list的区别 前言 要实现STL的list, 首先我们还得看一下list的源码。 我们看到这么一个东西,我们知道C兼容C,可以用struct来创建一…

保姆级:Windows Server 2012上安装.NET Framework 3.5

📚📚 🏅我是默,一个在CSDN分享笔记的博主。📚📚 ​​ 🌟在这里,我要推荐给大家我的专栏《Windows》。🎯🎯 🚀无论你是编程小白,还是有…

什么是产品经理 | 文末赠书

目录 一. 产品经理是什么?二. 产品经理需要具备的技能三. 产品经理的职责四. 产品经理在软件开发过程中如何平衡不同利益方的需求?五. 入门建议六. 发展前景七. 总结🦁文末福利图书介绍作者简介 一. 产品经理是什么? 产品经理是指…

四、mapbox搭载vue3测试demo(31-40)

demo地址https://bidding-m.gitee.io/mapbox-test/#/ 31、[添加] 热力图图层 32、[添加] 样式聚类 33、[添加] HTML聚类 34、[添加] 点动画效果 35、[添加] marker动

探索SSL证书的应用场景,远不止网站,还有小程序、App Store等

说到SSL证书,我们都知道其是用于实现HTTPS加密保障数据安全的重要工具,在建设网站的时候经常会部署SSL证书。但实际上,SSL证书的应用场景远不止网站,它还被广泛地应用到小程序、App Store、抖音广告、邮件服务器以及各种物联网设备…

用户管理第2节课 -- idea 2023.2 创建表

一、懂得 1.1编码格式是防止乱码的,utf-8是完全够的,那几个基本没差别 网址: 【IDEA——连接MySQL数据库,创建库和表】_idea中数据库-CSDN博客 这些是MySQL数据库中的一些术语,可以简单解释如下: 1、col…

【K8S 系列】认识k8s、k8s架构

一、什么是k8s? Kubernetes 简称 k8s,是支持云原生部署的一个平台,k8s 本质上就是用来简化微服务的开发和部署的,用于自动化部署、扩展和管理容器化应用的开源容器编排技术。对于传统的docker其实也提供了容器编排的技术docker-compose&…