一个大查询会使用2个tidb节点的cpu吗

现在假设,我的集群架构是 2个tidb, 3个tikv, 我现在连接一个tidb, 发送了一个大查询, 问一下,这个大查询会用到另外一个tidb的cpu 吗?

还是从tikv出来的数据都在这个tidb 上进行计算。

那安装文章里面说, 如果集群支持tiflash后,假设我有6个节点, 2个tidb, 3个tikv, 1个tiflash

当发生一个大查询时,这个查询会拆分2个部分执行计算, 一部分先到tikv 上把数据取出, 一部分发到tiflash上, tiflash 上spark 对列存进行计算, 最后接受sql 的tidb 节点把tikv的数据和tiflash 上来的数据进行merge 最后返回给客户

不知道我这种理解对吗

1、一个查询只能使用一个 TiDB Server 的资源。

2、TiKV 以及 TiFlash 实现了部分算子下推,如果集群中配有 TiFlash 节点,并且可以使用 TiFlash 的特性,那么如您上面的描述的,一部分请求在 tikv 一部分请求在 TiFlash ,最终数据的聚合在 TiDB 节点实现。

3、如果是复杂 OLAP 的场景,那么可以使用 TiSpark 进一步来提升计算能力 ,TiFlash 可以兼容 TiDB 与 TiSpark,可以选择使用不同的计算引擎。

tiflash 有节点限制吗? 比如不考虑容量问题, 我tiflash 只用一个节点

TiFlash 建议两个节点,并且每张表两个副本,如果是一个节点,TiFlash 就没有高可用了。

https://docs.pingcap.com/zh/tidb/v4.0/deploy-tiflash#部署-tiflash-集群

另外请教一下
当大查询通过tispark 发送出来时, 当有2个tispark 节点时, 是2个节点cpu都被使用上了?还是只有一个tispark节点的cpu 被使用?

假如2个tiflash 节点, 每个表有2个副本, 当大查询从tiflash里面读取数据的时候, 是同时从2个副本里面读取数据,还是只从一个副本里面读取数据?

另外如果不考虑高可用, 一个tiflash 节点 是不是也是可以工作的?

1、在 TiFlash 读取数据时,是随机的从两个节点中的副本读取目标数据,多副本用来提供高可用。

2、如果不考虑高可用,一个 TiFlash 节点也可以正常工作。