0600: 原子更新方法
目前我们的数据库由一个 log + 内存数组组成,是一种带有持久化(durable)功能的内存型数据库。数据量受内存容量限制,所以要增加基于硬盘的数据结构。数组是最简单的数据结构,我们会设计一种格式,把内存中的排序数组保存到硬盘上。
但无论是内存还是硬盘,数组都不是合理的数据结构,因为插入、删除都是 O(N) 复杂度。实践上只有2个选择:B+Tree、LSM-Tree。然而,这2种数据结构都可以从最简单的数组演变而来,所以本项目能够以循序渐进的方式来推进,读者也能从原理上彻底掌握。
我们会简绍多种实现原子更新的方法,具体细节可以看完整版教程。
您正在阅读免费版教程,从第4章起只有简单的指引,适合爱好挑战和自学的读者。
可以购买有详细指导+背景知识的完整版。