TiFlash多副本与容灾的疑问

1、假设有N个TiFlash节点,我为表t1设置的TIFLASH REPLICA为1,那么这1个Learner副本是集中存放在其中1个TiFlash节点上的,还是均匀的分布在N个TiFlash节点上?
2、假设有N个TiFlash节点,我为表t1设置的TIFLASH REPLICA为2,此时正好t1表副本所在的所有TiFlash节点全挂了,那么会在存活的TiFlash节点上,为t1表自动补齐2个副本吗?
3、多个TiFlash节点打了labels,放在2个数据中心,并使用LOCATION LABELS让PD感知到,能否控制在执行MPP时,只使用主中心的TiFlash节点?
4、TiFlash的灾难恢复策略一般是怎么样的?比如TiFlash节点挂了,一般怎么处理,是直接放弃挂掉的节点重新扩容缩容吗,还是其它处理策略?

  1. 根据 region 数量决定,最终会均衡分布
  2. 如果有足够的节点和容量,应该会自动补充
  3. 貌似不行,没有找到类似的功能。打 label 是确保可以分配到不同的数据中心,做容灾。
  4. 如果节点拉不起来,可以重新扩缩容。
1赞

感谢答疑。针对第1个问题,想再请教一下。
假设有2个TiFlash节点,表t1配置了1个TiFlash副本,那这时如果任意挂掉1个TiFlash节点,是不是t1表的这个TiFlash副本就变得不可用了?

还有,MPP的性能是跟表的TiFlash副本数有关系吗?比如我有5个TiFlash节点,当我把表t1的TiFlash副本数从1增加到5时,MPP的性能会有提升吗?

有关系,会有提升。

1赞

假设有2个TiFlash节点,表t1配置了1个TiFlash副本,那这时如果任意挂掉1个TiFlash节点,是不是t1表的这个TiFlash副本就变得不可用了?

是的,所以有高可用需求建议 2 副本

1赞

好的,感谢~

副本数目前只与 高可用有关系,所以 MPP 性能和 副本数 没有关系,是完全解耦的哈。增加副本数不会提升 MPP 性能。 我们通常通过增加节点来提升 MPP 性能。

3赞

好的,这下清晰了:+1:

你好大佬!tiflash从之前的1个节点增加到2个节点后,查询效率会提高吗?一般是一个节点设置一个副本集是不?2个节点replica设置为2个为好是不?

增加TiFlash节点数可以增加MPP性能,增加TiFlash副本数是为了高可用容灾,看你需求了

好的!我的需求就是多表关联查询,还有聚合,运算,查询速度要快

多个tifalsh 可以提高负载

那直接增加tiflash节点数,不用增加副本数了

这个问题好像我之前问个哈:joy:

如果表仅有单个 TiFlash 副本且相关节点无法服务,智能选择模式下的查询会不断重试,需要指定 Engine 或者手工 Hint 来读取 TiKV 副本;

学习到了,:+1: