0

RDF-3x 三重存储是基于内存还是基于磁盘?

4

1 回答 1

2

RobV 提到的论文是

诺伊曼、托马斯和格哈德·韦库姆。“<a href="http://www3.in.tum.de/teaching/ws1112/vwis/exercises/Blatt11/rdf3x.pdf" rel="nofollow">RDF-3X:用于 RDF 的 RISC 风格引擎。 ” VLDB Endowment 1.1 (2008) 会议记录:647-659。

如果您熟悉用于实现数据库的一些数据结构,那么它们使用B+-trees的事实强烈建议您使用磁盘而不是内存模型。如果您对这些结构没有太多了解,那么它可能不会那么明显。不过,论文中的几点更直接(强调):

请注意,MonetDB 和 RDF-3X 都可以在不到半小时的时间内导入数据集,并且可以以秒为单位运行查询。其他语义网方法通常假设 RDF 数据适合主内存,但这里不是这种情况。因此,下面的所有实验都只考虑 RDF-3X、MonetDB 之上的基于列存储的方法,以及基于 PostgreSQL 的三元组存储。

他们还在运行测试之前清除文件系统缓存。这将对加载查询引擎产生一些影响,但对基于文件系统的数据库的性能影响更大:

为了评估 RDF-3X 的性能,我们使用了三个具有不同特征的大型数据集,并将查询运行时间与其他方法进行了比较(下文讨论)。所有实验均在配备 2 Ghz Core 2 Duo 处理器、2 GB 内存并运行 64 位 Linux 2.6.24 内核的戴尔 D620 PC 上进行。对于冷缓存实验,我们使用 /proc/sys/vm/drop caches 内核接口来删除所有文件系统缓存,然后重新启动各种被测系统。我们重复所有查询五次(包括删除缓存和系统重新启动)并取最佳结果以避免由操作系统活动引起的伪影。对于热缓存,我们在不丢弃缓存的情况下运行了五次查询,再次获得了最佳运行时间。

注意到 RDF-3X 的性能是由于从磁盘读取较少的结果:

当比较冷缓存时间和暖缓存时间时,很明显磁盘 I/O 对整体运行时间有很大影响。由于其高度压缩的索引结构,RDF-3X 只需读取较少的数据[.]

于 2013-06-28T00:35:32.210 回答