存储与持久化
理解 SSD 值、内存索引、分组记录与恢复边界。
内存与 SSD
键和查找元数据仍需 DRAM。值保存在追加写 SSD 存储中,采用不可变记录版本。稳定版将大型集合和 Streams 拆为分组记录,大字符串使用固定 8 KiB 分段,长键通过 UUID 记录共享。这些设计减少整值重写并限制大对象处理开销。
确认与恢复
成功写入回复不等于通用断电保证。存储刷新策略与原生异步复制有各自边界。WAIT 请求对连接写入历史的副本确认,不会创建全局持久提交。应根据恢复目标选择策略并演练故障。
正常关机索引检查点可加速重启,现覆盖分组集合和间接键;它们不能替代持久记录。RDB SAVE/BGSAVE 是节点本地的逻辑导出,可配置定时 save 规则,未配置时自动 RDB 快照仍默认关闭。备份应涵盖所需 Group,以及独立的 Meta/Admin 状态。
从 Beta 升级
0.2.0 修改了 Meta 的 Raft 持久化及存储内部结构。不要把 Beta Meta 状态当作稳定版 genesis,不要删除身份标记强制启动,也不要假定支持混合版本滚动升级。应保留现有状态,并演练经过数据验证的新稳定版部署。
记录 CRC 策略
0.2.0 中,数据记录与值/键 extent 的 CRC 生成通过启动时 record-crc 选项按需启用;已有 CRC 始终被校验。no-CRC 标志按对象持久化,旧版读取程序不能消费新对象。元数据、检查点、目录和复制检查仍保持开启。