Skip to content

Commit

Permalink
draft highlighted features
Browse files Browse the repository at this point in the history
  • Loading branch information
songrijie committed Nov 18, 2024
1 parent 1942a5b commit 80ae0fc
Showing 1 changed file with 101 additions and 0 deletions.
101 changes: 101 additions & 0 deletions releases/release-8.5.0.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,107 @@ TiDB 8.5.0 为长期支持版本 (Long-Term Support Release, LTS)。

<!--Highlights table: ToDo-->


<table>
<thead>
<tr>
<th>分类</th>
<th>功能</th>
<th>描述</th>
</tr>
</thead>
<tbody>
<tr>
<td rowspan="6">可扩展性与性能</td>
<td> 多维度降低数据处理延迟 </td>
<td>通过不断挖掘数据处理的细节,TiDB 持续提升自身性能,力求满足金融场景对 SQL 处理时延的要求。 包括以下关键更新:
<li> 并行排序 (v8.2.0 引入) </li>
<li> 优化 KV 请求批处理策略 (v8.3.0 引入) </li>
<li> 并行获取 TSO (v8.4.0 引入) </li>
<li> 删除语句只获取必要的列 (v8.4.0 引入) </li>
<li> 优化缓存表场景性能 (v8.4.0 引入) </li>
<li> Hash Join 算法演进 (v8.4.0 引入) </li>
</td>
</tr>
<tr>
<td>Active PD Follower 成为正式功能</td>
<td>TiDB v7.6.0 引入了 Active PD Follower 特性,允许 PD follower 提供 Region 信息查询服务。在 TiDB 节点数量较多和 Region 数量较多的集群中,该特性可以提升 PD 集群处理 <code>GetRegion</code>、<code>ScanRegions</code> 请求的能力,减轻 PD leader 的 CPU 压力。在 v8.5.0,Active PD Follower 成为正式功能。</td>
</tr>
<tr>
<td>实例级执行计划缓存(实验特性)(v8.4.0 引入)</td>
<td>实例级执行计划缓存允许同一个 TiDB 实例的所有会话共享执行计划缓存。与现有的会话级执行计划缓存相比,实例级执行计划缓存能够在内存中缓存更多执行计划,减少 SQL 编译时间,从而降低 SQL 整体运行时间,提升 OLTP 的性能和吞吐,同时更好地控制内存使用,提升数据库稳定性。</td>
</tr>
<tr>
<td>分区表全局索引(v8.4.0 成为正式功能)</td>
<td>全局索引可以有效提高检索非分区列的效率,并且消除了唯一键必须包含分区键的限制。该功能扩展了 TiDB 分区表的使用场景,避免了数据迁移过程中的一些应用修改工作。</td>
</tr>
<tr>
<td>默认允许将 Projection 算子下推到存储引擎 )(v8.3.0 引入)</td>
<td> <code>Projection</code> 算子下推可以将负载分散到存储节点,同时减少节点间的数据传输。这有助于降低部分 SQL 的执行时间,提升数据库的整体性能。</td>
</tr>
<tr>
<td>统计信息收集忽略不必要的列(v8.3.0 引入)</td>
<td> 在保证优化器能够获取到必要信息的前提下,加快了统计信息收集的速度,提升统计信息的时效性,进而保证选择最优的执行计划,提升集群性能。同时也降低了系统开销,改善了资源利用率。</td>
</tr>
<tr>
<td rowspan="6">稳定性与高可用</td>
<td>提升超大规模集群的稳定性</td>
<td>对于使用 TiDB 运行多租户应用或者 SaaS 应用的公司,经常需要存储大量的表,TiDB 在 v8.5.0 着力增强了大规模集群的稳定性。 Schema 缓存控制,Stats 缓存控制已经成为正式功能,减少了内存过度消耗带来的稳定性问题。 PD 通过 Active Follower 应对大量 Region 带来的压力,并将 PD 所承担的服务逐步解耦,独立部署。通过增加并发度,以及减少收集对象的数量,统计信息收集和加载效率得到提升,保证了大集群执行计划的稳定性。</td>
</tr>
<tr>
<td>Runaway Queries 支持更多触发条件,并能够切换资源组 (v8.4.0 引入)</td>
<td>Runaway Queries 提供了有效的手段来降低突发的 SQL 性能问题对系统产生的影响。v8.4.0 中新增 Coprocessor 处理的 Key 的数量 (PROCESSED_KEYS) 和 Request Unit (RU) 作为识别条件,并可以将识别到的查询置入指定资源组,对 Runaway Queries 进行更精确的识别与控制。</td>
</tr>
<tr>
<td>支持为资源管控的后台任务设置资源使用上限 (实验特性)(v8.4.0 引入)</td>
<td>为资源管控的后台任务设置百分比上限,针对不同业务系统的需求,控制后台任务的消耗,从而将后台任务的消耗限制在一个很低的水平,保证在线业务的服务质量。</td>
</tr>
<tr>
<td>增强并扩展 TiProxy 的使用场景</td>
<td>作为 TiDB 高可用的重要组成,TiProxy 在做好 SQL 流量接入和转发的同时,开始尝试对集群变更进行评估。主要包括:
<li> TiProxy 流量捕获和回放(实验特性)(v8.4.0 引入)</li>
<li> TiProxy 内置虚拟 IP 管理(v8.3.0 引入)</li>
<li> TiProxy 支持多种负载均衡策略 (v8.2.0 引入)</li>
</td>
</tr>
<tr>
<td>统计信息收集忽略不必要的列(v8.3.0 引入)</td>
<td>在保证优化器能够获取到必要信息的前提下,加快了统计信息收集的速度,提升统计信息的时效性,进而保证选择最优的执行计划,提升集群性能。同时也降低了系统开销,改善了资源利用率。</td>
</tr>
<tr>
<td>并行 HashAgg 算法支持数据落盘成为正式功能 (GA) (v8.2.0 引入)</td>
<td>HashAgg 是 TiDB 中常用的聚合算子,用于快速聚合具有相同字段值的行。TiDB v8.0.0 引入并行 HashAgg 作为实验特性,以进一步提升处理速度。当内存资源不足时,并行 HashAgg 可以将临时排序数据落盘,避免因内存使用过度而导致的 OOM 风险,从而提升查询性能和节点稳定性。该功能在 v8.2.0 成为正式功能,并默认开启,用户可以通过 <code>tidb_executor_concurrency</code> 安全地设置并行 HashAgg 的并发度。</td>
</tr>
<tr>
<td rowspan="2"> SQL </td>
<td>外键约束成为正式功能</td>
<td>外键(Foreign Key)是数据库中的一种约束,用于建立表与表之间的关联关系,确保数据一致性和完整性。它可以限制子表中引用的数据必须存在于主表中,防止无效数据插入。同时,外键支持级联操作(如删除或更新时自动同步),简化了业务逻辑的实现,减少了手动维护数据关联的复杂性。</td>
</tr>
<tr>
<td>支持向量搜索功能(实验特性)(v8.4.0 引入)</td>
<td>向量搜索是一种基于数据语义的搜索方法,可以提供更相关的搜索结果。作为 AI 和大语言模型 (LLM) 的核心功能之一,向量搜索可用于检索增强生成 (Retrieval-Augmented Generation, RAG)、语义搜索、推荐系统等多种场景。</td>
</tr>
<tr>
<td rowspan="3">数据库管理与可观测性</td>
<td>在内存表中显示 TiKV 和 TiDB 的 CPU 时间 (v8.4.0 引入)</td>
<td>将 CPU 时间合入系统表中展示,与会话或 SQL 的其他指标并列,方便你从多角度对高 CPU 消耗的操作进行观测,提升诊断效率。尤其适用于诊断实例 CPU 飙升或集群读写热点等场景。</td>
</tr>
<tr>
<td>按表或数据库维度聚合 TiKV 消耗的 CPU 时间(v8.4.0 引入)</td>
<td>当热点问题不是由个别 SQL 语句引起时,利用 Top SQL 中按表或者数据库聚合的 CPU 时间,能够协助用户快速发现造成热点的表或者应用程序,从而大大提升热点问题和 CPU 消耗问题的诊断效率。</td>
</tr>
<tr>
<td>支持对开启了 IMDSv2 服务的 TiKV 实例做备份 (v8.4.0 引入)</td>
<td>目前 AWS EC2 的默认元数据服务是 IMDSv2。TiDB 支持从开启了 IMDSv2 的 TiKV 实例中备份数据,协助你更好地在公有云服务中运行 TiDB 集群。</td>
</tr>
<tr>
<td rowspan="1">安全</td>
<td>日志备份数据支持客户端加密</td>
<td>在上传日志备份到备份存储之前,你可以对日志备份数据进行加密,确保数据在存储和传输过程中的安全性。</td>
</tr>
</tbody>
</table>

## 功能详情

### 可扩展性
Expand Down

0 comments on commit 80ae0fc

Please sign in to comment.