Curve文件系统元数据持久化方案设计1、inode、entry 的编码 2、KVStore Q&A 单靠 redis 的 AOF 机制能否保证数据不丢失? redis 的高可用、高可扩方案? redis + muliraft 存在的问题? redis 改造 vs 自己实现? redis 中哈希表实现的优点? 参考 前言 根据之前讨论的结果,元数据节点的架构如下图所示,这里涉及到两部分需要持久化/编码的内容: Raft Log:记录 operator redis 改造 vs 自己实现? 结论:从目前元数据持久化的需要来看,更倾向于自己实现,理由如下: redis 目前不支持单独持久化 redis 中的某个 DB (一个 redis 实例可包含多个 DB) 或数据结构,这对于在要使用 multiraft 的场景下,每个 raft 实例需要独立的快照并不合适 如果改造 redis,初步评估了下,其工作量要比自己实现持久化的逻辑要大一些,改造主要是为了让 了让 redis 提供单独 dump/load 一个 DB 的功能: 如果改造,dump/load 的逻辑都得动,而且会牵扯到一些其他逻辑(如主从复制,因为 redis 主从全量复制发送的就是一整个 RDB 文件,即使我们不需要这个功能,这部分代码也是有耦合的)© XXX Page 11 of 12 1. 2. 3. 如果自己实现,只是一个简单的 sava/load 逻辑,比较清晰0 码力 | 12 页 | 384.47 KB | 6 月前3
MySQL 兼容性可以做到什么程度Maxwell Debezium A: PolarDB-X 全局 Binlog:完全兼容 • 与 MySQL Binlog 体验完全一致 • 保障分布式事务完整性 • 透明:下游系统或工具改造成本为零 • 实现复杂度高 Q: 分布式数据库有哪些问题要考虑Demo for Global Binlog with Flink CDCPolarDB-X Global Binlog 特性详情0 码力 | 18 页 | 3.02 MB | 6 月前3
CurveFS方案设计扩展性/可用性/可靠性 使用 multi-raft, 扩展性、可用性和可靠性与元数据节点一致 对比结论 CurveFS 近期要能支持mysql所要接口,长期需要支持通用文件接口。 kv 虽然改造简单,短期内对基本功能的支持没有问题,但这个架构不利于 Curve 长期的规划和演进,因此选择通用的 dentry,inode 两层映射的元数据结构。对于 fs© XXX Page 4 of 140 码力 | 14 页 | 619.32 KB | 6 月前3
共 3 条
- 1













