Monetdb-MonetDB是否是内存中的数据库?
问题描述:
可以说,monetdDB是一个内存数据库。我读Here,它使用数组作为内存中的数据存储来执行关系代数运算。这是否足以说它是一个内存数据库?Monetdb-MonetDB是否是内存中的数据库?
答
MonetDB 不是在内存数据库中。
您将“内存映射文件阵列”与“内存阵列”混淆。
使用内存映射文件时,可以在磁盘上的内存中执行直接映射(阵列)结构数据。
如果一些记录用SQL查询,它将被映射到一个mmap文件,然后由操作系统内核加载到内存中。
当记录不再使用时,内存空间将被操作系统内核收回。
这是如何虚拟内存管理工作。
这个逻辑似乎有缺陷给我。即使在使用malloc分配内存时,如果启用了交换,操作系统也可以决定换出内存区域。这是否意味着具有激活交换的系统永远不能运行内存数据库? – Holger 2015-04-05 01:47:22