星辰资讯 | TiDB v7.5.4 v8.4.0 发版

作者: ShawnYan 原文来源: https://tidb.net/blog/6e299751

TiDB 8.4.0 DMR 发版

11 月 11 日,TiDB 8.4.0 版本发布,以下是该版本的一些关键特性和改进:

性能

  1. 分区表全局索引成为正式功能 :提高检索非分区列的效率,消除了唯一键必须包含分区键的限制,扩展了 TiDB 分区表的使用场景。
  2. TiDB 并行获取 TSO :在高并发场景下,并行获取 TSO 能有效降低等待获取 TSO 的时间,提升集群的吞吐。
  3. 提升缓存表的查询性能 :优化了缓存表索引扫描的查询性能,在部分场景下可提升 5.4 倍。
  4. 实例级执行计划缓存(实验特性) :允许同一个 TiDB 实例的所有会话共享执行计划缓存,减少 SQL 编译时间,提升 OLTP 性能和吞吐,同时更好地控制内存使用,提升数据库稳定性。

稳定性

  1. Runaway Queries 支持更多触发条件,并能够切换资源组 :提供了有效的手段来降低突发的 SQL 性能问题对系统产生的影响。
  2. 支持为资源管控的后台任务设置资源使用上限 :针对不同业务系统的需求,控制后台任务的消耗,保证在线业务的服务质量。
  3. 自动统计信息收集任务支持并发 :通过充分利用系统资源,提高统计信息收集效率,减少手动调优,并确保集群性能稳定。

高可用

  1. TiProxy 流量捕获和回放(实验特性) :在进行集群升级、迁移或部署变更等重要操作之前,使用 TiProxy 捕获 TiDB 生产集群的真实负载,并在测试的目标集群中重现该工作负载,从而验证性能,确保变更成功。

SQL 功能

  1. 支持向量搜索功能(实验特性) :向量搜索是一种基于数据语义的搜索方法,可以提供更相关的搜索结果,可用于检索增强生成、语义搜索、推荐系统等多种场景。

这是 TiDB 社区版首个支持 Vector Search 的版本,该功能自今年 4 月在 TiDB Cloud Serverless 上已支持,目前 TiDB Cloud Serverless 所有 Regions 均支持 TiDB Vector Search (beta)。

数据库管理、可观测性和安全

  • 在内存表中显示 TiKV 和 TiDB 的 CPU 时间,提升诊断效率。
  • 按表或数据库维度聚合 TiKV 消耗的 CPU 时间,提升热点问题和 CPU 消耗问题的诊断效率。
  • 支持对开启了 IMDSv2 服务的 TiKV 实例做备份。
  • BR 支持在上传到备份存储之前对日志备份数据进行加密(实验特性)。

移除功能

  • TiDB Binlog 在 v8.4.0 中被移除。请在升级前切换到 TiCDC。

改进提升和错误修复

  • TiDB、TiKV、PD、TiFlash 和工具的多项改进提升,并修复了多个组件中的错误。

以上是 TiDB 8.4.0 DMR 版本发布的主要内容,更多内容参阅官方文档:

https://docs.pingcap.com/zh/tidb/v8.4/release-8.4.0

相关资料

  • 星辰资讯:TiDB v8.1.0 发版!稳!
  • TiDB v8 发版!超硬核 v8 引擎!
  • 几张图带你了解 TiDB 架构演进

10 月 15 日,TiDB v7.5.4 版本发布。

如果你还在使用上古版本,建议升级到最新 LTS 版本,如:TiDB v7.1.5, TiDB v7.5.4, TiDB v8.1.1。

TiDB 7.5.4 发行说明

兼容性变更

  • 通过 TiDB HTTP API 获取 DDL 历史任务时,默认获取任务数量的上限为 2048,以避免历史任务数量过多导致 OOM 的问题 #55711 @joccau

改进提升

  • TiDB

    • EXPLAIN 语句支持应用 tidb_redact_log ,并进一步优化了日志记录的处理逻辑 #54565 @hawkingrei
    • 优化 TiDB 慢查询的查询速度 #54630 @yibin87
  • TiKV

    • 优化存在大量 DELETE 版本时 RocksDB 的 compaction 触发机制,以加快磁盘空间回收 #17269 @AndreMouche
    • 减少 peer message channel 的内存使用 #16229 @Connor1996
    • 优化 TiKV 重启时由于需要等待应用之前的日志而造成访问延时抖动的情况,提升了 TiKV 的稳定性 #15874 @LykxSassinator
    • 优化 TiKV 的 DiskFull 检测使之与 RaftEngine 的配置项 spill-dir 兼容,确保该特性能够稳定运行 #17356 @LykxSassinator
  • TiFlash

    • 优化 LENGTH() ASCII() 函数执行效率 #9344 @xzhangxian1008
    • 降低 TiFlash 在开启 TLS 后因更新证书而导致 panic 的概率 #8535 @windtalker
    • 改进 JOIN 算子的取消机制,使得 JOIN 算子内部能及时响应取消请求 #9430 @windtalker
  • Tools

    • Backup & Restore (BR)

      • 在 TiKV 下载每个 SST 文件之前,新增对 TiKV 是否有足够磁盘空间的检查;如果空间不足,BR 会终止恢复并返回错误 #17224 @RidRisR
    • TiCDC

      • 当下游为 TiDB 且授予 SUPER 权限时,TiCDC 支持从下游数据库查询 ADD INDEX DDL 的执行状态,以避免某些情况下因重试执行 DDL 语句超时而导致数据同步失败 #10682 @CharlesCheung96

错误修复

该版本共修复错误 50 余项(TiDB 22, TiKV 6, PD 6, TiFlash 7, Tools 10)。

详情参阅官方文档:

https://docs.pingcap.com/zh/tidb/v7.5/release-7.5.4

一键升级到 TiDB v7.5.4

升级前注意事项

  1. 升级前建议先升级 TiUP 版本
[root@centos7 package]# tiup update --self
Updated successfully!
[root@centos7 package]# tiup -v
1.16.0 tiup
Go Version: go1.21.11
Git Ref: v1.16.0
GitHash: e543145831d44a863366ff8c379d25980730bbd1
  1. 跨版本升级前,建议仔细阅读官方文档

https://docs.pingcap.com/zh/tidb/stable/upgrade-tidb-using-tiup

  1. 参考其他社区资料
  • 【收藏】TiDB 版本升级最全材料包&升级指南
  • TiDB 社区论坛 >> TiDB 技术问题 >> 升级 https://asktug.com/c/tidb/update/420036

一键升级到 TiDB v7.5.4

将集群不停机升级到 v7.5.4

tiup cluster upgrade mytidb v7.5.4

升级完成

Upgraded cluster `mytidb` successfully

查看数据库版本

[root@centos7 ~]# tidb -e 'select tidb_version()\G'
Enter password:
*************************** 1. row ***************************
tidb_version(): Release Version: v7.5.4
Edition: Community
Git Commit Hash: 15a52d8b9c7eb373fa0b9b71a0ac346f652b7cdf
Git Branch: HEAD
UTC Build Time: 2024-10-12 08:23:42
GoVersion: go1.21.13
Race Enabled: false
Check Table Before Drop: false
Store: tikv

获取 DDL 历史任务

从 TiDB v7.5.4 开始,通过 TiDB HTTP API 获取 DDL 历史任务时,默认获取任务数量的上限为 2048。

[root@centos7 ~]# curl localhost:10080/ddl/history?limit=2049
ddl history limit must be greater than 0 and less than or equal to 2048[root@centos7 ~]#

之前的情况是获取全部 DDL 历史任务,如需获取更多历史任务可以使用参数 start_job_id limit 分批次获取。

curl -s localhost:10080/ddl/history?start_job_id=4000 -d "limit=1024"

Have a nice day ~

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

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

相关文章

Python 打包教程:从零开始构建可分发的Python包

Python 打包教程:从零开始构建可分发的Python包 引言 在Python开发中,打包是一个重要的环节。无论是共享代码、发布库还是部署应用,创建一个可分发的Python包都是必不可少的步骤。本文将详细介绍如何打包Python项目,涵盖从基础知…

大模型基础BERT——Transformers的双向编码器表示

大模型基础BERT——Transformers的双向编码器表示 整体概况 BERT:用于语言理解的深度双向Transform的预训练 论文题目:BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding Bidirectional Encoder Representations from…

Python教程笔记(2)

Python教程 5.1 列表详解5.1.3 列表推导式5.1.4 嵌套的列表推导式 5.7 深入条件控制6.1 模块详解6.3 dir()7.1 格式化字符串字面值7.1.3 手动格式化字符串 7.2 读写文件 5.1 列表详解 Python 中所有可变数据结构返回值为None。实现队列最好用 collections.deque。 5.1.3 列表…

DAHL:利用由跨越 29 个类别的 8,573 个问题组成的基准数据集,评估大型语言模型在生物医学领域长篇回答的事实准确性。

2024-11-14,由首尔国立大学创建的DAHL数据集,为评估大型语言模型(LLMs)在生物医学领域长文本生成中的幻觉问题提供了一个重要的工具,这对于提高模型的准确性和可靠性具有重要意义。 数据集地址:DAHL|生物医…

GStreamer 简明教程(九):Seek 与跳帧

系列文章目录 GStreamer 简明教程(一):环境搭建,运行 Basic Tutorial 1 Hello world! GStreamer 简明教程(二):基本概念介绍,Element 和 Pipeline GStreamer 简明教程(三…

【微软:多模态基础模型】(1)从专家到通用助手

欢迎关注【youcans的AGI学习笔记】原创作品 【微软:多模态基础模型】(1)从专家到通用助手 【微软:多模态基础模型】(2)视觉理解 【微软:多模态基础模型】(3)视觉生成 【微…

GRE做题笔记(零散的个人经验)

locomotive机车By 1813, the Luddite resistance had all but vanished. all but表示“几乎完全”的程度,或者表示排除piston活塞attributed to 归因于how a sportsperson accounted for their own experience of stress 运动员如何解释自己的压力经历 ,…

【蓝桥杯算法】Java的基础API

1. BigInteger 的使用 1.1. 判素数 package 模板;import java.math.BigInteger; import java.util.Scanner;public class 判素数 {static Scanner in new Scanner(System.in);public static void main(String[] args) {int q in.nextInt();while (q-- > 0) {BigInteger …

【项目实战】基于 LLaMA-Factory 通过 LoRA 微调 Qwen2

【项目实战】基于 LLaMAFactory 通过 LoRA 微调 Qwen2 一、项目介绍二、环境准备1、环境准备2、安装LLaMa-Factory3、准备模型数据集3.1 模型准备3.2 数据集准备 三、微调1、启动webui2、选择参数3、训练 四、测试五、总结 一、项目介绍 LLaMA-Factory是一个由北京航空航天大学…

数据仓库在大数据处理中的作用

数据仓库(Data Warehouse,简称DW或DWH)是一个面向主题的、集成的、相对稳定的、反映历史变化的数据集合,用于支持管理决策。以下是对数据仓库及其在大数据处理中作用的详细解释: 一、数据仓库的定义 面向主题&#x…

第23课-C++-红黑树的插入与旋转

🌇前言 红黑树是一种自平衡的二叉搜索树,因其出色的性能,广泛应用于实际中。Linux 内核中的 CFS 调度器便是一个使用红黑树的例子,这足以说明它的重要性。红黑树的实现通过红黑两种颜色的控制来维持平衡,并在必要时使…

基于 CentOS7.6 的 Docker 下载常用的容器(MySQLRedisMongoDB),解决拉取容器镜像失败问题

安装MySQL&Redis&MongoDB mysql选择是8版本,redis是选择4版本、mongoDB选择最新版,也可以根据自己的需要进行下载对应的版本,无非就是容器名:版本号 这样去拉去相关的容器镜像。如果你还不会在服务器中安装 docker,可以查…

C#/WinForm拖拽文件上传

一、首先创建一个上传文件的类,继承Control类,如下: public class UploadControl : Control{private Image _image;public UploadControl(){this.SetStyle(ControlStyles.UserPaint | //控件自行绘制,而不使用操作系统的绘制Cont…

ubuntu将firewall-config导出为.deb文件

firewall-config ubuntu是canonial 公司维护的,用wireshark测过,开机会给他们公司发遥测(开了ufw阻塞所有连接也一样,canonial在里面把代码改了)firewall-config是fedora(爱好者维护,公益版本)自带的防火墙…

蓝桥杯备考——算法

一、排序 冒泡排序、选择排序、插入排序、 快速排序、归并排序、桶排序 二、枚举 三、二分查找与二分答案 四、搜索(DFS) DFS(DFS基础、回溯、剪枝、记忆化) 1.DFS算法(深度优先搜索算法) 深度优先搜…

Javascript垃圾回收机制-运行机制(大厂内部培训版本)

前言 计算机基本组成: 我们编写的软件首先读取到内存,用于提供给 CPU 进行运算处理。 内存的读取和释放,决定了程序性能。 冯诺依曼结构 解释和编译 这两个概念怎么理解呢。 编译相当于事先已经完成了可以直接用。好比去饭店吃饭点完上…

python面向对象基础入门

面向对象 基本的实现方法大概如此 class Student(object):def __init__(self, name, score):self.name nameself.score scoredef print_score(self):print(%s: %s % (self.name, self.score))在面向对象的思想中,面对一个问题,首先应该考虑这个问题所…

阿里云ACK容器如何配置pod分散在集群的不同节点上

阿里云ACK容器如何配置pod分散在集群的不同节点上 1.核心原理 是使用pod间反亲和性(podAntiAffinity),pod间反亲和性又分为软约束反亲和和硬约束反亲和。 2.软约束反亲和和硬约束反亲和区别: preferredDuringSchedulingIgnore…

ffmpeg+D3D实现的MFC音视频播放器,支持录像、截图、音视频播放、码流信息显示等功能

一、简介 本播放器是在vs2019 x86下开发,通过ffmpeg实现拉流解码功能,通过D3D实现视频的渲染功能。截图功能采用libjpeg实现,可以截取jpg图片,图片的默认保存路径是在C:\MYRecPath中。录像功能采用封装好的类Mp4Record实现&#x…

怎样遵守编程规范,减少和控制C++编程中出现的bug?

遵守编程规范和最佳实践是减少和控制 C 编程中出现 bug 的重要手段。以下是一些具体的建议和策略,帮助你编写更健壮、更易于维护的 C 代码。 1. 遵循 C 标准和最佳实践 使用现代 C 特性:尽可能使用 C11 及之后的标准,避免使用过时的特性和库…