关系型数据库Single File Database
单文件数据库 是什么?
整个库(表、索引、视图)就是磁盘上的一个文件
类比:一个 Excel 文件,拷走就是完整备份
文件里有什么
一个 .db 文件里包含所有表、索引、触发器和元数据,按页组织。备份就是把文件复制一份(热备份要用 backup API 或 VACUUM INTO),迁移就是拷文件,不需要导出导入。
附带文件
运行时会看到 .db-wal 和 .db-shm:前者是预写日志,后者是共享内存索引。它们不是数据库的一部分,但崩溃恢复要用,别单独删。
限制
单文件意味着没法多机共享,也意味着文件系统的限制就是数据库的限制(部分文件系统对单文件大小有限制)。另外文件权限就是全部的安全边界——谁拿到文件谁就能读。