Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/ngaut/builddatabase
Build a distributed SQL database from the ground up
https://github.com/ngaut/builddatabase
Last synced: 9 days ago
JSON representation
Build a distributed SQL database from the ground up
- Host: GitHub
- URL: https://github.com/ngaut/builddatabase
- Owner: ngaut
- Created: 2015-08-02T09:46:53.000Z (over 9 years ago)
- Default Branch: master
- Last Pushed: 2022-09-11T10:54:09.000Z (over 2 years ago)
- Last Synced: 2024-10-22T22:39:40.350Z (about 2 months ago)
- Homepage:
- Size: 5.01 MB
- Stars: 2,148
- Watchers: 283
- Forks: 309
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
- stars - ngaut/builddatabase
- my-awesome - ngaut/builddatabase - 09 star:2.1k fork:0.3k Build a distributed SQL database from the ground up (Others)
README
# 从零开始写分布式数据库
以 [TiDB](https://github.com/pingcap/tidb) 和 [TiKV](https://github.com/pingcap/tikv) 源码为例* 第一章 概论
* 第二章 基础知识
* [数据库的隔离级别]
* [select for update or not]
* [分布式系统的 CAP 理论]
* [Google Spanner 简介](spanner/README.md)
* [Google F1 简介](f1/README.md)
* [HBase 简介]
* [Google percolator 事务模型](percolator/README.md)
* [Yahoo 的 omid 事务模型](omid/README.md)
* [TiDB 的分布式事务模型]
* [TiDB 的源码介绍](tidb/sourcecode.md)
* [如何参与 TiDB 开源项目](howto/README.md)
* [如何添加新的 key value 存储引擎](tidb/storage.md)
* 第三章 SQL解析
* [词法分析与 golex 用法]
* [语法分析与 goyacc 用法]
* [通过案例看解决Reduce/Reduce冲突](https://github.com/pingcap/tidb/pull/589/files)
* [通过案例看如何解决Shift/Reduce冲突](https://github.com/pingcap/tidb/pull/128/files)
* [解析整个语句的执行流程]
* [案例:为 TiDB 添加一个新的函数](tidb/builtin.md)
* [案例:为 TiDB 添加一个语句]
* [思考:如何支持 json/protocol buffer]
* 第四章 MySQL 协议支持
* [协议概述]
* [如何用 wireshark 来辅助调试]
* [Request 格式]
* [Response 格式]
* [Prepare 语句支持]
* [TiDB 代码分析]
* 第五章 执行计划优化
* [基于规则的优化]
* [基于开销分析的优化]
* [分布式/并行优化]
* [延迟计算]
* [案例分析:FoundationDB, Apache Phoenix]
* [案例分析:Google F1, GreenPlum]
* [TiDB 优化器代码分析]
* 第六章 分布式 SQL 数据库的异步 Schema 变更
* [深度剖析 Google F1 的 schema 变更算法](f1/schema-change.md)
* [TiDB 的异步 schema 变更实现](f1/schema-change-implement.md)
* 第七章 高级
* [Hybird logical clocks](hlc/README.md)
* [深入分析 Spanner 那些相关的论文]
* [一些新的论文和技术讨论]* 第八章 实现一个分布式 key-value 引擎
* [raft 协议介绍]
* [TiKV 的 raft 实现]
* [聊聊 Google Spanner]
* [TiKV 系统架构]
* [TiKV 实现实现跨数据中心容灾]
* [TiKV 如何实现自动扩容]
* [TiKV 分布式事务实现]
* 第九章 如何测试分布式系统
* [大话测试]
* [用 Jepsen 模拟网络分区,延迟]
* [用 Namazu 实现 fault injection]
* Fuzz test