产品文档

分布式数据库 TiDB

常见问题

1. 分布式数据库 TiDB 是基于 MySQL 开发的吗?

不是,但是分布式数据库 TiDB 支持 MySQL 语法和协议。

2. 用起来简单吗?

是的,分布式数据库 TiDB 用起来很简单。启动整套服务后,就可以将 分布式数据库 TiDB 当做一个普通的 MySQL Server 来用,您可以将 分布式数据库 TiDB 用在任何以 MySQL 作为后台存储服务的应用中,基本上不需要修改应用代码,并且兼容大部分 MySQL 管理工具。

3. 适用的场景?

原业务的 MySQL 的业务遇到单机容量或者性能瓶颈时,可以考虑使用 分布式数据库 TiDB 无缝替换 MySQL。

4. 如何将运行在 MySQL 上的应用迁移到 分布式数据库 TiDB 上?

分布式数据库 TiDB 大多数 MySQL 语法,一般不需要修改代码,可以用工具 Checker 检查 MySQL 中的 Schema 是否兼容。

5. TiDB 具备高可用的特性吗?

TiDB 具备高可用特性,TiDB、TiKV、PD 这三个组件都能容忍部分实例失效,不影响整个集群的可用性。

6. TiDB 数据是强一致的吗?

TiDB 使用 Raft 在多个副本之间做数据同步,从而保证数据的强一致,单个副本失效时,不影响数据的可靠性。

7. TiDB 用户名长度限制?

在 TiDB 中用户名最长为 32 字符。

8. 一个事务中的语句数量最大是多少?

一个事务中的语句数量,默认限制最大为 5000 条。

9. 如何通过扩展 分布式数据库 TiDB 提高性能?

随着业务不断增长时,数据库可能会面临三方面瓶颈:

  • 第一是存储资源不够,也就是磁盘空间不够;
  • 第二是计算资源不够用,如 CPU 占用较高,
  • 第三是吞吐跟不上。

这时可以对数据库集群做水平扩展。

  • 如果是存储资源不够,可以通过添加 TiKV Server 节点来解决。新节点启动后,PD 会自动将其他节点的部分数据迁移过去,无需人工介入。
  • 如果是计算资源不够,可以查看 TiDB 节点 和 TiKV 节点的 CPU 消耗情况,再考虑添加 TiDB 节点或者是 TiKV 节点来解决。
  • 如果是吞吐跟不上,一般可以考虑同时增加 TiDB 节点 和 TiKV 节点。

10. 性能指标?

TiDB集群在大数据量情况下,跟MySQL相比,在QPS,TPS及响应时间上有具有较大优势,具体的指标可参见官方文档:https://github.com/pingcap/docs-cn/blob/master/benchmark/sysbench.md

更新时间:2019-06-27 14:18:35