TiFlash是TiDB的列式存储引擎,专为加速分析型查询设计。以下是关于TiFlash的关键信息和操作指南:
TiFlash特点与优势
- 列式存储:TiFlash采用列式存储,适合OLAP查询,减少I/O操作和内存开销。
- 实时性与一致性:通过Raft Learner协议异步复制TiKV数据,提供与TiKV一致的数据读取,确保数据最新且强一致。
- 智能选择:TiDB可智能选择使用TiFlash或TiKV,甚至混合使用,以优化性能。
- 计算加速:TiFlash分担TiDB计算压力,提高数据库整体性能。
- 简化架构:在TiDB集群中直接使用TiFlash,无需额外部署分析型数据库。
- 灵活扩展:TiFlash保持TiDB的分布式和可扩展性。
操作指南
-
数据同步:
- TiFlash默认不自动同步数据,需手动指定同步的表。
- 使用
ALTER TABLE
语句设置TiFlash副本数:ALTER TABLE table_name SET TIFLASH REPLICA num;
(num
为0时删除副本,为2时在TiFlash创建副本)
-
查看副本状态:
- 查询
information_schema.tiflash_replica
表查看副本状态。 -
AVAILABLE
字段为“1”表示副本可用,“0”表示不可用。 -
PROGRESS
字段表示同步进度,值在0.0~1.0之间,“1”表示至少有一个副本完成同步。
- 查询
-
指定查询引擎:
- 使用TiDB的SQL优化提示来指定查询使用TiFlash或TiKV。
- 示例:
SELECT /*+ READ_FROM_STORAGE(TIFLASH[table_name]) */ * FROM table_name WHERE ...;
-
检查执行计划:
- 使用
EXPLAIN
命令查看查询是否在TiFlash上执行。 - 执行计划中应出现
cop[tiflash]
标识。
- 使用
TiFlash结合了列式存储的优势和TiDB的分布式特性,为HTAP场景提供了高效、灵活的数据处理和分析能力。通过手动指定数据同步、查看副本状态、指定查询引擎和检查执行计划,用户可以充分利用TiFlash的功能和性能优势。
网友评论