2021-1-23 21:44在上一篇使用Go发现和探索mmap的文章中,我们讨论了数据库如何解决一个主要问题,即:如何处理大于可用内存的磁盘中存储的数据。我们讨论了多少数据库使用内存映射文件解决了此问题,并探讨了mmap功能。
仅仅知道数据库使用内存映射文件来解决问题还不够。它解决了部分谜团,但仍然存在一个问题:数据库究竟如何使用mmap从磁......
2021-1-11 11:22最近,我在观看有关数据库存储的Andy Pavlo数据库系统入门课程的演讲时,了解了内存映射文件的概念。数据库存储引擎必须解决的主要问题之一是如何处理磁盘中大于可用内存的数据。更高层次上,面向磁盘的存储引擎的主要目的是操纵磁盘中的数据文件。但是,如果我们假设磁盘中的数据最终将变得大于可用内存,则我们不能简单地将整个数......
2020-10-21 6:20当我问我的同事为什么mmap比系统调用快时,他们的回答不可避免地是“系统调用开销”:跨越用户空间和内核之间边界的开销。事实证明,这种开销比我过去认为的更细微,所以让我们来看看幕后的情况,以了解性能差异。
系统调用。系统调用是一种特殊的函数,它允许您跨越保护域。当程序在用户模式(非特权保护域)下执行时,不允许执行在内核......