自下而上-存储全栈(TiDB/RockDB/SPDK/fuse/ceph/NVMe/ext4) v1.4
零声教育
2025-01-18
自下而上-存储全栈(TiDB/RockDB/SPDK/fuse/ceph/
NVMe/ext4)(
红色字体为待更新
)
5. 应用层
2. 内核层
4. SPDK
5.1 项目:图床存储引擎 fastdfs
5.2 ceph
5.3 RockDB
5.4 TiDB
2.1 ext4
2.2 xfs
4.1 项目:文件系统
4.2 项目:NVMe的kv存储
2.3 btrfs
2.4 procfs
2.5 tracefs
2.6 项目:无存储文件系统Kingfs
2.7 项目:nvme文件系统zerofs
1. 接口驱动层
1.1 NVMe
1.2 SATA
1.3 SCSi
3. vfs
3.1 io_uring
3.2 fuse
LSM-Tree对于磁盘访问速度
Memtable落盘策略
SST文件格式
BlockCache LRU缓存
Clock缓存机制
写入流程
读取流程
LSM-Tree的三大问题
预写式日志 Write-Ahead Log
In-Memory Write Buffer
分布式关系型数据库 兼容MySQL5.7
水平扩展 redis-cluster
HTAP的OLTP与OLAP
TiDB本地部署
集群测试
TiDB分布式数据库整体架构
TiDB Server的模块分析
Physical与Logical Optiomizer
存储节点与数据映射关系
PD Server调度
raft列、lock列,write列,default列
TiKV Server数据存储
TiFlash的列式存储
分布式事务与MPP
WriteStall 写停顿
raft运行机制
两阶段提交
隔离级别
MVCC
ceph的Docker集群部署
librados写入
后端存储 ObjectStore
1.4 RDMA
fastdfs架构分析和配置
快速配置fastdfs
上传文件逻辑分析
下载文件逻辑分析
tracker,storage分析
存储机制
支持断点续传
相同文件内容只保存一份
同步机制
线性扩容
如何实现高可用
负载均衡
fastdfs-nginx-module模块分析
fastcgi请求与响应
nginx与fastcgi如何通信
nginx-fastcgi-fastdfs如何实现上传下载
http接口设计
图床数据库设计
图床文件上传,下载,分享功能实现
业务流程实现
存储池
RBDCache具体实现
Ceph加密和压缩
dmClock客户端
Ceph性能测试与分析
CRUSH算法
数据操作流程
spdk blob文件系统设计分析
文件系统引入线程与json配置解析
blobstore与blob的关系
4层结构设计vfs
spdk的异步改造posix 同步api
open/write/read/close的实现
LD_PRELOAD更好mysql系统调用实现
iodepth讲解
随机读,随机写,顺序读,顺序写
fuse的运行原理
fuse内核模块
libfuse的开发库
fuse_operation结构体分析
实现fuse文件系统
项目:fuse与opencv实现图片加水印
io_uring异步io
cq与sq的运行原理
liburing的开发库
psync与io_uring的iops性能对比
内存映射IO(mmap)
无锁队列
零拷贝
项目:实现tcp+io_uring
io_uring与epoll的qps对比
io_uring的setup/enter/register
liburing接口与psync接口的关系
从blob读写到文件系统的原语操作实现
KV存储拆解 Set,Get,Mod,Del
bdev与blob对于kv存储的选择
kv service接口 set,get,modify,delete
pagechunk的get与put
btree/hash/map/radixtree/rbtree之间的选择
slab分配slot与释放slot
为kv存储加上conf文件
kv存储测试用例与性能测试
参考资料
ext4 Data Struct And Algorithms
NVM-Express-Base-Specification-2.0c-2022
A Remote Direct Memory Access Protocol Specification(rfc5040)
SCSI Commands Reference Manual
Serial ATA International Organization
Supplement to InfiniBand Architecture Specification
XFS FileSystem Structure
BTRFS: The Linux B-Tree FileSystem
6. 零声服务
招聘网站搜索关键字
1. spdk
2. ceph
3. RocksDB
4. NVMe
5. ext4
6. glusterfs
7. TiDB
8. 数据库
零声教育