我刚刚完成了尽可能多的关于维基百科(英语)的链接结构数据的传输。基本上,我从维基百科的最新转储存储库下载了一堆 SQL 转储。由于我使用的是 PostgreSQL 而不是 MySQL,因此我决定使用管道 shell 命令将所有这些转储加载到我的数据库中。
无论如何,其中一张表有 2.95 亿行:pagelinks表;它包含所有内部 wiki 超链接。从我的笔记本电脑上,使用 pgAdmin III,我将以下命令发送到我的数据库服务器(另一台计算机):
SELECT pl_namespace, COUNT(*) FROM pagelinks GROUP BY (pl_namespace);
它已经在那里待了一个小时左右。问题是邮政局长似乎越来越多地占用我非常有限的高清空间。我认为到目前为止它吃了大约 20 GB。我之前曾使用过 postgresql.conf 文件,以便为它提供更大的性能灵活性(即让它使用更多资源),因为它使用 12 GB 的 RAM 运行。我想我基本上将这个文件的大多数字节和这些相关变量增加了四倍,认为它会使用更多的 RAM 来完成它的工作。
但是,数据库似乎并没有使用太多 RAM。使用 Linux 系统监视器,我可以看到 postmaster 正在使用 1.6 GB 的共享内存 (RAM)。无论如何,我想知道你们是否可以帮助我更好地理解它在做什么,因为我似乎真的不明白PostgreSQL 如何使用 HD 资源。
关于 wikipedia 数据库的元结构,它们提供了一个很好的模式,可能有用,甚至你感兴趣。
请随时向我询问更多详细信息,谢谢。