【TiDBer 唠嗑茶话会 67】不懂就问系列,你有哪些 TiDB 的问题不管你当提不提,你都可以提出来~

桑心, :sob:我都在群里发过那么多次言,按格式发过那么多帖子。还不知道我用什么版本。4.09-》5.4.2

算是OLAP的,有挺多报表业务功能。还没上tiflash节点,有点担心。请问假设上2台tiflash的话,如果tiflash节点挂了,或者OOM(配置不高的情况下)了,会影响正常业务吗?

TiCDC 后续会考虑支持更多数据源嘛,是要走 FlinkCDC 路线,还是主要后续就是提速优化性能?

tidb的更新会迭代到某个版本之后放缓吗

今天刚遇到的一个慢查询,业务里有个update t set * where id=xx;其中id是唯一主键。的语句耗时15秒,直接被context canceled了。请问dalao们这种情况一般是怎么造成的?最重要是如何排查找出根源?谢谢

还可以使用TiDB Operator来管理TiDB集群的高可用性。TiDB Operator能够提供诸如自动备份数据、故障自动迁移、缩放集群、备份恢复等功能,并结合Kubernetes的集群管理特性,使得TiDB集群能够更加轻松地进行实例扩容、升级、维护等操作,并保证业务系统长时间稳定运行。

这种情况可能是因为在查询期间出现了锁等待或者其他进程占用资源导致的。可以尝试以下方法帮助排查问题:

  1. 查看TiDB日志,检查是否有“Lock wait timeout exceeded”或者“try commit secondary key, but already exists”等类似错误。
  2. 通过explain命令来分析查询语句的执行计划,检查是否存在全表扫描、排序等高消耗操作,优化查询语句使其更加高效。
  3. 检查表格中是否有较多的未提交事务,可以使用select * from information_schema.tidb_trx进行事务数量查询,并通过rollback命令手动完成未提交事务的回滚操作,释放锁定资源。
  4. 对TiDB参数进行调整以提高性能和稳定性。例如可以增加txn-total-size-limit和txn-entry-size-limit参数的值,防止Liunx OOM Killer对TiDB节点进行Killed杀进程操作,也可以调整tikv_gc_life_time参数避免过于频繁的kv版本回收导致TiKV负载飙高。

当然,针对具体的问题需要根据实际情况来选择合适的排查手段,在保证业务正常运行的同时,及时调整TiDB配置以提高系统可靠性和性能。

关于TiFlash节点挂掉或OOM对业务影响的问题,可以分别从以下两个方面考虑:

  1. TiFlash节点故障:如果其中一个TiFlash节点因为磁盘损坏、宕机等原因发生故障,TiDB仍然可以通过TiKV直接提供服务,不会影响系统继续正常运行。此时建议尽快修复故障的TiFlash节点,确保其彻底恢复后再加入到集群中。
  2. TiFlash节点OOM:如果TiFlash节点发生OOM,会导致节点无法正常响应,也会带来TiDB整体性能下降的风险。建议在部署TiFlash节点时,对集群资源和TiFlash参数进行充分评估和调整,以防止OOM的发生。另外,可以设置OOM killer,让系统自动杀死OOM进程保证操作系统的稳定,但该操作可能会对集群的性能造成一定的影响。

总之,正确使用TiFlash节点可以帮助优化TiDB集群的性能,但前提是需要充分评估业务场景和节点配置后再进行部署,并做好相应的高可用运维策略,以确保整个集群在某些条件下发生异常时,能够稳定工作并提供正常服务。

生产环境,社区版用的多吗?

可能的原因是当 t1.AREATYPE 和 t2.ID 进行 Join 时,由于有错误的关联条件,导致不正确的结果返回。具体来说,可能是由于两张表之间无法通过正确的关联键进行匹配,从而出现了类似数据匹配错误的情况。

在 TiDB 中,如果关联选择性较低,主要在执行计划的顺序上有所不同,即使存在错误的关联条件,也可能找到一种可行的方式完成数据连接操作,并给出与期望结果相似但并非正确的输出结果。因此,在编写 SQL 时,请务必仔细检查 join 条件避免类似问题的发生。

另外,建议您开启 TiDB 的调试日志功能,以便更好地追溯问题的产生和提供合适的解决方案。

表妹不是你一个人的表妹,记不住这么多信息的。
你和表妹的对话可以理解成无状态的,需要每次发送上下文 :stuck_out_tongue_closed_eyes:

Tidb 的监控指标非常的多,想知道其中的一些指标是怎么计算统计出来的?比如 Overview 里面Services Port Status 的指标。

如果上了tiflash,olap查询一般默认走tiflash,如果tiflash节点挂了,这时sql应该不会走回tikv上,而是会报错。所以不会影响正常业务,但是出现olap查询报错,你肯定得把engine中的tiflash去掉,这时都走回tikv的话,就会互相影响了。

与chatgpt对话都不需要发上下文的。 :rofl:

谢谢,我先按步骤试试。

不会自己走回tikv,那还是影响。要手动处理,业务会有短暂中断。

生产升级速度跟不上发版速度 :smiling_imp:

生产原则上没有问题的话,不建议升级,做我们这行,就是多做多错,少做少错,不做不错。

整体业务迁移到aws tidb不在作为数据业务重点了

什么时候能把sqlserver的数据导入加进去 :grin: