数据库系统设计 One work solution
数据库的核心在于读写 所以这个work solution就是一个完整的系统的读写过程。
写入过程:

针对上面的将在内存中储存的已经排好序的List存到硬盘中,需要对列表进行序列化,所用到的技巧就是二叉树 然后只要我们知道到底该用什么遍历方式还原就可以。
但是同时也要意识到 如果机器挂了 内存的东西都没了怎么办?
用Log的方式(Write Ahead Log(WAL))写入到硬盘中。
所以总结一下 就是

读出过程:
因为我们之前使用的是append的方式 所以读出会有一些重复的(所以我们要找到哪个是真的)
如果我们不遍历 不排序的话就没法找到timestamp最大的那个值。
那么还有别的方法吗?仔细想一下之前数据库为了加快查询速度建立了索引的概念 那么我们的话该怎么建呢?
把一些key放入内存作为Index。那这个意思就是说我们只需要检查key在不在这个file里面,那么怎么样才能更好的判断一个key是不是在file里面呢?我们要尽可能加快速度,因此使用bloomfilter.

浙公网安备 33010602011771号