写点什么

TiKV 架构原理(笔记)

  • 2022 年 7 月 11 日
  • 本文字数:579 字

    阅读完需:约 2 分钟

作者: lvlei 原文来源:https://tidb.net/blog/30f03150

TiKV 架构原理(笔记)

  1. 设计目标

  2. 高性能 KV 存储引擎

  3. 保证多个机器之间的数据一致性

  4. 支持 ACID 事务

  5. 可以实现自定义数据分布和负载均衡

  6. 存储引擎,RocksDB

  7. LSM-tree:顺序写,优化写性能

  8. 分层存储,多级缓存,提高数据读取效率: 热数据在上层

  9. 关键特性

  10. Column Family

  11. 精细的 compaction,配置线程数,手动触发,rate limiter

  12. ingest external sst file: 快速插入数据,快速 balance

  13. prefix bloom filter/iterator upper bound:特殊场景下加速 scan

  14. Raft

  15. 选举:follower-candidate-Leader

  16. 日志复制:leader 复制给 follower

  17. 关键特性

  18. Leader lease 本地读,优化读请求(注:每个心跳会重新续 Lease)

  19. Follower reader 分担 leader 压力

  20. 动态副本变更,方便调度

  21. Batch 合并多个 region 的写入(注:raft 支持的 Batch 操作)

  22. Milti-Raft

  23. 负载均衡 balance

  24. 分裂 split

  25. 合并 merge

  26. 分布式事务

  27. 基于 percolator 模型

  28. PD 集成授时服务,保证全局时序

  29. 两阶段提交

  30. 乐观事务并发: 客户端缓存数据(unionstore),提交时才检测冲突

  31. 可选悲观事务

  32. 客户端作为事事务的协调者(tidb)

  33. 不适用单点事务管理器(primary key)

  34. 2pc

  35. prewrite: 同步写 primarykey&secondarykey

  36. commit: 提交 primary key 就表示成功,异步提交 secondary key

  37. Coprocessor

  38. 下推函数到 Tikv 执行

  39. TiKV 独立组件,低耦合

  40. 向量化执行(每次处理多行,聚合表达式按列计算)


发布于: 刚刚阅读数: 2
用户头像

TiDB 社区官网:https://tidb.net/ 2021.12.15 加入

TiDB 社区干货传送门是由 TiDB 社区中布道师组委会自发组织的 TiDB 社区优质内容对外宣布的栏目,旨在加深 TiDBer 之间的交流和学习。一起构建有爱、互助、共创共建的 TiDB 社区 https://tidb.net/

评论

发布
暂无评论
TiKV架构原理(笔记)_TiDB 社区干货传送门_InfoQ写作社区