大量重复的时序数据,可以用 interning(值驻留)把相同内容只存一份,其他位置保留编号。 一项 Rust 实验处理约 1.1GB 的巴黎交通状态 JS… · @BaiBtw · TwKit
@BaiBtw
大量重复的时序数据,可以用 interning(值驻留)把相同内容只存一份,其他位置保留编号。 一项 Rust 实验处理约 1.1GB 的巴黎交通状态 JSON,做了几层整理: • 字符串、对象、对象集合分别去重。 • 集合先排序:元素相同但顺序不同,才不会被当成两份数据;真正有顺序含义的列表不能这么改。 • 把站点名称等稳定字段,与不断变化的故障集合拆开保存。 • 序列化只写值表,读取时重建查找表,再做通用压缩。 其中一组组合结果约 530KB,缩小约 2000 倍。这是特定高重复数据上,结构调整、序列化和压缩共同得到的结果,不能当成驻留本身的通用倍率。 这个原型只能追加、单写入者工作,读取还要把整库还原到内存;它演示了如何减少重复,并不是可直接替代生产数据库的成品。
曝光 34 · 评论 0 · 点赞 0 · 书签 0
查看原帖