热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

TiDB4.0.3发布,分布式NewSQL数据库

TiDB4.0.3现已发布,该版本具体更新内容如下:新功能TiDBDashboard显示详细的TiDBDashboard版本信息#679显示不受支持的浏览器或过时的浏览器的兼容性通知#654支持在SQL语句分析页面搜索

TiDB 4.0.3 现已发布,该版本具体更新内容如下:

新功能

  • TiDB Dashboard

    • 显示详细的 TiDB Dashboard 版本信息 #679
    • 显示不受支持的浏览器或过时的浏览器的兼容性通知 #654
    • 支持在 SQL 语句分析页面搜索 #658
  • TiFlash

    • TiFlash proxy 支持文件加密功能
  • Tools

    • Backup & Restore (BR)

      • 支持使用 zstd、lz4、snappy 算法压缩备份文件 #404
    • TiCDC

      • 支持 sink-uri 中配置 Kafka 客户端的 ID #706
      • 支持离线更新同步任务的配置 #699
      • 支持自定义同步任务的 ID #727
      • 支持使用 SSL 加密链接向 MySQL 输出数据 #347
      • 支持输出 Avro 格式的变更数据 #753
      • 支持向 Apache Pulsar 输出变更数据 #751
    • Dumpling

      • 支持自定义 CSV 文件的分隔符和换行符 #116
      • 支持自定义输出文件名格式 #122

改进提升

  • TiDB

    • 增加全局变量 tidb_log_desensitization 来控制在日志中记录 SQL 时是否脱敏 #18581
    • 默认打开 tidb_allow_batch_cop #18552
    • 加速 kill tidb sesesion_id 的执行速度 #18505
    • 函数 tidb_decode_plan 的结果增加表头输出 #18501
    • 配置检查器可以兼容旧版本的配置文件 #18046
    • 默认打开执行信息的收集 #18518
    • 增加系统表 tiflash_tables 和 tiflash_segments #18536
    • AUTO RANDOM 被移出实验特性并正式 GA,有如下的改进和兼容性修改:
      • 在配置文件中,将 experimental.allow-auto-random 废弃,该无论该选项如何配置,都可以在列上定义 AUTO_RANDOM 属性 #18613 #18623
      • 为避免显式写入 AUTO_RANDOM 列造成非预期的 AUTO_RANDOM_BASE 的更新,新增 session 变量 tidb_allow_auto_random_explicit_insert 用于控制 AUTO_RANDOM 列的显式写入,该变量默认值为 false #18508
      • 为避免分配空间被快速消耗,AUTO_RANDOM 列现在仅允许在 BIGINT 和 UNSIGNED BIGINT 列上定义,并将最大的 Shard Bit 数量限制为 15 #18538
      • 当在 BIGINT 列上定义 AUTO_RANDOM 属性,并显示插入负值的整型主键时,将不会再触发 AUTO_RANDOM_BASE 的更新 #17987
      • 当在 UNSIGNED BIGINT 列上定义 AUTO_RANDOM 属性,分配 ID 时将利用整数的最高位以获得更大的分配空间 #18404
      • 在 SHOW CREATE TABLE 的结果中支持 AUTO_RANDOM_BASE 属性的更新 #18316
  • TiKV

    • 添加了新的配置项 backup.num-threads 用语控制 backup 线程池的大小 #8199
    • 收取 snapshot 时不再发送 store heartbeat #8136
    • 支持动态调整 shared block cache 的大小 #8232
  • PD

    • 支持 JSON 格式日志 #2565
  • TiDB Dashboard

    • 优化 key Visualizer 中冷表的 bucket 合并 #674
    • 重命名配置项 disable-telemetry 以使遥测更一致 #684
    • 切换页面时显示进度条 #661
    • 保证慢日志查询和日志查询行为的一致性,即使在空格存在的情况 #682
  • TiFlash

    • 将 Grafana DDL Jobs 面板中的单位修改为 operations per minute
    • 在 Grafana 中新增关于 TiFlash-Proxy 的详细监控指标面板
    • 降低 TiFlash Proxy 的 IOPS
  • Tools

    • TiCDC

      • 将监控指标总的表 ID 替换为表名 #695
    • Backup & Restore (BR)

      • 支持输出 JSON 格式的日志 #336
      • 支持在运行 BR 期间动态开启 pprof #372
      • 加速恢复时 DDL 的执行速度 #377
    • TiDB Lightning

      • 使用一种更加简单易懂的表过滤机制替换原先的黑白名单机制 #332

Bug 修复

  • TiDB

    • 当 IndexHashJoin 遇到执行中发生非内存相关的错误时,返回错误而不是空结果集 #18586
    • 修复 gRPC transportReader 导致的反复异常 #18562
    • 修复因为 Green GC 不会扫描已下线 store 上的锁而可能导致数据不完整的问题 #18550
    • 非只读语句不会使用 TiFlash 引擎 #18534
    • 当查询连接异常时返回真实的错误信息 #18500
    • 修复非 repair mode 的 TiDB 节点不会重新读取修复的表元信息的错误 #18323
    • 修复当锁住的 primary key 在当前事务被插入/删除时可能造成的结果不一致问题 #18291
    • 修复数据落盘为正确生效导致的内存溢出 #18288
    • 修复 REPLACE INTO 语句作用在包含生成列的表时会错误报错的问题 #17907
    • 当 IndexHashJoin 及 IndexMergeJoin 执行异常时抛出 Out Of Memory Quota! 错误 #18527
    • 修复当 Index Join 使用的索引包含整型主键时,特殊情况下执行结果可能出错的问题 #18565
    • 修复当开启 new collation 时,若在事务内的更新涉及了 new collation 列,并在该事务内通过唯一索引读取更新数据时,被更新的数据无法被读取到的问题 #18703
  • TiKV

    • 修复 merge 期间可能读到过期数据的问题 #8113
    • 修复聚合函数 min/max 下推到 TiKV 时,collation 不能正确工作的问题 #8108
  • PD

    • 修复如果服务器崩溃,创建 TSO 流可能会被阻塞一段时间的问题 #2648
    • 修复 getSchedulers 可能导致数据争用的问题 #2638
    • 修复删除 scheduler 时导致死锁的问题 #2637
    • 修复 balance-leader-scheduler 没有考虑 placement rule 的问题 #2636
    • 修复有时无法正确设置 safepoint 的问题,这可能会使 BR 和 dumpling 失败 #2635
    • 修复 hot region scheduler 中目标 store 选择错误的问题 #2627
    • 修复 PD Leader 切换时 TSO 请求可能花费太长时间的问题 #2622
    • 修复 PD Leader 切换后过期 scheduler 的问题 #2608
    • 修复了启用 placement rule 时,有时 Region 的副本可能无法调整到最佳位置的问题 #2605
    • 修复了存储的部署路径不会随着部署目录移动而更新的问题 #2600
    • 修复了 store limit 可能为零的问题 #2588
  • TiDB Dashboard

    • 修复 TiDB 扩容时的 TiDB 连接错误 #689
    • 修复 TiFlash 实例未显示在日志搜索页面的问题 #680
    • 修复概况页面刷新之后 metrics 会重置的问题 #663
    • 修复某些 TLS 方案中的连接问题 #660
    • 修复在某些情况下无法正确显示语言的下拉列表 #677
  • TiFlash

    • 修复更改主键列名后 TiFlash 崩溃的问题
    • 修复 Learner Read 与 Remove Region 并发时可能的死锁问题
  • Tools

    • TiCDC

      • 解决了某些场景下可能发生的 OOM 问题 #704
      • 解决了某些特殊表名可能导致 SQL 语法出错的问题 #676
      • 解决了同步任务处理单元无法正常退出的问题 #693
    • Backup & Restore (BR)

      • 解决了备份汇总报告中时间为负数的问题 #405
    • Dumpling

      • 解决了 NULL 值在有 --r 参数时被忽略的问题 #119
      • 解决了导出数据时 flush table 没有正常工作的问题 #117
    • TiDB Lightning

      • 解决了 --log-file 参数不生效的问题 #345
    • TiDB Binlog

      • 修复开启 TLS 写下游时用来保存 checkpoint 的 DB 没有开启 TLS 导致 Drainer 无法启动的问题 #988

更新说明:https://pingcap.com/docs-cn/stable/releases/release-4.0.3/


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 我们


推荐阅读
  • 基于PgpoolII的PostgreSQL集群安装与配置教程
    本文介绍了基于PgpoolII的PostgreSQL集群的安装与配置教程。Pgpool-II是一个位于PostgreSQL服务器和PostgreSQL数据库客户端之间的中间件,提供了连接池、复制、负载均衡、缓存、看门狗、限制链接等功能,可以用于搭建高可用的PostgreSQL集群。文章详细介绍了通过yum安装Pgpool-II的步骤,并提供了相关的官方参考地址。 ... [详细]
  • ALTERTABLE通过更改、添加、除去列和约束,或者通过启用或禁用约束和触发器来更改表的定义。语法ALTERTABLEtable{[ALTERCOLUMNcolu ... [详细]
  • MyBatis多表查询与动态SQL使用
    本文介绍了MyBatis多表查询与动态SQL的使用方法,包括一对一查询和一对多查询。同时还介绍了动态SQL的使用,包括if标签、trim标签、where标签、set标签和foreach标签的用法。文章还提供了相关的配置信息和示例代码。 ... [详细]
  • 合并列值-合并为一列问题需求:createtabletab(Aint,Bint,Cint)inserttabselect1,2,3unionallsel ... [详细]
  • 本文介绍了使用Spark实现低配版高斯朴素贝叶斯模型的原因和原理。随着数据量的增大,单机上运行高斯朴素贝叶斯模型会变得很慢,因此考虑使用Spark来加速运行。然而,Spark的MLlib并没有实现高斯朴素贝叶斯模型,因此需要自己动手实现。文章还介绍了朴素贝叶斯的原理和公式,并对具有多个特征和类别的模型进行了讨论。最后,作者总结了实现低配版高斯朴素贝叶斯模型的步骤。 ... [详细]
  • 本文介绍了Oracle数据库中tnsnames.ora文件的作用和配置方法。tnsnames.ora文件在数据库启动过程中会被读取,用于解析LOCAL_LISTENER,并且与侦听无关。文章还提供了配置LOCAL_LISTENER和1522端口的示例,并展示了listener.ora文件的内容。 ... [详细]
  • 本文详细介绍了如何使用MySQL来显示SQL语句的执行时间,并通过MySQL Query Profiler获取CPU和内存使用量以及系统锁和表锁的时间。同时介绍了效能分析的三种方法:瓶颈分析、工作负载分析和基于比率的分析。 ... [详细]
  • Python SQLAlchemy库的使用方法详解
    本文详细介绍了Python中使用SQLAlchemy库的方法。首先对SQLAlchemy进行了简介,包括其定义、适用的数据库类型等。然后讨论了SQLAlchemy提供的两种主要使用模式,即SQL表达式语言和ORM。针对不同的需求,给出了选择哪种模式的建议。最后,介绍了连接数据库的方法,包括创建SQLAlchemy引擎和执行SQL语句的接口。 ... [详细]
  • JDK源码学习之HashTable(附带面试题)的学习笔记
    本文介绍了JDK源码学习之HashTable(附带面试题)的学习笔记,包括HashTable的定义、数据类型、与HashMap的关系和区别。文章提供了干货,并附带了其他相关主题的学习笔记。 ... [详细]
  • 一句话解决高并发的核心原则
    本文介绍了解决高并发的核心原则,即将用户访问请求尽量往前推,避免访问CDN、静态服务器、动态服务器、数据库和存储,从而实现高性能、高并发、高可扩展的网站架构。同时提到了Google的成功案例,以及适用于千万级别PV站和亿级PV网站的架构层次。 ... [详细]
  • Whatsthedifferencebetweento_aandto_ary?to_a和to_ary有什么区别? ... [详细]
  • 本文介绍了一个适用于PHP应用快速接入TRX和TRC20数字资产的开发包,该开发包支持使用自有Tron区块链节点的应用场景,也支持基于Tron官方公共API服务的轻量级部署场景。提供的功能包括生成地址、验证地址、查询余额、交易转账、查询最新区块和查询交易信息等。详细信息可参考tron-php的Github地址:https://github.com/Fenguoz/tron-php。 ... [详细]
  • 在Oracle11g以前版本中的的DataGuard物理备用数据库,可以以只读的方式打开数据库,但此时MediaRecovery利用日志进行数据同步的过 ... [详细]
  • MySQL中的MVVC多版本并发控制机制的应用及实现
    本文介绍了MySQL中MVCC的应用及实现机制。MVCC是一种提高并发性能的技术,通过对事务内读取的内存进行处理,避免写操作堵塞读操作的并发问题。与其他数据库系统的MVCC实现机制不尽相同,MySQL的MVCC是在undolog中实现的。通过undolog可以找回数据的历史版本,提供给用户读取或在回滚时覆盖数据页上的数据。MySQL的大多数事务型存储引擎都实现了MVCC,但各自的实现机制有所不同。 ... [详细]
  • GreenDAO快速入门
    前言之前在自己做项目的时候,用到了GreenDAO数据库,其实对于数据库辅助工具库从OrmLite,到litePal再到GreenDAO,总是在不停的切换,但是没有真正去了解他们的 ... [详细]
author-avatar
boybeta
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有