tiflash的副本的作用是什么呀??能提高查询效率吗??

1.实践:tiflash副本是列存的,针对多字段、大表等的查询有提速效果,实测过一张5000万的大表,不建tiflash的时候,全表查询,大约20-30分钟,建完tiflash副本后,查询时间约为30秒-2分钟左右。
2.官方文档:

  • 快速的数据分析: TiFlash通过将热数据缓存于内存中,以及采用列式存储的方式,极大地提高了大数据分析的性能。它支持高并发的复杂查询,可以在毫秒级别返回分析结果。
  • 大容量存储: TiFlash支持分布式存储,可以将庞大的数据集合存储在多个节点上,从而提供非常大的存储容量。这使得TiFlash成为处理海量数据的理想选择。
  • 实时数据同步 TiFlash与TiDB采用了多副本的数据同步方式,确保数据的一致性。它可以根据需要在多个副本之间自动同步数据,保证了分析结果的实时性。
  • 高可用性: TiFlash具有高可用性架构,支持故障自动切换和自动恢复。即使在节点故障的情况下,系统依然可以保持稳定运行,不会丢失数据。
    TiFlash有什么作用?-PingCAP | 平凯星辰
    3.副本的设置
  • replica_count 就是用户通过 alter table xxx set tiflash replica N 设置的期望的在 tiflash 上的数据副本数。
  • available 代表是否已经有一份完整的 tiflash 副本可用。比如说 replica_count = 2,但是数据只同步好了 1 副本,available 也是 1(因为此时可以查询了)
  • replica_count 原则上只与 高可用 相关,和查询性能没有关系。但是实践中,数据副本数太多,也可能会影响性能,原因是集群管理的数据变多了。综合高可用和查询性能,一般情况下推荐设置 2 tiflash 副本
  • tiflash 的性能和 tikv 的副本数没有相关性
    tiflash副本数建议设置几个 - #6,来自 逍遥_猫
1 个赞