我们是否可以运行连接到PD和(因此是TiKV)的同一集群的多个TiDB实例?

时间:2019-04-23 07:00:17

标签: tidb tikv

我想为基准设置TiDB的本地集群。这是我的一些疑问:

  • 多个TiDB实例可以连接到同一个PD和TiKV集群吗? (我们在此正式生产部署doc中仅注意到一个TiDB实例。)
  • 如果为正,提交到不同TiDB实例的事务是否满足快照隔离级别?
  • 在存储层,每个TiKV节点是否保留整个数据集? (复制因子等于TiKV节点号吗?)
  • 如果为负,如何配置复制因子?

1 个答案:

答案 0 :(得分:1)

  

多个TiDB实例可以连接到同一个PD和TiKV集群吗?

是的,您可以根据需要添加任意数量的tidb服务器。

  

如果为正,提交到不同TiDB实例的事务是否满足快照隔离级别?

是的,TiDB是一个分布式数据库,默认情况下提供快照隔离。来自不同tidb服务器的不同事务也可以满足快照隔离级别。 TiDB使用Percolator transaction model来实现分布式事务。有关更多实现的详细信息,请参考本文:https://pingcap.com/blog/2016-11-17-mvcc-in-tikv/

  

在存储层,每个TiKV节点是否保留整个数据集? (复制因子等于TiKV节点号吗?)

不。 TiDB在内部将表分片为基于范围的小块,我们将其称为“区域”。每个区域的默认大小约为100MiB。复制因子默认为3。群集中的每个tikv服务器都包含数十万个区域。

  

如果为负,如何配置复制因子?

PD读取配置文件(conf / pd.yml)并在其中使用max-replicas配置。有关更多详细信息,您可以参考https://github.com/pingcap/docs/blob/master/FAQ.md#is-the-number-of-replicas-in-each-region-configurable-if-yes-how-to-configure-it