自下而上-存储全栈(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. 数据库