Skip to content

Commit

Permalink
Merge pull request #787 from CaitinChen/add-release-notes-for-21beta
Browse files Browse the repository at this point in the history
releases, readme: add the release notes for 2.1 beta
  • Loading branch information
lilin90 authored Jun 30, 2018
2 parents 41d35bb + 63533ef commit a1ea678
Show file tree
Hide file tree
Showing 3 changed files with 87 additions and 0 deletions.
1 change: 1 addition & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -118,6 +118,7 @@
- [常见问题与解答(FAQ)](FAQ.md)
- [最佳实践](https://pingcap.com/blog-cn/tidb-best-practice/)
+ [版本发布历史](releases/rn.md)
- [2.1 Beta](releases/21beta.md)
- [2.0.4](releases/204.md)
- [2.0.3](releases/203.md)
- [2.0.2](releases/202.md)
Expand Down
85 changes: 85 additions & 0 deletions releases/21beta.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,85 @@
---
title: TiDB 2.1 Beta Release Notes
category: Releases
---

# TiDB 2.1 Beta Release Notes

2018 年 6 月 29 日,TiDB 发布 2.1 Beta 版。相比 2.0 版本,该版本对系统稳定性、优化器、统计信息以及执行引擎做了很多改进。

## TiDB

- SQL 优化器
- 优化 `Index Join` 选择范围,提升执行性能
- 优化关联子查询,下推 Filter 和扩大索引选择范围,部分查询的效率有数量级的提升
-`UPDATE``DELETE` 语句中支持 `Index Hint``Join Hint`
- 优化器 Hint `TIDM_SMJ` 在没有索引可用的情况下可生效
- 支持更多函数下推:`ABS`/`CEIL`/`FLOOR`/`IS TRUE`/`IS FALSE`
- 在常量折叠过程中特殊处理函数 `IF``IFNULL`
- 优化 `EXPLAIN` 语句输出格式
- SQL 执行引擎
- 实现并行 `Hash Aggregate` 算子,部分场景下能提高 `Hash Aggregate` 计算性能 350%
- 实现并行 `Project` 算子,部分场景下性能提升达 74%
- 并发地读取 `Hash Join``Inner` 表和 `Outer` 表的数据,提升执行性能
- 修复部分场景下 `INSERT … ON DUPLICATE KEY UPDATE …` 结果不正确的问题
- 修复 `CONCAT_WS`/`FLOOR`/`CEIL`/`DIV` 内建函数的结果不正确的问题
- Server
- 添加 HTTP API 打散 table 的 Regions 在 TiKV 集群中的分布
- 添加 `auto_analyze_ratio` 系统变量控制自动 analyze 的阈值
- 添加 HTTP API 控制是否打开 `general log`
- 添加 HTTP API 在线修改日志级别
-`general log``slow query log` 中添加 user 信息
- 支持 Server side cursor
- 兼容性
- 支持更多 MySQL 语法
- `BIT` 聚合函数支持 `ALL` 参数
- 支持 `SHOW PRIVILEGES` 语句
- DML
- 减少 `INSERT INTO SELECT` 语句的内存占用
- 修复 Plan Cache 的性能问题
- 添加 `tidb_retry_limit` 系统变量控制事务自动重试的次数
- 添加 `tidb_disable_txn_auto_retry` 系统变量控制事务是否自动重试
- 修复写入 `time` 类型的数据精度问题
- 支持本地冲突事务排队,优化冲突事务性能
- 修复 `UPDATE` 语句的 `Affected Rows`
- 优化 `insert ignore on duplicate key update` 语句性能
- 优化 `Create Table` 语句的执行速度
- 优化 `Add index` 的速度,在某些场景下速度大幅提升
- 修复 `Alter table add column` 增加列超过表的列数限制的问题
- 修复在某些异常情况下 DDL 任务重试导致 TiKV 压力增加的问题
- 修复在某些异常情况下 TiDB 不断重载 Schema 信息的问题
- DDL
- `Show Create Table` 不再输出外键相关的内容
- 支持 `select tidb_is_ddl_owner()` 语句,方便判断 TiDB 是否为 `DDL Owner`
- 修复某些场景下 `YEAR` 类型删除索引的问题
- 修复并发执行场景下的 `Rename table` 的问题
- 支持 `ALTER TABLE FORCE` 语法
- 支持 `ALTER TABLE RENAME KEY TO` 语法
- `admin show ddl jobs` 输出信息中添加表名、库名等信息

## PD

- PD 节点间开启 `Raft PreVote`,避免网络隔离后恢复时产生的重新选举
- 优化 Balance Scheduler 频繁调度小 Region 的问题
- 优化热点调度器,在流量统计信息抖动时适应性更好
- `region merge` 调度时跳过数据行数较多的 Region
- 默认开启 `raft learner` 功能,降低调度时出现宕机导致数据不可用的风险
- `pd-recover` 移除 max-replica 参数
- 增加 `Filter `相关的 metrics
- 修复 tikv-ctl unsafe recovery 之后 Region 信息没更新的问题
- 修复某些场景下副本迁移导致 TiKV 磁盘空间耗尽的问题
- 兼容性提示
- 由于新版本存储引擎更新,不支持在升级后回退至 2.0.x 或更旧版本
- 新版本默认开启 `raft learner` 功能,如果从 1.x 版本集群升级至 2.1 版本,须停机升级或者先滚动升级 TiKV,完成后再滚动升级 PD

## TiKV

- 升级 Rust 到 `nightly-2018-06-14` 版本
- 开启 `PreVote`,避免网络隔离后恢复时产生的重新选举
- 添加 metric,显示 RocksDB 内部每层的文件数和 `ingest` 相关的信息
- GC 运行时打印版本太多的 `key`
- 使用 `static metric` 优化多 label metric 性能(YCSB raw get 提升 3%)
- 去掉多个模块的 `box`,使用范型提升运行时性能(YCSB raw get 提升 3%)
- 使用 `asynchronous log` 提升写日志性能
- 增加收集线程状态的 metric
- 通过减少程序中 `box` 的使用来减少内存拷贝的次数,提升性能
1 change: 1 addition & 0 deletions releases/rn.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ category: release

TiDB 历史版本发布声明如下:

- [2.1 Beta](21beta.md)
- [2.0.4](204.md)
- [2.0.3](203.md)
- [2.0.2](202.md)
Expand Down

0 comments on commit a1ea678

Please sign in to comment.