把文档从 JSON 字符串变成磁盘上的字节
来源:dev.to — 2026-10-25
📋 概述
nosqlite 系列第四篇。前三篇结束时数据库只能存集合名,等于一个昂贵的记事本,这一篇才开始存真数据。作者正面处理了最诱人的捷径:直接把 JSON 字符串写进文件。他算了一笔账——一万篇文档、每篇五十个字段,按年龄过滤时数据库必须从第零字节开始解析每篇文本,去匹配花括号、空白、引号和转义,CPU 全花在字符串解析上;JSON 也没规定数字是几位整数,还放不下哈希或缩略图这类二进制。于是他决定在四千零九十六字节的页里自己做序列化布局。
🔑 核心要点
- 只存集合名的数据库等于昂贵的记事本,这一篇才开始存真数据
- 原始 JSON 存储让每次过滤都要从第零字节解析每一篇文档
- JSON 不区分八位、三十二位、六十四位整数,类型信息在读取时就丢了
- 哈希与缩略图这类二进制数据在 JSON 里没有原生位置
💡 金句
“If your documents are stored as raw JSON strings, the database has to parse the text of every single document from byte zero.”
译:如果文档以原始 JSON 字符串存储,数据库就必须从第零个字节开始解析每一篇文档的文本。
← 返回 dev.to 首页