TiDB 3.0.4  发布,分布式 NewSQL 数据库

栏目: 软件资讯 · 发布时间: 7年前

内容简介:TiDB 3.0.4 已经发布,内容如下: 新特性 新增系统表 performance_schema.events_statements_summary_by_digest,用于排查 SQL 级别的性能问题 TiDB 的 SHOW TABLE REGIONS 语法新增 WHERE 条件子句 Reparo 新增 ...

TiDB 3.0.4 已经发布,内容如下:

  • 新特性
    • 新增系统表 performance_schema.events_statements_summary_by_digest,用于排查 SQL 级别的性能问题
    • TiDB 的 SHOW TABLE REGIONS 语法新增 WHERE 条件子句
    • Reparo 新增 worker-count 和 txn-batch 配置项,用于控制恢复速率
  • 改进提升
    • TiKV 支持批量 Split 和空的 Split 命令,使得 Split 可以批量进行
    • TiKV 添加 RocksDB 双向链表支持,提升逆序扫性能
    • Ansible 新增 iosnoop 和 funcslower 两个 perf 工具,方便诊断集群状态
    • TiDB 优化慢日志输出内容,删除冗余字段
  • 行为变更
    • TiDB 修改 txn-local-latches.enable 默认值为 false,默认不启用本地事务冲突检测
    • TiDB 添加全局作用域系统变量 tidb_txn_mode,并默认允许使用悲观锁,请注意默认情况下,TiDB 仍然使用乐观锁
    • TiDB 慢日志中的 Index_ids 字段替换为 Index_names 字段,提升慢日志易用性
    • TiDB 配置文件中添加 split-region-max-num 参数,用于调整 SPLIT TABLE 语法允许的最大 Region 数量
    • TiDB 修改 SQL 超出内存限制后的行为,从断开链接修改为返回 Out Of Memory Quota 错误
    • 为避免误操作,TiDB 默认不再允许删除列的 AUTO_INCREMENT 属性,当确实需要删除时,请更改系统变量 tidb_allow_remove_auto_inc
  • 问题修复
    • TiDB 修复特殊语法 PRE_SPLIT_REGIONS 没有使用注释的方式向下游同步的问题
    • TiDB 修复使用游标获取 PREPARE + EXECUTE 执行结果时,慢日志不正确的问题
    • PD 修复相邻小 Region 无法 Merge 的问题
    • TiKV 修复空闲集群中文件描述符泄漏导致长期运行可能会引起 TiKV 进程异常退出的问题

TiDB

  • SQL 优化器
    • 修复 Feedback 切分查询范围出错的问题 #12170
    • 修改当 SHOW STATS_BUCKETS 结果中包含无效 Key 时的行为,将返回错误修改为使用 16 进制显示 #12094
    • 修复查询中包含 SLEEP 函数时(例如 select 1 from (select sleep(1)) t;)),由于列裁剪导致查询中的 sleep(1) 失效的问题 #11953
    • 当查询只关心表的行数而不关心表数据时,使用索引扫描降低 IO #12112
    • 当 use index() 中没有指定索引时不去使用任何索引,和 MySQL 兼容 (如 explain select a from t use index();) #12100
    • 严格限制统计信息 CMSketch 中 TopN 记录的数量,修复快速 analyze 因为超过事务大小限制而失败的问题 #11914
    • 修复 Update 语句包含子查询时,转换子查询出现的错误 #12483
    • 将 Limit 算子下推到 IndexLookUpReader 执行逻辑中优化 select ... limit ... offset ... 的执行性能 #12378
  • SQL 执行引擎
    • PREPARED 语句执行错误时,在日志中打印 SQL 语句 #12191
    • 分区表使用 UNIX_TIMPESTAMP 函数分区时,支持分区裁剪 #12169
    • 修复 AUTO INCREMENT 分配 MAX int64 和 MAX uint64 没有报错的问题 #12162
    • SHOW TABLE … REGIONS 和 SHOW TABLE .. INDEX … REGIONS 语法新增 WHERE 条件子句 #12123
    • 修改 SQL 超出内存限制后的行为,从断开链接修改为返回 Out Of Memory Quota 错误 #12127
    • 修复 JSON_UNQUOTE 函数处理 JSON 文本结果不正确的问题 #11955
    • 修复 INSERT 语句中,第一行中为 AUTO_INCREMENT 列赋值,LAST INSERT ID 不正确的问题(例如 insert into t (pk, c) values (1, 2), (NULL, 3))#12002
    • 修复 PREPARE 语句中,GroupBY 解析规则错误的问题 #12351
    • 修复点查中权限检查不正确的问题 #12340
    • 修复 PREPARE 语句类型没有记录在监控中的问题 #12331
    • 支持点查中表名使用别名(例如 select * from t tmp where a = "aa")#12282
    • 修复向 BIT 类型列插入数值时,值没有作为无符号类型处理而导致插入负数报错的问题 #12423
    • 修复时间取整不正确的问题(例如 2019-09-11 11:17:47.999999666 应该被取整到 2019-09-11 11:17:48)#12258
    • 调整表达式黑名单系统表的用法(例如 < 与 lt 等价)#11975
    • 调整函数不存在的错误消息,添加数据库前缀(例如 [expression:1305]FUNCTION test.std_samp does not exist)#12111
  • Server
    • 慢日志中添加 Prev_stmt 字段,用于最后一条语句是 COMMIT 时输出前一条语句 #12180
    • 优化慢日志输出内容,删除冗余字段 #12144
    • 修改 txn-local-latches.enable 默认值为 false,默认不启用本地事务冲突检测 #12095
    • 将慢日志中的 Index_ids 字段替换为 Index_names 字段,提升慢日志易用性 #12061
    • 添加全局作用域系统变量 tidb_txn_mode,并默认开启悲观锁 #12049
    • 慢日志中添加 Backoff 字段,用来记录 2PC Commit 阶段的 Backoff 信息 #12335
    • 修复使用游标获取 PREPARE + EXECUTE 执行结果时,慢日志不正确的问题(例如 PREPARE stmt1FROM SELECT * FROM t WHERE a > ?; EXECUTE stmt1 USING @variable)#12392
    • 支持使用 tidb_enable_stmt_summary,开启后会对 SQL 语句进行统计,并可以使用系统表 performance_schema.events_statements_summary_by_digest 查询统计结果 #12308
    • 调整了 tikv-client 中部分日志级别(例如由于连接断开使得打印的 batchRecvLoop fails 日志级别由 ERROR 改为 INFO)#12383
  • DDL
    • 新增变量 tidb_allow_remove_auto_inc,默认禁止删除列 AUTO INCREMENT 属性 #12145
    • 修复 TiDB 特殊语法 PRE_SPLIT_REGIONS 没有使用注释的方式向下游同步,导致下游数据库报错的问题 #12120
    • 在配置文件中添加 split-region-max-num 参数,使得 SPLIT TABLE 语法允许的最大 Region 数量可调整,该参数默认值 10000 #12097
    • 支持将一个 Region 切分成多个 Region,并修复打散 Region 超时的问题 #12343
    • 修复当索引包含自增列,并且该自增列被两个索引引用时删除失败的问题 #12344
  • Monitor
    • 增加监控指标 connection_transient_failure_count,用于统计 tikvclient 的 gRPC 连接错误数量 #12093

TiKV

  • Raftstore
    • 修复 Raftstore 统计空 Region 中 key 个数不准确问题 #5414
    • 添加 RocksDB 双向链表支持,提升逆序扫性能 #5368
    • 支持 PD 批量 Split 和空的 Split 命令, 使得 Split 可以批量进行,提高 Split 效率 #5470
  • Server
    • 修复查看版本命令的输出格式与 2.X 格式不一致的问题 #5501
    • 更新 Titan 至 3.0 分支最新版本 #5517
    • 更新 grpcio 至 v0.4.5 版本 #5523
    • 修复 gRPC coredump 问题,支持内存共享,以避免此处引起 OOM #5524
    • 修复空闲集群中文件描述符泄漏导致长期运行可能会引起 TiKV 进程异常退出的问题 #5567
  • Storage
    • 支持悲观锁事务心跳检测 API,以使得 TiDB 的悲观锁行为与 MySQL 尽量一致 #5507
    • 修复部分情况下点查性能较低的问题 #5495 #5463

PD

  • 修复相邻小 Region 无法 Merge 的问题 #1726
  • 修复 pd-ctl 的 TLS 启用参数失效问题 #1738
  • 修复可能导致 PD operator 被意外移除的线程安全问题 #1734
  • Region syncer 支持 TLS #1739

Tools

  • TiDB Binlog
    • Reparo 新增 worker-count 和 txn-batch 配置项,用于控制恢复速率 #746
    • Drainer 优化内存使用,提升同步执行效率 #737
  • TiDB Lightning
    • 修复从 checkpoint 点重新导入可能会导致 TiDB Lightning 崩溃的问题 #237
    • 修改计算 AUTO_INCREMENT 的算法,降低溢出的风险 #227

TiDB Ansible

  • 更新 TiSpark 版本至 2.2.0 #926
  • 更新 TiDB 配置项 pessimistic_txn 的默认值为 true #933
  • 新增更多系统级别监控到 node_exporter #938
  • 新增 iosnoop 和 funcslower 两个 perf 工具,方便诊断集群状态 #946
  • Ansible 的 Raw 模块更新成 Shell 模块,解决密码过期等场景发生的长时间等待问题 #949
  • 更新 TiDB 配置项 txn_local_latches 的默认值为 false
  • 优化 Grafana dashboard 监控项和告警规则 #962 #963 #969
  • 新增配置文件检查功能,在部署和升级之前检查配置文件是否正确 #934 #972

详情见发布说明:

https://pingcap.com/docs-cn/v3.0/releases/3.0.4/


以上所述就是小编给大家介绍的《TiDB 3.0.4  发布,分布式 NewSQL 数据库》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。

Building Web Reputation Systems

Building Web Reputation Systems

Randy Farmer、Bryce Glass / Yahoo Press / 2010 / GBP 31.99

What do Amazon's product reviews, eBay's feedback score system, Slashdot's Karma System, and Xbox Live's Achievements have in common? They're all examples of successful reputation systems that enable ......一起来看看 《Building Web Reputation Systems》 这本书的介绍吧!

URL 编码/解码
URL 编码/解码

URL 编码/解码

XML、JSON 在线转换
XML、JSON 在线转换

在线XML、JSON转换工具