PolarDB开源生态介绍 - 杭州Meetup 2022.10.15技能成长 获客 降本 影响力 新商机、 降本 合作沙龙、比赛 合作项目、解决方案 参与社区分享 • 编程之夏 • 黑客松 开源课程: (学习、实验、评 测、认证、实践、 代码协作) • 训练营 • 电子书 • 评测局 • 开源认证考试 • 开源学堂 • 内核课程 PolarDB开源社区 (2W+用户) github、官网、钉钉、微信、B站、知乎、csdn、0 码力 | 7 页 | 1.45 MB | 6 月前3
Raft在Curve存储中的工程实践支持在物理机上挂载使用块设备或FUSE文件 系统开源社区 社区运营 生态共建 开源共建 源码兜底 技术领先 目标 方法 影响力 降本 获客 用户 开发者 操作系统 芯片 数据库 云原生 AI训练 大数据 社区生态Curve介绍 01 02 raft和braft 03 raft在Curve中的应用 05 Q&A 04 Curve对raft的优化RAFT协议简介 什么是raft0 码力 | 29 页 | 2.20 MB | 6 月前3
CurveFS方案设计需要bitmap的大小为40MB 在设计过程中,对于每个文件系统,blk应该是可以根据业务形态来配置的 bitmap重建时间? 如果通过获取所有inode,重建出当前的空间分配情况,我们常见的业务形态有以下两种: ① 在AI训练等场景,文件的目录层级较少,文件数量较多,文件较小。这种情况inode比较聚集,一般分布在几个复制组上。inode数量多。 ② 在数据库等场景,文件的目录层级较少,文件数量较少,文件很大。这种情况i0 码力 | 14 页 | 619.32 KB | 6 月前3
Curve支持S3 数据缓存方案小io每次都要和s3交互,导致性能非常差。 因此需要通过Cache模块解决以上2个问题。 整体设计 整个dataCache的设计思路,在写场景下能将数据尽可能的合并后flush到s3上,在读场景上,能够预读1个block大小,减少顺序读对于底层s3的访问频次。从这个思路上该缓存方案主要针对的场景是顺序写和顺序 读,而对于随机写和随机读来说也会有一定性能提升,但效果可能不会太好。 元数据采用2层索引 inodeId是永远不可重复。 读写缓存分离 读写缓存的设计采用的是读写缓存分离的方案。 写缓存一旦flush即释放,读缓存采用可设置的策略进行淘汰(默认LRU),对于小io进行block级别的预读。 即读写缓存相互没影响不相关, 缓存层级 缓存层级分为fs->file->chunk->datacache 4层,通过inodeId找到file,通过index找到chunk,然后通过offs0 码力 | 9 页 | 179.72 KB | 6 月前3
Curve核心组件之chunkserverChunkServer的目录结构: • 每个copyset一个目录,后面三个目录由braft管理,data目录由DataStore管理 • Curve中的Chunk全部来自Chunkfilepool,是在系统初始化的时候预创建好并覆盖写过一遍的一些chunk,减少IO放大CURVE基本架构 01 02 03 04 ChunkServer架构 ChunkServer核心模块 新版本ChunkServer性能优化新版本ChunkServer性能优化0 码力 | 29 页 | 1.61 MB | 6 月前3
共 5 条
- 1













