TiDB~Tiflash

2024-06-10  本文已影响0人  开心的蛋黄派

TiFlash是TiDB的列式存储引擎,专为加速分析型查询设计。以下是关于TiFlash的关键信息和操作指南:

TiFlash特点与优势

  1. 列式存储:TiFlash采用列式存储,适合OLAP查询,减少I/O操作和内存开销。
  2. 实时性与一致性:通过Raft Learner协议异步复制TiKV数据,提供与TiKV一致的数据读取,确保数据最新且强一致。
  3. 智能选择:TiDB可智能选择使用TiFlash或TiKV,甚至混合使用,以优化性能。
  4. 计算加速:TiFlash分担TiDB计算压力,提高数据库整体性能。
  5. 简化架构:在TiDB集群中直接使用TiFlash,无需额外部署分析型数据库。
  6. 灵活扩展:TiFlash保持TiDB的分布式和可扩展性。

操作指南

  1. 数据同步

    • TiFlash默认不自动同步数据,需手动指定同步的表。
    • 使用ALTER TABLE语句设置TiFlash副本数:ALTER TABLE table_name SET TIFLASH REPLICA num;num为0时删除副本,为2时在TiFlash创建副本)
  2. 查看副本状态

    • 查询information_schema.tiflash_replica表查看副本状态。
    • AVAILABLE字段为“1”表示副本可用,“0”表示不可用。
    • PROGRESS字段表示同步进度,值在0.0~1.0之间,“1”表示至少有一个副本完成同步。
  3. 指定查询引擎

    • 使用TiDB的SQL优化提示来指定查询使用TiFlash或TiKV。
    • 示例:SELECT /*+ READ_FROM_STORAGE(TIFLASH[table_name]) */ * FROM table_name WHERE ...;
  4. 检查执行计划

    • 使用EXPLAIN命令查看查询是否在TiFlash上执行。
    • 执行计划中应出现cop[tiflash]标识。

TiFlash结合了列式存储的优势和TiDB的分布式特性,为HTAP场景提供了高效、灵活的数据处理和分析能力。通过手动指定数据同步、查看副本状态、指定查询引擎和检查执行计划,用户可以充分利用TiFlash的功能和性能优势。

上一篇 下一篇

猜你喜欢

热点阅读