tidb集群可以做读写分离吗

【 TiDB 使用环境】生产环境 /测试/ Poc
【 TiDB 版本】
【复现路径】做过哪些操作出现的问题
【遇到的问题:问题现象及影响】
【资源配置】进入到 TiDB Dashboard -集群信息 (Cluster Info) -主机(Hosts) 截图此页面
【附件:截图/日志/监控】

目前我们的tidb数据库在做批量插入操作时,如果有另外的服务在并发读取数据库内容,TIDB的QPS就会提高,同时影响插入的性能,请问下tidb数据库可以做读写分离吗? 做插入操作,和读取数据分得不同的服务器 互相不影响性能?

单从TIDB层面(计算层)是可以的,但TIKV暂时还做不到,读写分离在MYSQL本质上是主从的读写分离,TIDB架构本身就是分布式的,读写在KV层以及平均打散在三台机器上,理论上这种模式比主从更优。如果非要搞成跟mysql主从一样的读写分离,读写事物互相不影响情况下,整两套集群使用CDC同步,一套写,一套读也可以。

首先TIDB 是分布式数据库。没必要读写分离,要考虑性能不够是pd性能到了瓶颈还是 tidb 到了瓶颈。不应该考虑配置读写分离。数据库库读多的场景一般都会优化到缓存集群中。

部署ticdc把数据同步到其他数据库

好的,谢谢,明白

用 follow read 功能即可,leader 限定在几个服务器上即可。
如果开启功能和如何限定官网 search 下。

1 个赞

参考这里,用 follow read就行,在搭一套集群成本有点高
https://docs.pingcap.com/zh/tidb/stable/follower-read#follower-read

Tidb本身就是分布式数据库,是存算分离,对硬件资源有要求。再进行额外的分库来进行读写分离,实际硬件资源投入就有点大了。 建议是设计好数据表结构避免写入热点,相互之间影响应该不会太大,或者也可以通过CDC同步至其他数据库。

是要做实验么,意思是使用TiDB作为写入节点,TiKV作为读取节点,那在应用上指下试试。。

考虑是否遇到写热点问题
考虑升级到更新版本

tidb数据库在做批量插入操作时,如果有另外的服务在并发读取数据库内容,TIDB的QPS就会提高

要解决问题可以从问题本身入手,比如插入速度多少,怎么插入的(不同插入方式性能影响也不一样),插入时候哪种资源有瓶颈等等,看看有没有可能先优化

可以尝试一下
follow read

此话题已在最后回复的 60 天后被自动关闭。不再允许新回复。