微信 SQLite 数据库
损坏恢复实践johnwhe (何俊伟) ◊ 问题背景 ◊ 常规做法 ◊ 数据备份 ◊ Repair Kit ◊ 组合方案 SQLite 恢复 ◊ 微信聊天记录只存客户端 ◊ SQLCipher 加密数据库 问题背景 ◊ SQLite 概率性损坏 ◊ 1/20,000 ~ 1/10,000 ◊ 256MB ~1%,1GB ~1‰ ◊ 设备断电、kernel crash、空间不足 问题背景 主要考虑因素 ◊ 恢复成功率 ◊ 空间大小 ◊ 性能 ◊ 加密 数据备份 备选方案 方案 优点 缺点 文件复制 + 压缩 实现简单 非原子操作 Backup API 热备份 稍慢 .dump (SELECT 输出) 有选择备份 备选方案 测试: ~50MB,10W 条目,加密 DB .dump: 先压缩后加密 → 压缩率高 48 48 6.5 大小(MB) 3.2 2 3.2 92 恢复耗时(秒) 复制 + 压缩 Backup + 压缩 dump + 压缩 14 32 18 备份耗时(秒) ◊ 基于 dump + 压缩 ◊ 加密保存 ◊ 自定义二进制格式 ◊ 多线程流水线 ◊ 只备份不可恢复数据 ◊ 灭屏充电时备份 我们的方案 性能效果 100% 100% 254% 142% 备份速度(条/秒) 恢复速度(条/秒) 原始0 码力 | 31 页 | 546.35 KB | 1 年前3
NetBackup™ for SQLite 管理指南: Windows 和 Linux - 版本:10.2备份失败,状态码为 7648。 要成功运行备份,请执行以下操作: ■ 从命令行配置有效的主服务器名称、策略名 称、日程表类型。 ■ 验证 nbsqlite 代理和 NetBackup 主服务 器之间是否存在通信错误。有关更多信息, 请参见《NetBackup 管理指南,第 I 卷》。 如果未在命令行上指定所需参数, 则 nbsqlite 备份将失败。 nbsqlite 备份失败并显示以下错 误: XBSA0 码力 | 29 页 | 675.75 KB | 1 年前3
NetBackup™ for SQLite 管理指南: Windows 和Linux成功运行备份 ■ 在 nbsqlite.conf 文件中或从命令行配置 有效的主服务器名称、策略名称、日程表类 型。 ■ 验证 nbsqlite 代理和 NetBackup 主服务 器之间是否存在通信错误。有关更多信息, 请参见《NetBackup 管理指南》。 如果未使用必需参数更新 nbsqlite.conf 文件, nbsqlite 备份将失败。 nbsqlite 备份失败并显示以下错0 码力 | 34 页 | 777.04 KB | 1 年前3
共 3 条
- 1













