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

这篇具有很好参考价值的文章主要介绍了TiDB 7.5 LTS 发版丨提升规模化场景下关键应用的稳定性和成本的灵活性。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

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

互联网时代,数据的迅猛增长给数据库带来了可扩展性的挑战,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”后端任务以默认优先级和低优先级运行时对前台工作负载的影响对比:

在上表的示例中,第一行展示了当所有集群资源均可供前台工作负载使用时的性能。第二行展示了在后台添加 “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 文章来源地址https://www.toymoban.com/news/detail-759824.html

到了这里,关于TiDB 7.5 LTS 发版丨提升规模化场景下关键应用的稳定性和成本的灵活性的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 高阶智驾战火升级:价格战开打,NOA规模化要如何突破?

    “平价”高阶智驾方案,将在成为车企决胜智驾下半场的关键点。 上市不到一个月的时间, 问界新M7 销量突破了5万,余承东也在朋友圈发文感叹:起死回生,真不容易! 问界新M7于9月华为秋季发布会正式上市, 24.98万元的起步价,不仅与上一代M7的起售价降低4万,也比理想

    2024年02月08日
    浏览(42)
  • 【智慧公寓】东胜物联嵌入式硬件解决方案,为智慧公寓解决方案商降本增效,更快实现产品规模化生产

    东胜物联本次服务的客户是一家专注于提供智慧公寓解决方案的欧洲企业,该公司旨在为用户提供智能,便捷,安全的生活体验。其解决方案涵盖智慧公寓控制、自动化、能源管理和智能建筑,它的使命是通过复杂的控制系统使用户能够深入了解能源消耗,帮助他们了解能源

    2024年03月12日
    浏览(48)
  • TiDB 7.1 LTS 发版:为关键业务提供业务稳定性和多租户场景支持

    近日,企业级开源分布式数据库厂商 PingCAP 正式发布 TiDB 7.1 版本,这也是 2023 年度发布的首个 LTS(Long Term Support) 版本,汇集了来自 20+ 个真实场景带来的功能增强,累计优化和修复 140+ 功能,旨在提升关键业务的稳定性和性能,帮助开发人员和数据库管理员提高生产力并进

    2024年02月08日
    浏览(40)
  • 【人工智能】为什么说大语言模型能力遵循规模理论 Scaling Law(即模型能力随着训练计算量增加而提升) ?

    目录 为什么说大语言模型能力遵循规模理论 Scaling Law(即模型能力随着训练计算量增加而提升) ?

    2024年03月25日
    浏览(73)
  • 【前端发版】vue前端发版 步骤

    2024年01月19日
    浏览(44)
  • 服务器发版(前端如何自己连接服务器发版)

    1.下载FinalShell远程连接工具 http://www.hostbuf.com/downloads/finalshell_windows_x64.exe 2.打开exe 3.创建连接,SSH连接 4.新建完连接后,快速连接后列表中多了一条数据 5. 6.指令 which nginx 查找nginx文件夹所在位置 找到后cd到nginx 位置 进入nginx下的conf文件夹,找到nginx.conf配置转发 7.cd 到sbin文

    2024年01月17日
    浏览(51)
  • 【小程序发版提示】小程序发版内容未及时更新的解决方案

    场景: 由于小程序经常发版且每次版本内容变化都较大,所以对小程序代码的实时更新有一定的要求 但是经测试发现在每一次的小程序的发布之后,部分机型的代码需要较长时间或者说需要用户删除小程序重新进入小程序才能被更新到最新版 官方是这样解释的: 所以是微信设计

    2024年02月13日
    浏览(55)
  • 前端每次发版提示用户

    vue前端现在每次发版本想提示用户刷新页面,主要思路如下 public 中创建 JSON 文件,设置版本号为数字 1 编写 node 脚本,每次发版本,运行脚本将版本号自增 1 创建 js 文件,开启 web worker 线程,使用 fetch 轮询 这个 json 文件,若是版本号不同则弹框提示用户,引导用户刷新 注

    2024年01月16日
    浏览(49)
  • Java 发版jar不直接显示日志

    发版jar不直接显示日志,这样做以防有人点击服务将服务暂停导致程序出现错误。 日志可以在log.out文件查看。 注意:不要将命令弹窗关闭。

    2024年02月12日
    浏览(48)
  • Flutter 打包发版常见问题

    一、安卓方面  打包后apk打开时闪屏关闭 配置签名文件          key.properties   放在项目的android目录下面。demo.jks放在项目的android/app/key的目录下面,key目录自己手动创建。          项目的android下的app目录里的build.gradle增加以下配置             二、IOS方面 app的icon的原

    2024年02月12日
    浏览(42)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包