摘要:
恭喜你!你成功了!在上一章中,您使您的LSM引擎具有多版本的能力,并且用户可以使用事务API与您的存储引擎进行交互。在本周末,我们将实现存储引擎的一些简单但重要的特性。欢迎来到Mini-LSM的第3周零食时间! 在本章中,我们将提取我们的合并垃圾回收逻辑,成为合并过滤器。 目前,我们的合并将简单地保 阅读全文
摘要:
项目地址:https://github.com/skyzh/mini-lsm 个人实现地址:https://gitee.com/cnyuyang/mini-lsm 现在,我们将在事务提交时添加一个冲突检测算法,以便使引擎具有一定程度的可序列化性。 要运行测试用例,请执行以下操作: cargo x c 阅读全文
摘要:
项目地址:https://github.com/skyzh/mini-lsm 个人实现地址:https://gitee.com/cnyuyang/mini-lsm 在本章中,您将实现Transaction的所有接口。您的实现将为事务内的修改维护一个私有工作区,并批量提交它们,以便事务内的所有修改在提 阅读全文
摘要:
项目地址:https://github.com/skyzh/mini-lsm 个人实现地址:https://gitee.com/cnyuyang/mini-lsm 在本章中,您将实现必要的结构来跟踪用户正在使用的最小读取时间戳,并在执行合并时从SST中清理不会再使用的版本。 要运行测试用例,请执行以 阅读全文