Skip to content

Commit

Permalink
tiflash refactor: split use-tiflash into multiple docs (#10424) (#10450)
Browse files Browse the repository at this point in the history
  • Loading branch information
ti-chi-bot authored Aug 15, 2022
1 parent 798314c commit b8c70df
Show file tree
Hide file tree
Showing 28 changed files with 739 additions and 691 deletions.
8 changes: 7 additions & 1 deletion TOC.md
Original file line number Diff line number Diff line change
Expand Up @@ -871,7 +871,13 @@
- [Titan 配置说明](/storage-engine/titan-configuration.md)
- TiFlash
- [TiFlash 简介](/tiflash/tiflash-overview.md)
- [使用 TiFlash](/tiflash/use-tiflash.md)
- [构建 TiFlash 副本](/tiflash/create-tiflash-replicas.md)
- [使用 TiDB 读取 TiFlash](/tiflash/use-tidb-to-read-tiflash.md)
- [使用 TiSpark 读取 TiFlash](/tiflash/use-tispark-to-read-tiflash.md)
- [使用 MPP 模式](/tiflash/use-tiflash-mpp-mode.md)
- [TiFlash 支持的计算下推](/tiflash/tiflash-supported-pushdown-calculations.md)
- [TiFlash 数据校验](/tiflash/tiflash-data-validation.md)
- [TiFlash 兼容性说明](/tiflash/tiflash-compatibility.md)
- [遥测](/telemetry.md)
- [错误码](/error-codes.md)
- [通过拓扑 label 进行副本调度](/schedule-replicas-by-topology-labels.md)
Expand Down
2 changes: 1 addition & 1 deletion develop/dev-guide-create-table.md
Original file line number Diff line number Diff line change
Expand Up @@ -272,7 +272,7 @@ ALTER TABLE {table_name} SET TIFLASH REPLICA {count};
- `{table_name}`: 表名。
- `{count}`: 同步副本数,若为 0,则表示删除同步副本。

随后,TiFlash 将同步该表,查询时,TiDB 将会自动基于成本优化,考虑使用 **TiKV (行存)****TiFlash (列存)** 进行数据查询。当然,除了自动的方法,你也可以直接指定查询是否使用 TiFlash 副本,使用方法可查看[使用 TiDB 读取 TiFlash](/tiflash/use-tiflash.md#使用-tidb-读取-tiflash) 文档。
随后,TiFlash 将同步该表,查询时,TiDB 将会自动基于成本优化,考虑使用 **TiKV (行存)****TiFlash (列存)** 进行数据查询。当然,除了自动的方法,你也可以直接指定查询是否使用 TiFlash 副本,使用方法可查看[使用 TiDB 读取 TiFlash](/tiflash/use-tidb-to-read-tiflash.md) 文档。

### 使用 HTAP 的示例

Expand Down
4 changes: 2 additions & 2 deletions develop/dev-guide-hybrid-oltp-and-olap-queries.md
Original file line number Diff line number Diff line change
Expand Up @@ -256,11 +256,11 @@ SELECT * FROM acc;

如果你通过 `EXPLAIN` 语句查看上面 SQL 的执行计划,你会发现 task 列中会同时出现 `cop[tiflash]``cop[tikv]` ,这意味着 TiDB 在处理这个查询的时候会同时调度行存查询引擎和列存查询引擎来完成查询任务。需要指出的是,因为 tiflash 和 tikv 存储引擎通常属于不同的计算节点,所以两种查询类型互相之间不受影响。

你可以通过阅读[使用 TiDB 读取 TiFlash](/tiflash/use-tiflash.md#使用-tidb-读取-tiflash) 小节进一步了解 TiDB 如何选择使用 TiFlash 作为查询引擎。
你可以通过阅读[使用 TiDB 读取 TiFlash](/tiflash/use-tidb-to-read-tiflash.md) 小节进一步了解 TiDB 如何选择使用 TiFlash 作为查询引擎。

## 扩展阅读

- [HTAP 快速上手指南](/quick-start-with-htap.md)
- [HTAP 深入探索指南](/explore-htap.md)
- [窗口函数](/functions-and-operators/window-functions.md)
- [使用 TiFlash](/tiflash/use-tiflash.md)
- [使用 TiFlash](/tiflash/tiflash-overview.md#使用-tiflash)
2 changes: 1 addition & 1 deletion develop/dev-guide-sql-development-specification.md
Original file line number Diff line number Diff line change
Expand Up @@ -49,6 +49,6 @@ summary: TiDB 的 SQL 开发规范。
- 避免使用 %前缀进行模糊前缀查询。
- 如应用使用 Multi Statements 执行 SQL,即将多个 SQL 使用分号连接,一次性地发给客户端执行,TiDB 只会返回第一个 SQL 的执行结果。
- 当使用表达式时,检查其是否支持计算下推到存储层的功能 (TiKV、TiFlash),否则应有预期 在 TiDB 层需要消耗更多内存、甚至 OOM。计算下推到存储层的功能列表如下:
- [TiFlash 支持的计算下推清单](/tiflash/use-tiflash.md#tiflash-支持的计算下推)。
- [TiFlash 支持的计算下推清单](/tiflash/tiflash-supported-pushdown-calculations.md)。
- [下推到 TiKV 的表达式列表](/functions-and-operators/expressions-pushed-down.md#下推到-tikv-的表达式列表)。
- [谓词下推](/predicate-push-down.md#谓词下推)。
2 changes: 1 addition & 1 deletion explain-mpp.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ summary: 了解 TiDB 中 EXPLAIN 语句返回的执行计划信息。

# 用 EXPLAIN 查看 MPP 模式查询的执行计划

TiDB 支持使用 [MPP 模式](/tiflash/use-tiflash.md#使用-mpp-模式)来执行查询。在 MPP 执行模式下,SQL 优化器会生成 MPP 的执行计划。注意 MPP 模式仅对有 [TiFlash](/tiflash/tiflash-overview.md) 副本的表生效。
TiDB 支持使用 [MPP 模式](/tiflash/use-tiflash-mpp-mode.md)来执行查询。在 MPP 执行模式下,SQL 优化器会生成 MPP 的执行计划。注意 MPP 模式仅对有 [TiFlash](/tiflash/tiflash-overview.md) 副本的表生效。

本文档使用的示例数据如下:

Expand Down
2 changes: 1 addition & 1 deletion explore-htap.md
Original file line number Diff line number Diff line change
Expand Up @@ -67,7 +67,7 @@ TiDB HTAP 可以满足企业海量数据的增产需求、降低运维的风险
TiFlash 部署完成后并不会自动同步数据,你需要指定需要同步到 TiFlash 的数据表。指定后,TiDB 将创建对应的 TiFlash 副本。

- 如果 TiDB 集群中还没有数据,请先迁移数据到 TiDB。详情请参阅[数据迁移](/migration-overview.md)
- 如果 TiDB 集群中已经有从上游同步过来的数据,TiFlash 部署完成后并不会自动同步数据,而需要手动指定需要同步的表,详情请参阅[使用 TiFlash](/tiflash/use-tiflash.md)
- 如果 TiDB 集群中已经有从上游同步过来的数据,TiFlash 部署完成后并不会自动同步数据,而需要手动指定需要同步的表,详情请参阅[使用 TiFlash](/tiflash/tiflash-overview.md#使用-tiflash)

## HTAP 数据处理

Expand Down
2 changes: 1 addition & 1 deletion production-deployment-using-tiup.md
Original file line number Diff line number Diff line change
Expand Up @@ -431,7 +431,7 @@ tiup cluster display tidb-test

如果你已同时部署了 [TiFlash](/tiflash/tiflash-overview.md),接下来可参阅以下文档:

- [使用 TiFlash](/tiflash/use-tiflash.md)
- [使用 TiFlash](/tiflash/tiflash-overview.md#使用-tiflash)
- [TiFlash 集群运维](/tiflash/maintain-tiflash.md)
- [TiFlash 报警规则与处理方法](/tiflash/tiflash-alert-rules.md)
- [TiFlash 常见问题](/tiflash/troubleshoot-tiflash.md)
Expand Down
6 changes: 3 additions & 3 deletions quick-start-with-htap.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ summary: 本文介绍如何快速上手体验 TiDB 的 HTAP 功能。
- HTAP 存储引擎:行存 (Row-store) 与列存 (columnar-store) 同时存在,自动同步,保持强一致性。行存为在线事务处理 OLTP 提供优化,列存则为在线分析处理 OLAP 提供性能优化。
- HTAP 数据一致性:作为一个分布式事务型的键值数据库,TiKV 提供了满足 ACID 约束的分布式事务接口,并通过 [Raft](https://raft.github.io/raft.pdf) 协议保证了多副本数据一致性以及高可用。TiFlash 通过 Multi-Raft Learner 协议实时从 TiKV 复制数据,确保与 TiKV 之间的数据强一致。
- HTAP 数据隔离性:TiKV、TiFlash 可按需部署在不同的机器,解决 HTAP 资源隔离的问题。
- MPP 计算引擎:从 v5.0 版本起,TiFlash 引入了分布式计算框架 [MPP](/tiflash/use-tiflash.md#使用-mpp-模式),允许节点之间的数据交换并提供高性能、高吞吐的 SQL 算法,可以大幅度缩短分析查询的执行时间。
- MPP 计算引擎:从 v5.0 版本起,TiFlash 引入了分布式计算框架 [MPP](/tiflash/use-tiflash-mpp-mode.md),允许节点之间的数据交换并提供高性能、高吞吐的 SQL 算法,可以大幅度缩短分析查询的执行时间。

## 体验步骤

Expand Down Expand Up @@ -193,12 +193,12 @@ limit 10;
如果结果中出现 ExchangeSender 和 ExchangeReceiver 算子,表明 MPP 已生效。
此外,你也可以指定整个查询的各个计算部分都只使用 TiFlash 引擎,详情请参阅[使用 TiDB 读取 TiFlash](/tiflash/use-tiflash.md#使用-tidb-读取-tiflash)。
此外,你也可以指定整个查询的各个计算部分都只使用 TiFlash 引擎,详情请参阅[使用 TiDB 读取 TiFlash](/tiflash/use-tidb-to-read-tiflash.md)。
你可以对比两次的查询结果和查询性能。
## 探索更多
- [TiDB HTAP 形态架构](/tiflash/tiflash-overview.md#整体架构)
- [深入探索 HTAP](/explore-htap.md)
- [使用 TiFlash](/tiflash/use-tiflash.md)
- [使用 TiFlash](/tiflash/tiflash-overview.md#使用-tiflash)
6 changes: 3 additions & 3 deletions quick-start-with-tidb.md
Original file line number Diff line number Diff line change
Expand Up @@ -127,7 +127,7 @@ TiDB 是一个分布式系统。最基础的 TiDB 测试集群通常由 2 个 Ti

7. 通过 <http://127.0.0.1:3000> 访问 TiDB 的 Grafana 界面,默认用户名和密码都为 `admin`

8. (可选)[将数据加载到 TiFlash](/tiflash/use-tiflash.md) 进行分析。
8. (可选)[将数据加载到 TiFlash](/tiflash/tiflash-overview.md#使用-tiflash) 进行分析。

9. 测试完成之后,可以通过执行以下步骤来清理集群:

Expand Down Expand Up @@ -242,7 +242,7 @@ TiDB 是一个分布式系统。最基础的 TiDB 测试集群通常由 2 个 Ti

7. 通过 <http://127.0.0.1:3000> 访问 TiDB 的 Grafana 界面,默认用户名和密码都为 `admin`

8. (可选)[将数据加载到 TiFlash](/tiflash/use-tiflash.md) 进行分析。
8. (可选)[将数据加载到 TiFlash](/tiflash/tiflash-overview.md#使用-tiflash) 进行分析。

9. 测试完成之后,可以通过执行以下步骤来清理集群:

Expand Down Expand Up @@ -502,5 +502,5 @@ TiDB 是一个分布式系统。最基础的 TiDB 测试集群通常由 2 个 Ti
- [使用 TiDB Operator 在云上部署 TiDB](https://docs.pingcap.com/zh/tidb-in-kubernetes/stable)
- 如果你想使用 TiFlash 作为数据分析的解决方案,可参阅以下文档:
- [使用 TiFlash](/tiflash/use-tiflash.md)
- [使用 TiFlash](/tiflash/tiflash-overview.md#使用-tiflash)
- [TiFlash 简介](/tiflash/tiflash-overview.md)
4 changes: 2 additions & 2 deletions releases/release-5.0.0.md
Original file line number Diff line number Diff line change
Expand Up @@ -146,15 +146,15 @@ TiDB 支持对输出的日志信息进行脱敏处理,你可以通过以下开

### MPP 架构

[用户文档](/tiflash/use-tiflash.md)
[用户文档](/tiflash/use-tiflash-mpp-mode.md)

TiDB 通过 TiFlash 节点引入了 MPP 架构。这使得大型表连接类查询可以由不同 TiFlash 节点分担共同完成。

当 MPP 模式开启后,TiDB 会通过代价决策是否应该交由 MPP 框架进行计算。MPP 模式下,表连接将通过对 JOIN Key 进行数据计算时重分布(Exchange 操作)的方式把计算压力分摊到各个 TiFlash 执行节点,从而达到加速计算的目的。更进一步,加上之前 TiFlash 已经支持的聚合计算,MPP 模式下 TiDB 可以将一个查询的计算都下推到 TiFlash MPP 集群,从而借助分布式环境加速整个执行过程,大幅度提升分析查询速度。

经过 Benchmark 测试,在 TPC-H 100 的规模下,TiFlash MPP 提供了显著超越 Greenplum,Apache Spark 等传统分析数据库或数据湖上分析引擎的速度。借助这套架构,用户可以直接针对最新的交易数据进行大规模分析查询,且性能超越传统离线分析方案。经测试,TiDB 5.0 在同等资源下,MPP 引擎的总体性能是 Greenplum 6.15.0 与 Apache Spark 3.1.1 两到三倍之间,部分查询可达 8 倍性能差异。

当前 MPP 模式不支持的主要功能如下(详细信息请参阅[用户文档](/tiflash/use-tiflash.md)):
当前 MPP 模式不支持的主要功能如下(详细信息请参阅[用户文档](/tiflash/use-tiflash-mpp-mode.md)):

+ 分区表
+ Window Function
Expand Down
2 changes: 1 addition & 1 deletion releases/release-5.4.0.md
Original file line number Diff line number Diff line change
Expand Up @@ -127,7 +127,7 @@ TiDB 版本:5.4.0
- 提升从 TiKV 同步数据时,由行存格式到列存格式的数据转换效率,整体的数据同步性能提升 50%
- 调整一些配置项的默认值,提升 TiFlash 的性能和稳定性。HTAP 混合负载下,单表简单查询的性能最高提升 20%

用户文档:[TiFlash 支持的计算下推](/tiflash/use-tiflash.md#tiflash-支持的计算下推)[TiFlash 配置文件](/tiflash/tiflash-configuration.md#配置文件-tiflashtoml)
用户文档:[TiFlash 支持的计算下推](/tiflash/tiflash-supported-pushdown-calculations.md)[TiFlash 配置文件](/tiflash/tiflash-configuration.md#配置文件-tiflashtoml)

- **通过 session 变量实现有界限过期数据读取**

Expand Down
8 changes: 4 additions & 4 deletions releases/release-6.0.0-dmr.md
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,7 @@ v6.0.0 是 DMR 版本,版本名称为 6.0.0-DMR。

- 新增按库构建 TiFlash 副本功能。用户仅需使用一条 SQL 即可对某一个数据库中所有的表添加 TiFlash 副本,极大地节约了运维成本。

[用户文档](/tiflash/use-tiflash.md#按库构建-tiflash-副本)
[用户文档](/tiflash/create-tiflash-replicas.md#按库构建-tiflash-副本)

### 事务

Expand Down Expand Up @@ -121,7 +121,7 @@ v6.0.0 是 DMR 版本,版本名称为 6.0.0-DMR。

在该模式下,TiDB 也可以使用 TiFlash MPP 引擎读取和计算分区表的数据,从而大大提升分区表的查询性能。

[用户文档](/tiflash/use-tiflash.md#mpp-模式访问分区表)
[用户文档](/tiflash/use-tiflash-mpp-mode.md#mpp-模式访问分区表)

- 持续提升 MPP 引擎计算性能

Expand All @@ -133,7 +133,7 @@ v6.0.0 是 DMR 版本,版本名称为 6.0.0-DMR。
- 日期函数:`DAYNAME()`,`DAYOFMONTH()`,`DAYOFWEEK()`,`DAYOFYEAR()`,`LAST_DAY()`,`MONTHNAME()`
- 算子:Anti Left Outer Semi Join, Left Outer Semi Join

[用户文档](/tiflash/use-tiflash.md#tiflash-支持的计算下推)
[用户文档](/tiflash/tiflash-supported-pushdown-calculations.md)

- 正式引入弹性线程池,提升 CPU 利用率,默认开启此功能

Expand Down Expand Up @@ -165,7 +165,7 @@ v6.0.0 是 DMR 版本,版本名称为 6.0.0-DMR。

警告:新版本数据格式将不支持原地降级为早于 v5.4 的版本,需要在降级处理时删除 TiFlash Replica 待降级完成后重新同步;或使用[离线工具进行数据版本降级](/tiflash/tiflash-command-line-flags.md#dttool-migrate)

[用户文档](/tiflash/use-tiflash.md#使用数据校验)
[用户文档](/tiflash/tiflash-data-validation.md)

- TiFlash 引入异步 gRPC 和 Min-TSO 调度机制,更好的管理线程使用,防止线程数过高导致的系统崩溃。

Expand Down
6 changes: 3 additions & 3 deletions releases/release-6.1.0.md
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ TiDB 版本:6.1.0
* `DENSE_RANK()`
* `ROW_NUMBER()`

[用户文档](/tiflash/use-tiflash.md#tiflash-支持的计算下推)[#33072](https://github.com/pingcap/tidb/issues/33072)
[用户文档](/tiflash/tiflash-supported-pushdown-calculations.md)[#33072](https://github.com/pingcap/tidb/issues/33072)

### 可观测性

Expand Down Expand Up @@ -83,13 +83,13 @@ TiDB 版本:6.1.0
* `TO_SECONDS`
* `WEEKOFYEAR`

[用户文档](/tiflash/use-tiflash.md#tiflash-支持的计算下推)[#4679](https://github.com/pingcap/tiflash/issues/4679)[#4678](https://github.com/pingcap/tiflash/issues/4678)[#4677](https://github.com/pingcap/tiflash/issues/4677)
[用户文档](/tiflash/tiflash-supported-pushdown-calculations.md)[#4679](https://github.com/pingcap/tiflash/issues/4679)[#4678](https://github.com/pingcap/tiflash/issues/4678)[#4677](https://github.com/pingcap/tiflash/issues/4677)

* 支持分区表动态裁剪

支持分区表动态裁剪功能,以提升数据分析场景下的性能。v6.0.0 以前版本的用户升级完成后建议及时手动刷新既存分区表的统计信息,以达到最好的性能表现(全新安装,或在 v6.1.0 升级完成后新创建的分区表无需此动作)。

用户文档:[MPP 模式访问分区表](/tiflash/use-tiflash.md#mpp-模式访问分区表)[动态裁剪模式](/partitioned-table.md#动态裁剪模式)[#3873](https://github.com/pingcap/tiflash/issues/3873)
用户文档:[MPP 模式访问分区表](/tiflash/use-tiflash-mpp-mode.md#mpp-模式访问分区表)[动态裁剪模式](/partitioned-table.md#动态裁剪模式)[#3873](https://github.com/pingcap/tiflash/issues/3873)

### 稳定性

Expand Down
2 changes: 1 addition & 1 deletion resources/doc-templates/template-concept.md
Original file line number Diff line number Diff line change
Expand Up @@ -62,4 +62,4 @@ xxx

- [TiDB HTAP 形态架构](/tiflash/tiflash-overview.md#整体架构)
- [深入探索 HTAP](/explore-htap.md)
- [使用 TiFlash](/tiflash/use-tiflash.md)
- [使用 TiFlash](/tiflash/tiflash-overview.md#使用-tiflash)
2 changes: 1 addition & 1 deletion resources/doc-templates/template-new-feature.md
Original file line number Diff line number Diff line change
Expand Up @@ -105,4 +105,4 @@ TiDB 提供 x 种 xxx 的使用方法,分别是 xxx 方法 和 xxx 方法。

- [TiDB HTAP 形态架构](/tiflash/tiflash-overview.md#整体架构)
- [深入探索 HTAP](/explore-htap.md)
- [使用 TiFlash](/tiflash/use-tiflash.md)
- [使用 TiFlash](/tiflash/tiflash-overview.md#使用-tiflash)
2 changes: 1 addition & 1 deletion resources/doc-templates/template-task.md
Original file line number Diff line number Diff line change
Expand Up @@ -123,4 +123,4 @@ category: xxx(如 how-to)

- [TiDB HTAP 形态架构](/tiflash/tiflash-overview.md#整体架构)
- [深入探索 HTAP](/explore-htap.md)
- [使用 TiFlash](/tiflash/use-tiflash.md)
- [使用 TiFlash](/tiflash/tiflash-overview.md#使用-tiflash)
2 changes: 1 addition & 1 deletion scale-tidb-using-tiup.md
Original file line number Diff line number Diff line change
Expand Up @@ -368,7 +368,7 @@ tiup cluster display <cluster-name>
alter table <db-name>.<table-name> set tiflash replica 0;
```

2. 等待相关表的 TiFlash 副本被删除(按照[查看表同步进度](/tiflash/use-tiflash.md#查看表同步进度)一节操作,查不到相关表的同步信息时即为副本被删除)。
2. 等待相关表的 TiFlash 副本被删除(按照[查看表同步进度](/tiflash/create-tiflash-replicas.md#查看表同步进度)一节操作,查不到相关表的同步信息时即为副本被删除)。

### 2. 执行缩容操作

Expand Down
4 changes: 2 additions & 2 deletions system-variables.md
Original file line number Diff line number Diff line change
Expand Up @@ -359,7 +359,7 @@ mysql> SELECT * FROM t1;
- 0 或 OFF,代表从不使用 MPP 模式
- 1 或 ON,代表由优化器根据代价估算选择是否使用 MPP 模式(默认)
MPP 是 TiFlash 引擎提供的分布式计算框架,允许节点之间的数据交换并提供高性能、高吞吐的 SQL 算法。MPP 模式选择的详细说明参见[控制是否选择 MPP 模式](/tiflash/use-tiflash.md#控制是否选择-mpp-模式)。
MPP 是 TiFlash 引擎提供的分布式计算框架,允许节点之间的数据交换并提供高性能、高吞吐的 SQL 算法。MPP 模式选择的详细说明参见[控制是否选择 MPP 模式](/tiflash/use-tiflash-mpp-mode.md#控制是否选择-mpp-模式)。
### `tidb_allow_remove_auto_inc` <span class="version-mark">从 v2.1.18 和 v3.0.4 版本开始引入</span>
Expand Down Expand Up @@ -982,7 +982,7 @@ Query OK, 0 rows affected (0.09 sec)
- 0 或 OFF,代表不强制使用 MPP 模式(默认)
- 1ON,代表将忽略代价估算,强制使用 MPP 模式。注意:只有当 `tidb_allow_mpp=true` 时该设置才生效。
MPP 是 TiFlash 引擎提供的分布式计算框架,允许节点之间的数据交换并提供高性能、高吞吐的 SQL 算法。MPP 模式选择的详细说明参见[控制是否选择 MPP 模式](/tiflash/use-tiflash.md#控制是否选择-mpp-模式)。
MPP 是 TiFlash 引擎提供的分布式计算框架,允许节点之间的数据交换并提供高性能、高吞吐的 SQL 算法。MPP 模式选择的详细说明参见[控制是否选择 MPP 模式](/tiflash/use-tiflash-mpp-mode.md#控制是否选择-mpp-模式)。
### `tidb_evolve_plan_baselines` <span class="version-mark">从 v4.0 版本开始引入</span>
Expand Down
Loading

0 comments on commit b8c70df

Please sign in to comment.