比如很多书上以及文档都会讲这个存储引擎的存储结构,比如记录的结构,页的结构,那么这些东西映射到代码层面是怎么实现的呢?
比如一个页,里面有很多个记录,对应到内存和硬盘里,是一堆字节,那我们的程序代码要处理的时候,是需要讲这块的内容读到内存,然后类似反序列化转化为我们代码中的一些结构体比如 Page,Record 对吗?然后操作的逻辑就是对这些对象操作,最后再序列化刷回磁盘这样子吗?
按书上的做法,页面的 UserRecords 里的记录删除后只是会先打一个标记,那么为什么不这样做,比如这个页面的记录在我们代码中体现的就是一个 LinkList,我们可以直接删掉要删掉的记录,再序列化写回磁盘里。
这块想不太清楚,希望各位大佬指点一下。
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.