我们的DBA部署了独立的TiDB 和独立的MySQL来分别处理约一百万张表,但是TiDB的性能似乎不如MySQL,为什么?如果是因为数据大小太小,我应该在数据库中放入多少数据以确保TiDB中的性能优于MySQL?
答案 0 :(得分:1)
TiDB专为使用分片的方案而设计,因为MySQL独立服务器的能力有限,并且需要强一致性和完整的分布式事务。 TiDB的优点之一是将计算下推到存储节点以执行并发计算。
TiDB不适合较小的表(例如,低于一千万级别的表),因为它的并发强度无法用较小的数据和有限的Region来显示。一个典型的例子是计数器表,其中几行的记录被频繁更新。在TiDB中,这些行成为存储引擎中的几个“键-值”对,然后放入位于单个节点上的Region中。后台复制以确保从TiDB到TiKV的强大一致性和操作的开销,导致性能比MySQL独立服务器差。