乐趣区

TiDB 3.0.0 Beta.1 Release Notes

2019 年 03 月 26 日,TiDB 发布 3.0.0 Beta.1 版,对应的 TiDB-Ansible 版本为 3.0.0 Beta。相比 3.0.0 Beta 版本,该版本对系统稳定性、易用性、功能、优化器、统计信息以及执行引擎做了很多改进。
TiDB

SQL 优化器

支持使用 Sort Merge Join 计算笛卡尔积
支持 Skyline Pruning,用一些规则来防止执行计划过于依赖统计信息

支持 Window Functions

NTILE

LEAD 和 LAG

PERCENT_RANK
NTH_VALUE
CUME_DIST

FIRST_VALUE 和 LAST_VALUE

RANK 和 DENSE_RANK

RANGE FRAMED
ROW FRAMED
ROW NUMBER

增加了一类统计信息,表示列和 handle 列之间顺序的相关性

SQL 执行引擎

增加内建函数

JSON_QUOTE
JSON_ARRAY_APPEND
JSON_MERGE_PRESERVE
BENCHMARK
COALESCE
NAME_CONST

根据查询上下文优化 Chunk 大小,降低 SQL 执行时间和集群的资源消耗

权限管理

支持 SET ROLE 和 CURRENT_ROLE

支持 DROP ROLE

支持 CREATE ROLE

Server

新增 /debug/zip HTTP 接口,获取当前 TiDB 实例的信息
支持使用 show pump status/show drainer status 语句查看 Pump/Drainer 状态
支持使用 SQL 语句在线修改 Pump/Drainer 状态
支持给 SQL 文本加上 HASH 指纹,方便追查慢 SQL
新增 log_bin 系统变量,默认:0,管理 binlog 开启状态,当前仅支持查看状态
支持通过配置文件管理发送 binlog 策略
支持通过内存表 INFORMATION_SCHEMA.SLOW_QUERY 查询慢日志
将 TiDB 显示的 MySQL Version 从 5.7.10 变更为 5.7.25
统一日志格式规范,利于工具收集分析
增加监控项 high_error_rate_feedback_total,记录实际数据量与统计信息估算数据量差距情况
新增 Database 维度的 QPS 监控项 , 可以通过配置项开启

DDL

增加 ddl_error_count_limit 全局变量,默认值:512,限制 DDL 任务重试次数,超过限制次数会取消出错的 DDL
支持 ALTER ALGORITHM INPLACE/INSTANT

支持 SHOW CREATE VIEW 语句
支持 SHOW CREATE USER 语句

PD

统一日志格式规范,利于工具收集分析

模拟器

支持不同 store 可采用不同的心跳间隔时间
添加导入数据的场景

热点调度可配置化
增加 store 地址为维度的监控项,代替原有的 Store ID
优化 GetStores 开销,加快 Region 巡检周期
新增删除 Tombstone Store 的接口

TiKV
优化 Coprocessor 计算执行框架,完成 TableScan 算子,单 TableScan 即扫表操作性能提升 5% ~ 30%
实现行 BatchRows 和列 BatchColumn 的定义
– 实现 `VectorLike` 使得编码和解码的数据能够用统一的方式访问
– 定义 `BatchExecutor` 接口,实现将请求转化为 `BatchExecutor` 的方法
– 实现将表达式树转化成 RPN 格式
– TableScan 算子实现为 Batch 方式,通过向量化计算加速计算

统一日志格式规范,利于工具收集分析
支持 Raw Read 接口使用 Local Reader 进行读
新增配置信息的 Metrics
新增 Key 越界的 Metrics
新增碰到扫越界错误时 Panic 或者报错选项
增加 Insert 语义,只有在 Key 不存在的时候 Prewrite 才成功,消除 Batch Get
Batch System 使用更加公平的 batch 策略
tikv-ctl 支持 Raw scan

Tools

TiDB-Binlog

新增 Arbiter 工具支持从 Kafka 读取 binlog 同步到 MySQL
Reparo 支持过滤不需要同步的文件
支持同步 generated column

Lightning

支持禁用 TiKV periodic Level-1 compaction,当 TiKV 集群为 2.1.4 或更高时,在导入模式下会自动执行 Level-1 compaction
根据 table_concurrency 配置项限制 import engines 数量,默认值:16,防止过多占用 importer 磁盘空间
支持保存中间状态的 SST 到磁盘,减少内存使用
优化 TiKV-Importer 导入性能,支持将大表的数据和索引分离导入
支持 CSV 文件导入

数据同步对比工具 (sync-diff-inspector)

支持使用 TiDB 统计信息来划分对比的 chunk
支持使用多个 column 来划分对比的 chunk

Ansible
N/A

退出移动版