MIT 6.5840 和 TinyKV:从分布式系统到分布式数据库存储层
发表于
分类于
分布式系统
最近把 MIT 6.5840 和 TinyKV 都重新梳理了一遍。它们看起来都在写 KV、Raft、分片和容错,但真正做下来会发现,二者的训练目标很不一样。
MIT 6.5840 更像分布式系统正确性的训练营。它关心的是:在 RPC 丢包、乱序、重试、网络分区、节点重启这些条件下,系统怎样还能给出正确结果。TinyKV 更像分布式数据库存储层的缩小版。它关心的是:数据如何落到本地存储,Raft 如何接入真实的 raftstore,Region 如何分裂和调度,事务如何通过 MVCC 和 Percolator 协议实现。
一句话概括:
1 | MIT 6.5840 训练的是分布式系统底层正确性。 |
先用一张图把两条路线摆在一起:
也可以用 Mermaid 把它抽象成两条学习路径:
flowchart LR
ROOT["两条路线都在训练 KV + Raft,但落点不同"]
ROOT --> MIT0["MIT 6.5840<br/>系统正确性"]
MIT0 --> RAFT["Raft / KVRaft<br/>复制状态机"]
RAFT --> SHARD["ShardKV<br/>分片迁移"]
ROOT --> TINY0["TinyKV<br/>数据库存储层"]
TINY0 --> RK["RaftKV / Multi-Raft<br/>Region + raftstore"]
RK --> TXN["Transactions<br/>MVCC / Percolator"]
RAFT -. "共识底座" .-> RK
SHARD -. "分片思想" .-> RK
计算机网络(第七版)谢希仁-第4章 网络层
发表于
分类于
笔记
计算机网络(第七版)谢希仁-第3章 数据链路层
发表于
分类于
笔记
