MongoDB 的内部数据结构方式,挺适合你要深入了解它底层逻辑的时候拿出来啃一啃的。它在文件系统里,是用一套递增的文件集方式来做数据预分配的,先 64M,再 128M、256M,稳定在 2G 一份(32 位上限 512M),这种做法在高并发下挺抗打的。每个文件还会拆成若干数据域
,之间靠双向链表
串起来,查找和管理都挺高效。
不同的集合
和索引
都有独立的名字空间
,这让你在设计多集合、多索引的时候比较清晰,也方便后期扩展。比如你有个用户表和订单表,各自的索引不会打架。嗯,这点在业务稍复杂的项目里挺实用的。
如果你对这些底层结构感兴趣,下面几个资料还挺有参考价值的,有题集
、习题
、JSON 结构
、还有 PPT 啥的,拿来查资料、准备技术分享、甚至复习都挺合适。