TiDB 专为增长不可预测的代理级工作负载而构建,具有 ACID 保障和原生支持
分布式事务: TiDB 使用两阶段提交协议来确保符合 ACID 规范,提供强大的一致性。事务跨越多个节点,TiDB 的分布式特性可确保即使在网络分区或节点故障的情况下,数据也保持正确性。
高可用性: 内置的 Raft 共识协议确保可靠性和自动故障切换。数据存储在多个副本中,事务只有在写入大多数副本后才能提交,从而保证强大的一致性和可用性,即使某些副本发生故障。可以为不同的灾难容错级别配置副本的地理位置。
混合事务/分析处理 (HTAP): TiDB 提供了两个存储引擎: TiKV(基于行的存储引擎)和 TiFlash(基于列的存储引擎)。TiFlash 使用 Multi-Raft Learner 协议实时复制 TiKV 中的数据,确保 TiKV 基于行的存储引擎和 TiFlash 基于列的存储引擎之间的数据一致性。
planner: 使用小数点精度保护,分阶段启用 COALESCE UPDATE 计划缓存
copr: lock-fallback 重试使领导节点保持 replica_read=true,从而绕过 TiKV 内存引擎
执行器: 在内部结果收集期间,IndexJoin OOM 发生崩溃,导致内部执行器和工作程序泄露
声明摘要历史记录中没有为准备的 FROM_UNIXTIME 参数剪裁时间范围
Flaky 测试: 测试 pkg/executor 中的 TestFlushStatsDelta
Flaky 测试: pkg/ttl/session 中的 TestSessionKill
Flaky 测试: 在 pkg/resourcegroup/tests 中执行 TestResourceGroupRunaway 测试
片状测试 TestIssue54055
Flaky 测试: tests/realtikvtest/addindextest3 中的 TestBackfillOperatorPipelineException 测试
Flaky 测试: 在 pkg/session/syssession 中测试 TestDomainAdvancedSessionPoolInternalSessionRegistry