-2

我们的 DBA 部署了一个独立的 TiDB和一个独立的 MySQL 来分别处理大约100 万张表,但是 TiDB 的性能似乎不如 MySQL,为什么?如果是因为数据量太小,我应该往数据库里放多少数据才能保证 TiDB 比 MySQL 有更好的性能?

4

1 回答 1

3

TiDB 专为 MySQL 单机容量有限,需要强一致性和完整分布式事务而使用分片的场景而设计。TiDB 的优势之一是将计算下推到存储节点执行并发计算。

TiDB 不适合小规模的表(比如千万级以下),因为它的并发能力不能用小数据和有限的 Region 来展示。一个典型的例子是计数器表,其中几行的记录更新频率很高。在 TiDB 中,这些行在存储引擎中变成了几个 Key-Value 对,然后沉淀到位于单个节点上的 Region 中。为了保证 TiDB 到 TiKV 的强一致性和操作,后台复制的开销导致性能比 MySQL 独立。

于 2018-07-27T08:31:18.750 回答