0

我想为基准测试建立一个本地的 TiDB 集群。以下是我的一些疑问:

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

1 回答 1

2

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

是的,您可以根据需要添加任意数量的 tidb-servers。

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

是的,TiDB 是一个分布式数据库,默认提供快照隔离。并且来自不同 tidb-server 的不同事务也可以满足快照隔离级别。TiDB 使用Percolator 事务模型来实现分布式事务。更多实现细节可以参考这篇文章:https ://pingcap.com/blog/2016-11-17-mvcc-in-tikv/

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

不,TiDB 在内部将表分片为基于范围的小块,我们称之为“区域”。每个区域默认大小约为 100MiB。复制因子默认为 3。集群中的每个 tikv-server 拥有数十万个区域。

如果是否定的,如何配置复制因子?

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-如何配置它

于 2019-04-23T11:54:05.620 回答