一、数据库事务
大规模数据,高效原子操作
1、索引和查询优化
二、数据库的实现
虚拟磁盘(文件)上的数据结构
1、把SQL查询翻译成read,write,lseek,fsync的调用
2、并发控制(事务处理)
三、分布式系统的基础
分布式共识协议
1、复制状态机
2、RaftScope Visualization Tool
三、分布式数据模型:Key-Valie
LevelDB Key-Value Storage
1、单进程(多线程),按Key排序
2、支持transactions
3、支持快照(对某个状态瞬间只读快照)
一种实现方式:日志
1、snapshot()返回当前文件的长度
2、put(k,v)都直接把k,v追加写到文件尾部
(1)效率极高
3、get(k,v)遍历整个文件
(1)效率极低(读放大)
四、Log-structured Merge(LSM)Tree
一个模拟出的memory hierarchy
1、写入直接append to log file
2、Crash safe;不能太快
解决读放大
1、现在内存中维护log的实时数据结构