TiDB 社区博客 - 技术解读

11 篇内容

技术文章TiDB 社区博客 - 技术解读

我的TiDB 架构原理概念学习

文章系统梳理 TiDB 的分布式架构原理,围绕分层解耦与计算存储分离展开。先介绍 TiDB Server、PD、TiKV、TiFlash 四组件职责,再说明 Region 分片、RocksDB 双实例、Raft 多副本与 PD 调度机制;随后解释基于 Percolator 和 MVCC 的分布式事务,以及乐观/悲观两种模式。接着讨论 HTAP 双引擎:TiFlash 以 Raft Learner 异步同步、ReadIndex 一致性读取和 MPP 并行执行支撑分析查询,最后总结计算下推等优化原则。内容适合作为入门概览,但对具体源码、调优参数、故障案例与实验数据展开较少。

推荐收录:文章以分层解耦为主线,完整串联 TiDB 四组件、Region/Raft 存储机制、Percolator 事务和 TiFlash HTAP 协同,能帮助读者建立分布式数据库的全局架构认知。对需要理解计算存储分离、多副本一致性与 HTAP 取舍的开发者、DBA 和系统设计者具有迁移价值;不足是偏概念综述,缺少源码、参数调优和故障案例,适合入门与复习而非深度排障。

技术文章TiDB 社区博客 - 技术解读

一文了解平凯数据库的容灾能力:集群内高可用、集群级容灾、历史数据恢复

文章系统介绍平凯数据库的三层容灾体系。第一层是集群内多副本高可用:数据分片在 TiKV 多副本、经 Raft 多数派写入,可容忍节点、磁盘和局部网络故障,但保护边界限于单集群和单机房。第二层是物理复制,在生产与灾备集群之间建立独立集群级复制,支持跨机房/地域接管,并区别于逻辑复制。第三层是 BR 与 PITR,用于误删、数据污染和勒索后的历史时间点恢复。文章强调三者互补而非替代,但没有给出 RPO/RTO、性能开销和具体运维步骤,偏产品能力概述。

推荐收录,因为它清晰划分集群内高可用、集群级物理复制与 BR/PITR 历史恢复的故障边界,能帮助数据库架构师判断多副本不等于灾难恢复,并理解跨机房容灾与数据回滚的不同目标。主要风险是产品视角较强,缺少 RPO/RTO、性能开销和演练细节,适合作为容灾体系设计的概念框架而非实施手册。

技术文章TiDB 社区博客 - 技术解读

TiDB 向量搜索与 AI 集成

文章系统介绍 TiDB 的向量搜索能力与 AI 集成实践:先说明向量搜索与 Embedding 的基本原理,再讲解 TiDB 原生 VECTOR 数据类型、向量写入方式、VEC_COSINE_DISTANCE/VEC_L2_DISTANCE 等距离函数,以及 HNSW 向量索引的参数含义。随后给出构建 RAG 知识库问答的完整架构与 Python 代码,演示与 OpenAI Embedding、LangChain、LlamaIndex 的集成思路,并讨论索引构建时机、HNSW_EF_SEARCH 调参和向量维度取舍等性能优化要点。核心结论是 TiDB 可在同一条 SQL 中结合向量检索与结构化过滤,避免维护两套系统。不足在于部分代码为占位或有误(如框架集成示例将查询向量写成空数组),且向量索引依赖 TiFlash,社区版暂不支持 SQL 建索引,整体偏入门教程。

收录理由是文章把 TiDB 原生 VECTOR 类型、HNSW 索引与“向量+结构化条件”混合搜索放在同一 SQL 中讲解,并配有 RAG 知识库与 LangChain/LlamaIndex 集成示例,对希望在现有关系库上落地向量检索的开发者有可迁移价值。需注意部分示例代码为占位或含错误、索引依赖 TiFlash,读者应结合官方文档验证后再用于生产环境。

技术文章TiDB 社区博客 - 技术解读

TiDB 的 Region:不是书架格子,而是一段会“分裂、搬家、合并”的图书编号区间

文章以图书馆编号区间为比喻,纠正“Region 是固定物理格子”的常见误解,指出它是 Key 空间中的连续区间及对应 Raft 副本状态。作者分层解释 Region、Peer、Raft Group、PD 与 RegionCache 的关系,并说明 Split、Merge、副本迁移如何改变逻辑边界和副本分布。文中还串联 RegionEpoch、EpochNotMatch/NotLeader 处理,以及 SQL 请求经 TiDB、RegionCache、Leader Peer 到 RocksDB 的定位路径。核心结论是逻辑分片与物理存储、复制和调度解耦,从而支撑弹性扩展、高可用与负载均衡。边界在于作者声明为个人学习解读,未展开源码、实验和版本差异,阈值与具体机制仍依赖 TiDB/TiKV 配置。

推荐收录:文章用清晰比喻和分层结构,把 Region、Peer、Raft、PD、RegionEpoch 及请求路由串成完整认知链路,并明确 Split/Merge/迁移的边界,能帮助 TiDB/TiKV 初学者和分布式数据库开发者建立正确心智模型。它不是产品发布或泛泛教程,核心概念和排障思路可迁移到分布式分片系统,但读者需注意其个人解读属性,具体阈值应回到官方文档与版本源码验证。

技术文章TiDB 社区博客 - 技术解读

用“多人团购”理解Percolator协议

本文以“公司多人团购”作为主线隐喻,系统讲解 Google Percolator 分布式事务协议及其在 TiDB 事务实现中的应用。作者从 Prewrite 阶段写入 Data + Lock 但尚未写入 Write Record 的可见性原理入手,对照 default/lock/write 三个列族解释数据状态。随后逐步说明 Primary Lock 的意义,指明故障恢复时只需检查 Primary 是否已提交:已提交则 roll-forward,未提交则 rollback,并提到 TTL 等待逻辑。文章还覆盖 TSO 时间戳排序、MVCC 快照隔离,以及 Commit 阶段对 Lock 冲突和 commit_ts > start_ts 写冲突的检查。最后介绍 Observer 的异步通知和消息折叠优化,强调 Percolator 是在 Bigtable 不支持跨行事务的前提下,把 MVCC、2PC、Primary Lock 与 Observer 组合起来,从而支持 ACID 事务和增量计算。文中也清楚指出 Observer 通知并不具备事务性强一致性,这是重要的适用边界。

推荐收录。它不是浅层概念科普,而是把 Percolator 中最容易混淆的 Prewrite 可见性、Primary Lock 恢复判定、Commit 冲突检查以及 Observer 的局限逐一展开说明,能帮助读者快速建立准确的心智模型。适合数据库内核、分布式事务相关工程师和学习者在阅读原始论文或 TiDB 事务文档前使用。通俗类比简化了延迟、容错和真实锁细节,但主线机制可靠,具有长期参考价值。

技术文章TiDB 社区博客 - 技术解读

为什么 TiKV 要把事务数据拆成三个"抽屉"?

文章从 TiDB 培训中的 Column Family 概念困惑出发,梳理了 Column Family 在 Bigtable、HBase 和 TiKV/RocksDB 中的角色演变。作者指出 Bigtable 引入 CF 是为了逻辑分组、资源管理和数据局部性;HBase 将其作为用户可见的数据建模单元;而 TiKV 则借助 RocksDB 的 CF 机制承载 Percolator 事务模型中的 data、lock、write 三类逻辑数据。文章结合源码解释了一个 RocksDB CF 基本等同于一棵独立 LSM Tree,拥有自己的 MemTable、SST 和 Compaction 状态,因此 TiKV 拆三个 CF 是为了让生命周期和访问模式不同的数据互不干扰,降低写入放大、避免大 Value 挤占缓存。文章还澄清拆分发生在事务存储层而非用户表层,并说明隔离仅限于 LSM Tree 层,各 CF 仍共享 WAL 和线程池。整体属于对 TiKV 事务存储设计原理的深入解读,但主要基于公开论文、源码和个人理解,未涉及运行时实测对比。

推荐收录。文章不是产品介绍,而是从 Bigtable/Percolator 论文到 RocksDB 源码的完整技术考证,把 TiKV 三个 Column Family 的隔离动机解释得很清楚。适合数据库内核、分布式系统和存储引擎方向的工程师与研究者阅读,也可以作为理解 LSM Tree 与事务存储结合的参考材料。其可迁移价值在于展示了从逻辑数据分类到物理存储隔离的工程取舍思路,但结论来自代码阅读与公开资料,缺少实测数据,阅读时需注意这一点。

技术文章TiDB 社区博客 - 技术解读

看懂 TiDB 向量索引(上篇·技术背景)

文章系统讲解向量检索的技术背景:从 Embedding 将对象映射为高维空间中的点入手,说明余弦、内积等相似度度量,并指出全量暴搜 KNN 的成本是 O(N·D),难以扩展到亿级数据。随后引入 ANN 与召回率指标,提出在近似索引中以可控精度损失换取数量级提速。作者分别剖析了 IVF 聚类倒排索引、HNSW 分层图索引和 SPFresh 动态分区索引的原理、查询流程、漏扫原因与核心参数,并从内存占用、更新能力、适用场景做横向对比,强调工程选型需结合数据规模和写入频率。文章逻辑清晰但属背景铺垫,真实工程实现和性能验证留待下篇。

文章不是简单罗列概念,而是用数据库工程师熟悉的“分治/近似”思想拆解向量索引的算法差异,对 IVF、HNSW、SPFresh 的召回率、内存开销和控制参数都有具体分析,能直接帮助读者在选型或阅读架构文档时理解 trade-off。适合后端工程师、数据库研发和需要落地 RAG/向量检索的团队。需留意作者最终落脚于 TiDB 的 SPFresh,属于厂商技术博客,阅读时应结合其他来源交叉验证。

工程实践TiDB 社区博客 - 技术解读

数据库安全合规方案:等保三级/加密/审计/访问控制完整设计

本文以 TiDB 为例,系统设计了一套满足等保三级要求的数据库安全合规方案。文章从身份鉴别、基于角色的访问控制(RBAC)、传输加密(TLS/mTLS)、存储加密(TDE)和 SQL 级审计追踪五个维度展开,给出了具体的 SQL、YAML 配置和审计日志流转架构。作者还量化了 TDE 对读写性能的影响(写入约 3-5%、读取小于 2%),并基于 QPS 和 SQL 长度估算了审计日志的存储开销,最后提供了等保三级落地检查清单和常见问题解答。方案面向 TiDB 数据库,技术上具有可操作性,但部分能力(如 KMS 密钥管理)依赖云厂商服务,性能与存储估算也需要在真实业务负载下验证。

推荐收录,因为它不是泛泛的安全理念,而是围绕等保三级这一具体合规目标给出的可执行配置模板,覆盖身份、授权、加密、审计的完整链路。对负责数据库安全、合规落地的 DBA、安全工程师或架构师,文中的 RBAC 设计、审计告警规则和性能数据都有直接参考价值,可迁移到其他支持类似特性的分布式数据库。不过需要注意,配置细节和云厂商绑定可能随版本更新,落地前应做实际环境验证。

技术文章TiDB 社区博客 - 技术解读

TiKV中MVCC的具体实现解读

文章深入解读 TiKV 的 MVCC 实现,通过三个 Column Family(CF_LOCK/CF_WRITE/CF_DEFAULT)将锁、提交记录和历史版本编码进 key。它详细分析 Write、Lock 记录结构与 MvccTxn 的写缓冲机制,说明 Prewrite 的冲突检查、Commit 的原子提交点以及 Rollback 的显式回滚标记。读路径部分展示快照读如何按 commit_ts 扫描 Write Record 并定位数据版本。文章还总结锁与数据同地存储、Write Record 作为提交点、操作可重试、MVCC 与 Raft 解耦等设计动机,但以源码解析为主,未覆盖所有异常分支。

文章以源码和代码引用为证据,系统梳理了 TiKV 分布式事务中 MVCC 的完整机制,从数据布局、两阶段提交到读路径均有清晰解释,适合研究分布式数据库或事务实现的读者。文中对设计取舍的分析和可重试、分层解耦等思想可直接迁移到其他存储系统设计中。主要局限是偏重源码解读,版本迭代可能带来差异,但不影响长期参考价值。

技术文章TiDB 社区博客 - 技术解读

深度解读TiDB 的 HTAP

本文深度解读 TiDB 的 HTAP 架构,指出其核心并非简单拼凑事务处理与分析,而是通过一套统一架构实现实时性与隔离性兼得。文章以智能工厂为比喻,说明 TiKV 行存储负责高并发 OLTP,TiFlash 列存储负责大规模 OLAP,TiDB Server 通过成本优化器自动选择或混合使用两种引擎。关键机制在于 TiFlash 通过 Raft Learner 协议异步实时复制 TiKV 数据变更,对写入无阻塞,且能提供秒级数据新鲜度和快照级别一致性。作者还介绍了该架构在简化数据链路、实时决策、降本增效方面的实战价值,并列举广发银行、华安基金等案例。文章最后指出 TiDB 的 HTAP 是在实时性、一致性、易用性和混合负载之间寻求平衡,而非单点性能极致。

推荐收录,因为文章系统阐释了 HTAP 的架构设计内核,包括存储引擎分工、Raft Learner 复制机制和一致性保障,技术细节明确且具有可迁移的架构参考价值。适合数据库工程师、架构师以及关注分布式系统设计的技术人员阅读,可帮助理解混合负载场景下的取舍与实现路径。

技术文章TiDB 社区博客 - 技术解读

AI Agent 的"大脑记忆":为什么向量+关系+全文检索必须一体化

文章系统讨论 AI Agent 的记忆体系,借鉴认知科学将记忆分为短期、语义和情景三层,并补充全文检索记忆需求。作者批评用 Redis、MySQL、向量库和 Elasticsearch 拼接的方案存在数据一致性、混合查询困难和运维复杂等痛点,提出应在同一数据库内核中原生融合关系、向量和全文检索能力。文章以 TiDB 8.5 为例,展示通过 VECTOR 列、向量索引和全文索引在单条 SQL 中组合结构化过滤、语义检索和关键词匹配的实现方式,并说明平凯云服务的 Serverless 弹性、HTAP 能力和全球部署优势。文章适合关注 Agent 记忆系统、RAG 或数据库选型的开发者,但需注意其官方博客的产品宣传色彩和方案边界。

推荐收录。文章不仅解释了 Agent 记忆的分类和需求,还具体分析了多系统拼接架构的工程痛点,并给出使用 TiDB 原生融合关系、向量和全文检索的 SQL 示例,证据具体、有可操作价值。适合构建有状态 AI Agent、RAG 应用或需要混合检索能力的开发者参考,可迁移架构思路,但需注意其中隐含的厂商推广和 TiDB 特定实现约束。