写点什么

TiDB v8.5 版本正式发布,来看看有什么惊喜吧!

  • 2024-12-20
    北京
  • 本文字数:8375 字

    阅读完需:约 27 分钟

作者: 社区小助手原文来源:https://tidb.net/blog/5ad1bd36


发版日期:2024 年 12 月 19 日


TiDB 版本:8.5.0


试用链接:快速体验 | 生产部署 | 下载离线包


TiDB 8.5.0 为长期支持版本 (Long-Term Support Release, LTS)。


相比于前一个 LTS(即 8.1.0 版本),8.5.0 版本包含 8.2.0-DMR8.3.0-DMR, 和 8.4.0-DMR 中已发布的新功能、提升改进和错误修复。当你从 8.1.x 升级到 8.5.0 时,可以下载 TiDB Release Notes PDF 查看两个 LTS 版本之间的所有 Release Notes。下表列出了从 8.1.0 到 8.5.0 的一些关键特性:


功能详情

可扩展性

  • Schema 缓存可用的内存上限成为正式功能 (GA),当表的数量达到几十万甚至上百万时,可以显示减少 Schema 元数据的内存占用 #50959 @tiancaiamao @wjhuang2016 @gmhdbjd @tangenta

  • 在一些 SaaS 场景下,当表的数量达到几十万甚至上百万时,Schema 元数据会占用较多的内存。开启该功能后,系统将使用 Least Recently Used (LRU) 算法缓存和淘汰相应的 Schema 元数据信息,有效减少内存占用。

  • 从 v8.4.0 开始,该功能默认开启,默认值为 536870912(即 512 MiB),你可以通过系统变量 tidb_schema_cache_size 按需调整。

  • 更多信息,请参考用户文档

  • 通过 Active PD Follower 提升 PD 上 Region 信息查询服务的扩展能力 (GA) #7431 @okJiang

  • 当集群的 Region 数量较多时,PD leader 处理心跳和调度任务的开销也较大,可能导致 CPU 资源紧张。如果同时集群中的 TiDB 实例数量较多,查询 Region 信息请求并发量较大,PD leader CPU 压力将变得更大,可能会造成 PD 服务不可用。

  • 为确保服务的高可用性,TiDB v7.6.0 引入 Active PD Follower 作为实验特性,以提升 PD 上 Region 信息查询服务的扩展能力。在 v8.5.0 中,该功能成为正式功能 (GA)。你可以通过设置系统变量 pd_enable_follower_handle_region 开启 Active PD Follower 特性。启用该特性后,TiDB 在获取 Region 信息时会将请求均匀地发送到所有 PD 节点上,使 PD follower 也可以处理 Region 请求,从而减轻 PD leader 的 CPU 压力。

  • 更多信息,请参考用户文档

性能

  • TiDB 加速建表成为正式功能 (GA),显著缩短数据迁移和集群初始化时间 #50052 @D3Hunter @gmhdbjd

  • TiDB v7.6.0 引入加速建表功能作为实验特性,并通过系统变量 tidb_ddl_version 控制。从 v8.0.0 开始,该系统变量更名为 tidb_enable_fast_create_table

  • 在 v8.5.0 中,TiDB 加速建表功能成为正式功能 (GA) 并默认开启。在数据迁移或集群初始化时,该功能支持快速创建百万级规模的表,从而显著缩短相关操作的耗时。

  • 更多信息,请参考用户文档

  • TiKV 支持 MVCC 内存引擎 (In-memory Engine, IME),可加速需要扫描大量 MVCC 历史版本的查询 #16141 @SpadeA-Tang @glorv @overvenus

  • 当频繁更新记录或者需要 TiDB 保留较长时间的历史版本(例如 24 小时)数据时,堆积的 MVCC 版本会导致扫描性能下降。TiKV 的 MVCC 内存引擎可以将最新的 MVCC 版本缓存在内存中,并通过快速的 GC 机制删除内存中的历史版本,从而提升扫描性能。

  • 从 v8.5.0 开始,TiKV 引入 MVCC 内存引擎。当 TiKV 集群中的 MVCC 版本堆积导致扫描性能下降时,你可以通过设置 TiKV 参数 in-memory-engine.enable 来开启 TiKV MVCC 内存引擎,提升扫描性能。

  • 更多信息,请参考用户文档

稳定性

  • 支持限制 PD 处理请求的最大速率和并发度 #5739 @rleungx

  • 当突然有大量请求发送到 PD 时,这些请求可能导致 PD 工作负载过高,进行影响 PD 性能表现。从 v8.5.0 开始,你可以使用 pd-ctl 来限制 PD 处理请求的最大速率和并发度,提升 PD 的稳定性。

  • 更多信息,请参考用户文档

SQL 功能

  • 外键成为正式功能 (GA) #36982 @YangKeao @crazycs520

  • 在 v8.5.0 中,TiDB 的外键功能成为正式功能 (GA),支持使用外键约束提升数据一致性和保障完整性。你可以轻松创建表间的外键关联,实现级联更新和删除操作,使得数据管理更加便捷。这一功能为复杂数据关联的应用场景提供了更好的支持。

  • 更多信息,请参考用户文档

  • 引入 ADMIN ALTER DDL JOBS 语法,支持在线修改 DDL 任务参数 #57229 @fzzf678 @tangenta


从 v8.3.0 开始,TiDB 支持在会话级别设置变量 tidb_ddl_reorg_batch_size 和 tidb_ddl_reorg_worker_cnt,因此通过 Global 设置这两个变量已不再影响所有运行中的 DDL 任务。如需更改这些变量的值,需要先取消 DDL 任务,调整变量取值后再重新提交。


从 v8.5.0 开始,引入了 ADMIN ALTER DDL JOBS 语句。你可以在线调整指定的 DDL 任务的变量值,以便灵活平衡资源消耗与性能,并将变更限定于单个任务,使影响范围更加可控。例如:


  • ADMIN ALTER DDL JOBS job_id THREAD = 8;:在线调整该 DDL 任务的 tidb_ddl_reorg_worker_cnt

  • ADMIN ALTER DDL JOBS job_id BATCH_SIZE = 256;:在线调整该 DDL 任务的 tidb_ddl_reorg_batch_size

  • ADMIN ALTER DDL JOBS job_id MAX_WRITE_SPEED = '200MiB';:在线调整写入每个 TiKV 节点的索引数据流量大小

  • 更多信息,请参考用户文档

安全

  • BR 支持在客户端进行快照备份数据和日志备份数据加密 (GA) #28640 #56433 @joccau @Tristan1900

  • 通过快照备份数据的客户端加密功能(在 TiDB v5.3.0 中以实验特性引入),你可以使用自定义的固定密钥在客户端加密备份数据。

  • 通过日志备份数据的客户端加密功能(在 TiDB v8.4.0 中以实验特性引入),你使用以下方式之一在客户端加密日志备份数据:

  • 使用自定义的固定密钥加密

  • 使用本地磁盘的主密钥加密

  • 使用 KMS(密钥管理服务)的主密钥加密

  • 从 v8.5.0 开始,这两个加密功能都成为了正式功能 (GA),进一步增强了客户端数据的安全性。

  • 更多信息,请参考加密备份数据加密日志备份数据

  • TiKV 静态加密支持 Google Cloud Key Management Service (Google Cloud KMS) (GA) #8906 @glorv

  • TiKV 通过静态加密功能对存储的数据进行加密,以确保数据的安全性。静态加密的安全核心点在于密钥管理。在 v8.0.0 中,TiKV 静态加密以实验特性的形式支持了基于 Google Cloud KMS 的主密钥管理。

  • 从 v8.5.0 起,基于 Google Cloud KMS 的静态加密成为正式功能 (GA)。要使用该功能,你需要在 Google Cloud 上创建一个密钥,然后在 TiKV 配置文件中添加 [security.encryption.master-key] 部分的配置。

  • 更多信息,请参考用户文档

兼容性变更

注意


以下为从 v8.4.0 升级至当前版本 (v8.5.0) 所需兼容性变更信息。如果从 v8.3.0 或之前版本升级到当前版本,可能也需要考虑和查看中间版本 Release Notes 中提到的兼容性变更信息。

行为变更

  • 为了与 MySQL 兼容,在非严格模式下 (sql_mode = '') 向非 NULL 列插入 NULL 值会报错。 #55457@joechenrh

  • 不再支持 ALTER TABLE ... DROP FOREIGN KEY IF EXISTS ... 语句。 #56703 @YangKeao

系统变量

配置参数

移除功能

  • 以下为已移除的功能:

  • TiDB Binlog 在 v8.4.0 中被移除。从 v8.3.0 开始,TiDB Binlog 被完全废弃。如需进行增量数据同步,请使用 TiCDC。如需按时间点恢复 (point-in-time recovery, PITR),请使用 PITR。在将 TiDB 集群升级到 v8.4.0 或之后版本前,务必先切换至 TiCDC 和 PITR。

  • 以下为计划在未来版本中移除的功能:

  • 从 v8.0.0 开始,TiDB Lightning 废弃了物理导入模式下的旧版冲突检测策略,支持通过 conflict.strategy 参数统一控制逻辑导入和物理导入模式的冲突检测策略。旧版冲突检测的参数 duplicate-resolution 将在未来版本中被移除。

废弃功能

以下为计划将在未来版本中废弃的功能:


  • TiDB 在 v8.0.0 引入了系统变量 tidb_enable_auto_analyze_priority_queue,用于控制是否启用优先队列来优化自动收集统计信息任务的排序。在未来版本中,优先队列将成为自动收集统计信息任务的唯一排序方式,该系统变量将被废弃。

  • TiDB 在 v7.5.0 引入了系统变量 tidb_enable_async_merge_global_stats,用于设置 TiDB 使用异步方式合并分区统计信息,以避免 OOM 问题。在未来版本中,分区统计信息将统一使用异步方式进行合并,该系统变量将被废弃。

  • 计划在后续版本重新设计执行计划绑定的自动演进,相关的变量和行为会发生变化。

  • TiDB 在 v8.0.0 引入了系统变量 tidb_enable_parallel_hashagg_spill,用于控制 TiDB 是否支持并行 HashAgg 进行落盘。在未来版本中,该系统变量将被废弃。

  • TiDB 在 v5.1 引入了系统变量 tidb_partition_prune_mode,用于设置是否开启分区表动态裁剪模式。从 v8.5.0 开始,将该变量设置为 static 或 static-only 时会产生警告。在未来版本中,该系统变量将被废弃。

  • TiDB Lightning 参数 conflict.max-record-rows 计划在未来版本中废弃,并在后续版本中删除。该参数将由 conflict.threshold 替代,即记录的冲突记录数和单个导入任务允许出现的冲突记录数的上限数保持一致。

  • 从 v6.3.0 开始,分区表默认使用动态裁剪模式,相比静态裁剪模式,动态裁剪模式支持 IndexJoin、Plan Cache 等特性,性能表现更好。在未来版本中,静态裁剪模式将被废弃。

改进提升

  • TiDB

  • 提升关闭分布式执行框架时,ADD INDEX 加速功能对任务取消的响应速度 #56017 @lance6716

  • 提升小表加索引的速度 #54230 @tangenta

  • 新增系统变量 tidb_ddl_reorg_max_write_speed,用于限制加索引时 ingest 阶段速度的上限 #57156 @CbcWestwolf

  • 提升某些情况下查询 information_schema.tables 的性能 #57295 @tangenta

  • 支持动态调整更多 DDL 任务参数 #57526 @fzzf678

  • 支持全局索引包含分区表达式中的所有列 #56230 @Defined2014

  • 支持 List 分区表在 Range 查询的场景中进行分区裁剪 #56673 @Defined2014

  • 默认开启 FixControl#46177,修复在某些情况下错误地选择了全表扫描,而没有选择索引范围扫描的问题 #46177 @terry1purcell

  • 改进内部估算逻辑,使其能够更充分地利用多列多值索引的统计信息,提升某些涉及多值索引的查询的估算精度 #56915 @time-and-fate

  • 提高特定情况下全表扫描的代价估算,减少错误地选择全表扫描的概率 #57085 @terry1purcell

  • 优化统计信息同步加载所需的数据量,提升加载性能 #56812 @winoros

  • 优化特定情况下,OUTER JOIN 含有唯一索引且有 ORDER BY ... LIMIT 子句时的执行计划,提高执行效率 #56321 @winoros

  • TiKV

  • 利用单独的线程清理副本,保证 Raft 读写关键路径的延迟稳定 #16001 @hbisheng

  • 向量距离函数支持 SIMD 以提升性能 #17290 @EricZequan

  • PD

  • 支持 tso 服务在微服务模式和非微服务模式之间动态切换 #8477 @rleungx

  • 优化 pd-ctl config 输出中部分字段的大小写 #8694 @lhy1024

  • Store limit v2 成为正式功能 (GA) #8865 @lhy1024

  • 支持配置 Region 巡检的并行度(实验特性)#8866 @lhy1024

  • TiFlash

  • 提升聚簇索引表在后台回收过期数据的速度 #9529 @JaySon-Huang

  • 提升数据更新场景下向量搜索的查询性能 #9599 @Lloyd-Pottiger

  • 新增关于构建向量索引 CPU 使用率的监控指标 #9032 @JaySon-Huang

  • 提升逻辑运算符的执行效率 #9146 @windtalker

  • Tools

  • Backup & Restore (BR)

  • 减少备份过程中无效日志的打印 #55902 @Leavrth

  • 优化加密密钥 --crypter.key 的错误提示信息 #56388 @Tristan1900

  • 增加 BR 创建数据库时的并发度,以提升数据恢复性能 #56866 @Leavrth

  • 在进行全量备份时,默认不计算表级别的 checksum (--checksum=false) 以提升备份性能 #56373 @Tristan1900

  • 新增对每个存储节点的连接超时进行独立追踪和重置的机制,增强了对慢节点的处理能力,从而避免备份卡住的问题 #57666 @3pointer

  • TiDB Data Migration (DM)

  • 在 DM 集群启动时,增加 DM-worker 连接到 DM-master 的重试 #4287 @GMHDBJD

错误修复

  • TiDB

  • 修复当从 PD 返回的 Region 元数据中未包含 Leader 信息时,TiDB 未自动重试请求可能导致执行报错的问题 #56757 @cfzjywxk

  • 修复写冲突时 TTL 任务可能无法取消的问题 #56422 @YangKeao

  • 修复取消 TTL 任务时,没有强制 Kill 对应 SQL 的问题 #56511 @lcwangchao

  • 修复集群从 v6.5 升级到 v7.5 或更高版本后,已有 TTL 任务执行意外频繁的问题 #56539@lcwangchao

  • 修复 INSERT ... ON DUPLICATE KEY 语句不兼容 mysql_insert_id 的问题 #55965 @tiancaiamao

  • 修复 TTL 在未选用 TiKV 作为存储引擎时可能失败的问题 #56402 @YangKeao

  • 修复通过 IMPORT INTO 导入数据后,AUTO_INCREMENT 字段没有正确设置的问题 #56476@D3Hunter

  • 修复执行 ADD INDEX 时,未检查索引长度限制的问题 #56930 @fzzf678

  • 修复执行 RECOVER TABLE BY JOB JOB_ID; 可能导致 panic 的问题 #55113 @crazycs520

  • 修复由于 stale read 未对读操作的时间戳进行严格校验,导致 TSO 和真实物理时间存在偏移,有小概率影响事务一致性的问题 #56809 @MyonKeminta

  • 修复 DDL owner 节点切换后,无法按照切换前的进度继续执行 Reorg DDL 任务的问题 #56506@tangenta

  • 修复分布式执行框架的监控面板上部分指标不准确的问题 #57172 @fzzf678 #56942 @fzzf678

  • 修复某些情况下 REORGANIZE PARTITION 无法显示报错原因的问题 #56634 @mjonss

  • 修复查询 INFORMATION_SCHEMA.TABLES 时由于大小写敏感导致返回结果错误的问题 #56987@joechenrh

  • 修复当公共表表达式 (CTE) 有多个数据消费者时,如果某个消费者在未读取数据时就退出,可能导致非法内存访问的问题 #55881 @windtalker

  • 修复 INDEX_HASH_JOIN 在异常退出时可能卡住的问题 #54055 @wshwsh12

  • 修复 TRUNCATE 语句在处理 NULL 值时返回结果错误的问题 #53546 @tuziemon

  • 修复由于类型推导错误导致 CAST AS CHAR 函数结果不正确的问题 #56640 @zimulala

  • 修复由于类型推导错误导致部分函数的输出结果中字符串被截断的问题 #56587 @joechenrh

  • 修复 ADDTIME() 和 SUBTIME() 函数的第一个参数为日期类型时返回错误结果的问题 #57569@xzhangxian1008

  • 修复在非严格模式下 (sql_mode = '') ,非法空值能被插入的问题 #56381 @joechenrh

  • 修复 UPDATE 语句更新 ENUM 类型的值时更新错误的问题 #56832 @xhebox

  • 修复开启 tidb_low_resolution_tso 变量后,执行 SELECT FOR UPDATE 语句出现资源泄漏的问题 #55468 @tiancaiamao

  • 修复 JSON_TYPE() 函数未检查其参数类型导致传入非 JSON 数据类型时未报错的问题 #54029@YangKeao

  • 修复在 PREPARE 语句中使用 JSON 函数可能导致执行失败的问题 #54044 @YangKeao

  • 修复将数据从 BIT 类型换为 CHAR 类型时可能导致 TiKV 崩溃的问题 #56494 @lcwangchao

  • 修复在 CREATE VIEW 语句中使用变量或参数时未报错的问题 #53176 @mjonss

  • 修复 JSON_VALID() 函数返回结果错误的问题 #56293 @YangKeao

  • 修复关闭 tidb_ttl_job_enable 变量后 TTL 任务未被取消的问题 #57404 @YangKeao

  • 修复同时使用 RANGE COLUMNS 分区函数和 utf8mb4_0900_ai_ci 排序规则时,查询结果错误的问题 #57261 @Defined2014

  • 修复执行以换行符开头的 Prepared 语句会导致数组越界的运行错误 #54283 @Defined2014

  • 修复 UTC_TIMESTAMP() 函数中的精度相关问题,比如精度设置得太大 #56451 @chagelo

  • 修复 UPDATEINSERTDELETE IGNORE 语句中没有忽略外键错误的问题 #56678 @YangKeao

  • 修复查询 information_schema.cluster_slow_query 表时,如果不加时间过滤条件,则只会查询最新的慢日志文件的问题 #56100 @crazycs520

  • 修复 TTL 表的内存泄漏问题 #56934 @lcwangchao

  • 修复 write_only 状态的表外键约束未生效的问题,以避免使用 non-public 状态的表 #55813@YangKeao

  • 修复使用 NATURAL JOIN 或者 USING 子句之后,再使用子查询可能会报错的问题 #53766@dash12653

  • 修复如果 CTE 包含 ORDER BYLIMITSELECT DISTINCT 子句,并且被另外一个 CTE 的递归部分所引用时,可能被错误地 inline 导致执行报错的问题 #56603 @elsa0520

  • 修复 VIEW 中定义的 CTE 被错误 inline 的问题 #56582 @elsa0520

  • 修复使用 PLAN REPLAYER 导入含有外键的表结构时可能报错的问题 #56456 @hawkingrei

  • 修复使用 PLAN REPLAYER 导入含有 Placement Rule 的表结构时可能报错的问题 #54961@hawkingrei

  • 修复使用 ANALYZE 收集表的统计信息时,如果该表包含虚拟生成列的表达式索引,执行会报错的问题 #57079 @hawkingrei

  • 修复 DROP DATABASE 语句没有正确触发统计信息对应变更的问题 #57227 @Rustin170506

  • 修复在 CTE 中解析数据库名时,返回错误的数据库名的问题 #54582 @hawkingrei

  • 修复在使用 DUMP STATS 将统计信息转为 JSON 的过程中,直方图上下界数据受损的问题 #56083@hawkingrei

  • 修复 EXISTS 子查询的结果继续参与代数运算时,结果和 MySQL 不一致的问题 #56641@windtalker

  • 修复无法为带别名的多表删除语句 DELETE 创建执行计划绑定的问题 #56726 @hawkingrei

  • 修复优化器在简化复杂谓词时,由于没有考虑字符集及排序规则,可能导致执行报错的问题 #56479@dash12653

  • 修复 Grafana 中 Stats Healthy Distribution 面板的数据可能错误的问题 #57176 @hawkingrei

  • 修复在包含聚簇索引的表上执行向量搜索查询时,结果可能错误的问题 #57627 @winoros

  • TiKV

  • 修复读线程在从 Raft Engine 中的 MemTable 读取过时索引时出现的 panic 问题 #17383@LykxSassinator

  • 修复当大量事务在排队等待同一个 key 上的锁被释放且该 key 被频繁更新时,TiKV 可能因死锁检测压力过大而出现 OOM 的问题 #17394 @MyonKeminta

  • 修复资源管控后台任务 CPU 使用率可能被重复统计的问题 #17603 @glorv

  • 修复由于 CDC 内部任务堆积过多导致 TiKV OOM 的问题 #17696 @3AceShowHand

  • 修复 raft-entry-max-size 设置过高时,写入 batch 可能过大引起性能抖动的问题 #17701@SpadeA-Tang

  • 修复 Region Split 后可能无法快速选出 Leader 的问题 #17602 @LykxSassinator

  • 修复使用 RADIANS() 或 DEGREES() 函数时可能导致 TiKV panic 的问题 #17852 @gengliqi

  • 修复所有休眠的 Region 被集中唤醒时,可能导致写入抖动的问题 #17101 @hhwyt

  • PD

  • 修复热点缓存中可能存在的内存泄露问题 #8698 @lhy1024

  • 修复资源组 (Resource Group) 选择器对所有面板都未生效的问题 #56572 @glorv

  • 修复已删除的资源组仍然出现在监控面板中的问题 #8716 @AndreMouche

  • 修复 Region syncer 加载过程中日志描述不清晰的问题 #8717 @lhy1024

  • 修复 label 统计中的内存泄露问题 #8700 @lhy1024

  • 修复配置 tidb_enable_tso_follower_proxy 为 0 或 OFF 时无法关闭 TSO Follower Proxy 特性的问题 #8709 @JmPotato

  • TiFlash

  • 修复 SUBSTRING() 函数不支持部分整数类型的 pos 和 len 参数导致查询报错的问题 #9473@gengliqi

  • 修复在存算分离架构下,扩容 TiFlash 写节点后向量搜索性能可能下降的问题 #9637 @kolafish

  • 修复当 SUBSTRING() 函数的第二个参数为负数时,可能返回错误结果的问题 #9604 @guo-shaoge

  • 修复当 REPLACE() 函数的第一个参数为常数时,可能报错的问题 #9522 @guo-shaoge

  • 修复当 LPAD() 和 RPAD() 函数在某些情况下返回错误结果的问题 #9465 @guo-shaoge

  • 修复在创建向量索引后,如果 TiFlash 内部用于构建向量索引的任务被意外中断,可能造成 TiFlash 写入损坏数据并无法重启的问题 #9714 @JaySon-Huang

  • Tools

  • Backup & Restore (BR)

  • 修复备份过程中还未备份完成的 range 空洞过多时出现 OOM 的问题,减少了预先分配的内存 #53529 @Leavrth

  • 修复备份时无法备份全局索引的问题 #57469 @Defined2014

  • 修复日志可能打印加密信息的问题 #57585 @kennytm

  • 修复 advancer 无法处理锁冲突的问题 #57134 @3pointer

  • 升级 k8s.io/api 库的版本以修复潜在的安全漏洞 #57790 @BornChanger

  • 修复当集群存在大量表但实际数据量较小时,PITR 数据恢复任务可能出现 Information schema is out of date 报错的问题 #57743 @Tristan1900

  • 修复日志备份在 advancer owner 切换时可能会异常进入暂停状态的问题 #58031 @3pointer

  • 修复通过 tiup br restore 命令进行库表级别恢复时,遗漏检查目标集群中表是否已存在,可能会覆盖已有表的问题 #58168 @RidRisR

  • TiCDC

  • 修复使用 Debezium 协议时 Kafka 消息中缺少 Key 的问题 #1799 @wk989898

  • 修复 redo 模块无法正确上报错误的问题 #11744 @CharlesCheung96

  • 修复 TiDB DDL owner 变更导致 DDL 任务的 schema 版本出现非递增时,TiCDC 错误丢弃 DDL 任务的问题 #11714 @wlwilliamx

  • TiDB Lightning

  • 修复 TiDB Lightning 因 TiKV 发送的消息过大而接收失败的问题 #56114 @fishiu

  • 修复使用物理导入模式导入数据后,AUTO_INCREMENT 值设置过大的问题 #56814 @D3Hunter

贡献者

感谢来自 TiDB 社区的贡献者们:



发布于: 刚刚阅读数: 5
用户头像

TiDB 社区官网:https://tidb.net/ 2021-12-15 加入

TiDB 社区干货传送门是由 TiDB 社区中布道师组委会自发组织的 TiDB 社区优质内容对外宣布的栏目,旨在加深 TiDBer 之间的交流和学习。一起构建有爱、互助、共创共建的 TiDB 社区 https://tidb.net/

评论

发布
暂无评论
TiDB v8.5 版本正式发布,来看看有什么惊喜吧!_TiDB 社区干货传送门_InfoQ写作社区