builddatabase icon indicating copy to clipboard operation
builddatabase copied to clipboard

Build a distributed SQL database from the ground up

从零开始写分布式数据库

TiDBTiKV 源码为例

  • 第一章 概论

  • 第二章 基础知识

    • [数据库的隔离级别]
    • [select for update or not]
    • [分布式系统的 CAP 理论]
    • Google Spanner 简介
    • Google F1 简介
    • [HBase 简介]
    • Google percolator 事务模型
    • Yahoo 的 omid 事务模型
    • [TiDB 的分布式事务模型]
    • TiDB 的源码介绍
    • 如何参与 TiDB 开源项目
    • 如何添加新的 key value 存储引擎
  • 第三章 SQL解析

  • 第四章 MySQL 协议支持

    • [协议概述]
    • [如何用 wireshark 来辅助调试]
    • [Request 格式]
    • [Response 格式]
    • [Prepare 语句支持]
    • [TiDB 代码分析]
  • 第五章 执行计划优化

    • [基于规则的优化]
    • [基于开销分析的优化]
    • [分布式/并行优化]
    • [延迟计算]
    • [案例分析:FoundationDB, Apache Phoenix]
    • [案例分析:Google F1, GreenPlum]
    • [TiDB 优化器代码分析]
  • 第六章 分布式 SQL 数据库的异步 Schema 变更

    • 深度剖析 Google F1 的 schema 变更算法
    • TiDB 的异步 schema 变更实现
  • 第七章 高级

    • Hybird logical clocks
    • [深入分析 Spanner 那些相关的论文]
    • [一些新的论文和技术讨论]
  • 第八章 实现一个分布式 key-value 引擎

    • [raft 协议介绍]
    • [TiKV 的 raft 实现]
    • [聊聊 Google Spanner]
    • [TiKV 系统架构]
    • [TiKV 实现实现跨数据中心容灾]
    • [TiKV 如何实现自动扩容]
    • [TiKV 分布式事务实现]
  • 第九章 如何测试分布式系统

    • [大话测试]
    • [用 Jepsen 模拟网络分区,延迟]
    • [用 Namazu 实现 fault injection]
    • Fuzz test