【发布时间】:2018-07-27 07:45:09
【问题描述】:
我们的 DBA 部署了一个独立的 TiDB 和一个独立的 MySQL 来分别处理大约 100 万张表,但 TiDB 的性能似乎不如 MySQL,为什么?如果是因为数据量太小,我应该往数据库里放多少数据才能保证 TiDB 比 MySQL 有更好的性能?
【问题讨论】:
-
因为它不能表现得那么好。优秀问题的优秀评论。
标签: mysql distributed-database tidb
我们的 DBA 部署了一个独立的 TiDB 和一个独立的 MySQL 来分别处理大约 100 万张表,但 TiDB 的性能似乎不如 MySQL,为什么?如果是因为数据量太小,我应该往数据库里放多少数据才能保证 TiDB 比 MySQL 有更好的性能?
【问题讨论】:
标签: mysql distributed-database tidb
TiDB 专为 MySQL 单机容量有限、需要强一致性和完整分布式事务而使用分片的场景而设计。 TiDB 的优势之一就是将计算下推到存储节点执行并发计算。
TiDB 不适合小规模的表(比如千万级以下),因为它的并发能力不能用小数据和有限的 Region 来展示。一个典型的例子是计数器表,其中几行的记录更新频率很高。在 TiDB 中,这些行在存储引擎中变成了几个 Key-Value 对,然后沉淀到位于单个节点上的 Region 中。为了保证 TiDB 到 TiKV 的强一致性和操作,后台复制的开销导致性能比 MySQL 独立。
【讨论】: