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

来自小伙伴:

@田帅萌7 提升查询效率 +容灾,现在的用mpp 多个副本 效率是有提升的

@dba-kit TiFlash 查询时候,有副本会让请求更平均一些。 不过多副本最大的好处还是高可用,让滚动升级 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 个赞

:+1::+1::+1:

:cow:!!!!!

  1. TiFlash副本是干啥的?

    • 想象一下,TiFlash就像是你电脑里的一个高速存储卡,它能让你存很多东西,而且读取速度特别快。这个高速存储卡有很多个“分身”,也就是副本,它们可以帮助电脑在不同的地方快速找到和处理数据,即使其中一个“分身”出问题了,其他的“分身”还能继续工作,保证你的数据不会丢失。
  2. TiFlash副本能提高查询效率吗?

    • 可以的。就像你在一个大型图书馆里找书,如果每本书都放在一个固定的地方,你要找很久。但是,如果图书馆有多本同样的书,分布在不同的地方,你就能更快地找到它们。TiFlash副本就是这个道理,它能让你的数据查询变得更快,特别是当你要处理的数据很多的时候。
1 个赞

这是说的 副本 的作用吧。

tiflash是列存引擎,tikv是行存引擎

高可用,分片读

Tiflash 多副本,我们也测试过3节点3副本和3节点1副本,在查询压测时没有太多性能提升。就像大佬们说的,多副本最大的好处还是高可用。

tiflash 个人感觉就是相当于一个 clickhouse 列式数据库,只存某几个想要的表的

TiFlash通过列式存储和智能计算下推,极大地提升了处理OLAP查询的性能,以及高可用的作用

看起来是高并发

对我最直观的体验就是,可承载更多并发,刚前几天,被干爆了!