- aliases: [‘/docs-cn/releases/3.0.0-beta.1/‘]
- TiDB 3.0.0 Beta.1 Release Notes
- Overview
- TiDB
- PD
- TiKV
- Tools
title: TiDB 3.0.0 Beta.1 Release Notescategory: Releases
aliases: [‘/docs-cn/releases/3.0.0-beta.1/‘]
TiDB 3.0.0 Beta.1 Release Notes
发版日期:2019 年 3 月 26 日
TiDB 版本:3.0.0-beta.1
TiDB-Ansible 版本:3.0.0-beta.1
Overview
2019 年 03 月 26 日,TiDB 发布 3.0.0 Beta.1 版,对应的 TiDB-Ansible 版本为 3.0.0 Beta.1。相比 3.0.0 Beta 版本,该版本对系统稳定性、易用性、功能、优化器、统计信息以及执行引擎做了很多改进。
TiDB
- SQL 优化器
- 支持使用 Sort Merge Join 计算笛卡尔积 #9032
- 支持 Skyline Pruning,用一些规则来防止执行计划过于依赖统计信息 #9337
- 支持 Window Functions
NTILE
#9682LEAD
和LAG
#9672PERCENT_RANK
#9671NTH_VALUE
#9596CUME_DIST
#9619FIRST_VALUE
和LAST_VALUE
#9560RANK
和DENSE_RANK
#9500RANGE FRAMED
#9450ROW FRAMED
#9358ROW NUMBER
#9098
- 增加了一类统计信息,表示列和 handle 列之间顺序的相关性 #9315
- SQL 执行引擎
- 增加内建函数
JSON_QUOTE
#7832JSON_ARRAY_APPEND
#9609JSON_MERGE_PRESERVE
#8931BENCHMARK
#9252COALESCE
#9087NAME_CONST
#9261
- 根据查询上下文优化 Chunk 大小,降低 SQL 执行时间和集群的资源消耗 #6489
- 增加内建函数
- 权限管理
- 支持
SET ROLE
和CURRENT_ROLE
#9581 - 支持
DROP ROLE
#9616 - 支持
CREATE ROLE
#9461
- 支持
- Server
- 新增
/debug/zip
HTTP 接口,获取当前 TiDB 实例的信息 #9651 - 支持使用
show pump status
/show drainer status
语句查看 Pump/Drainer 状态 #9456 - 支持使用 SQL 语句在线修改 Pump/Drainer 状态 #9789
- 支持给 SQL 文本加上 HASH 指纹,方便追查慢 SQL #9662
- 新增
log_bin
系统变量,默认:0,管理 binlog 开启状态,当前仅支持查看状态 #9343 - 支持通过配置文件管理发送 binlog 策略 #9864
- 支持通过内存表
INFORMATION_SCHEMA.SLOW_QUERY
查询慢日志 #9290 - 将 TiDB 显示的 MySQL Version 从 5.7.10 变更为 5.7.25 #9553
- 统一日志格式规范,利于工具收集分析
- 增加监控项
high_error_rate_feedback_total
,记录实际数据量与统计信息估算数据量差距情况 #9209 - 新增 Database 维度的 QPS 监控项 , 可以通过配置项开启 #9151
- 新增
- DDL
- 增加
ddl_error_count_limit
全局变量,默认值:512,限制 DDL 任务重试次数,超过限制次数会取消出错的 DDL #9295 - 支持 ALTER ALGORITHM
INPLACE
/INSTANT
#8811 - 支持
SHOW CREATE VIEW
语句 #9309 - 支持
SHOW CREATE USER
语句 #9240
- 增加
PD
- 统一日志格式规范,利于工具收集分析
- 模拟器
- 支持不同 store 可采用不同的心跳间隔时间 #1418
- 添加导入数据的场景 #1263
- 热点调度可配置化 #1412
- 增加 store 地址为维度的监控项,代替原有的 Store ID #1429
- 优化
GetStores
开销,加快 Region 巡检周期 #1410 - 新增删除 Tombstone Store 的接口 #1472
TiKV
- 优化 Coprocessor 计算执行框架,完成 TableScan 算子,单 TableScan 即扫表操作性能提升 5% ~ 30%实现行
BatchRows
和列BatchColumn
的定义 #3660- 实现
VectorLike
使得编码和解码的数据能够用统一的方式访问 #4242 - 定义
BatchExecutor
接口,实现将请求转化为BatchExecutor
的方法 #4243 - 实现将表达式树转化成 RPN 格式 #4329
- TableScan 算子实现为 Batch 方式,通过向量化计算加速计算 #4351
- 实现
- 统一日志格式规范,利于工具收集分析
- 支持 Raw Read 接口使用 Local Reader 进行读 #4222
- 新增配置信息的 Metrics #4206
- 新增 Key 越界的 Metrics #4255
- 新增碰到扫越界错误时 Panic 或者报错选项 #4254
- 增加 Insert 语义,只有在 Key 不存在的时候 Prewrite 才成功,消除 Batch Get #4085
- Batch System 使用更加公平的 batch 策略 #4200
- tikv-ctl 支持 Raw scan #3825
Tools
- TiDB-Binlog
- 新增 Arbiter 工具支持从 Kafka 读取 binlog 同步到 MySQL
- Reparo 支持过滤不需要同步的文件
- 支持同步 generated column
- Lightning
- 支持禁用 TiKV periodic Level-1 compaction,当 TiKV 集群为 2.1.4 或更高时,在导入模式下会自动执行 Level-1 compaction #119,#4199
- 根据
table_concurrency
配置项限制 import engines 数量,默认值:16,防止过多占用 importer 磁盘空间 #119 - 支持保存中间状态的 SST 到磁盘,减少内存使用 #4369
- 优化 TiKV-Importer 导入性能,支持将大表的数据和索引分离导入 #132
- 支持 CSV 文件导入 #111
- 数据同步对比工具 (sync-diff-inspector)
- 支持使用 TiDB 统计信息来划分对比的 chunk #197
- 支持使用多个 column 来划分对比的 chunk #197