You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Jena Fuseki TDB2中OSPG.dat文件远超其他文件的原因咨询

关于Jena Fuseki TDB2中OSPG.dat文件异常过大的疑问

尊敬的Jena社区:

我在OpenShift集群上以容器形式运行Jena Fuseki 4.4.0版本。

操作系统版本信息(执行cat /etc/os-release):

NAME="Red Hat Enterprise Linux" 
VERSION="8.5 (Ootpa)" 
ID="rhel" 
ID_LIKE="fedora" VERSION_ID="8.5" 
... 

硬件信息(来自Jena Fuseki初始化日志):

[2023-01-27 20:08:59] Server     INFO    Memory: 32.0 GiB 
[2023-01-27 20:08:59] Server     INFO    Java:   11.0.14.1 
[2023-01-27 20:08:59] Server     INFO    OS:     Linux 3.10.0-1160.76.1.el7.x86_64 amd64 
[2023-01-27 20:08:59] Server     INFO    PID:    1

磁盘信息(执行df -h):

Filesystem                                                          Size  Used Avail Use% Mounted on
overlay                                                              99G   76G   18G  82% /
tmpfs                                                                64M     0   64M   0% /dev
tmpfs                                                                63G     0   63G   0% /sys/fs/cgroup
shm                                                                  64M     0   64M   0% /dev/shm
/dev/mapper/docker_data                                              99G   76G   18G  82% /config
/data                                                                1.0T  677G  348G  67% /usr/app/run
tmpfs                                                                40G   24K   40G   1% 

我的数据集基于TDB2构建,当前RDF统计数据如下:

  • 三元组:65KK(约6500万)
  • 主语:~20KK(约2000万)
  • 宾语:~8KK(约800万)
  • 图:~213K(约21.3万)
  • 谓语:153

该数据集在磁盘上的文件总大小约为671GB(通过du -h测量)。其中最大的几个文件为:

  • /usr/app/run/databases/my-dataset/Data-0001/OSPG.dat: 243GB
  • /usr/app/run/databases/my-dataset/Data-0001/nodes.dat: 76GB
  • /usr/app/run/databases/my-dataset/Data-0001/POSG.dat: 35GB
  • /usr/app/run/databases/my-dataset/Data-0001/nodes.idn: 33GB
  • /usr/app/run/databases/my-dataset/Data-0001/POSG.idn: 29GB
  • /usr/app/run/databases/my-dataset/Data-0001/OSPG.idn: 27GB

我查阅了多个文档页面、源代码和论坛,但均未找到OSPG.dat文件远大于其他文件的原因。

我使用Jena已有相当长的时间,清楚其索引在使用过程中会显著增长,尤其是在通过多个请求添加三元组(事务型工作负载)时。尽管如此,这个文件(OSPG.dat)的大小还是让我感到意外,因为根据以往经验,索引文件的大小从未超过nodes.dat。

基于数据集内容或生成方式,是否存在合理的解释?这会不会是TDB2的索引bug?

感谢您的支持!

数据集组装器配置:

@prefix :       <http://base/#> .
@prefix fuseki: <http://jena.apache.org/fuseki#> .
@prefix ja:     <http://jena.hpl.hp.com/2005/11/Assembler#> .
@prefix rdf:    <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs:   <http://www.w3.org/2000/01/rdf-schema#> .
@prefix root:   <http://dev-test-jena-fuseki/$/datasets#> .
@prefix tdb2:   <http://jena.apache.org/2016/tdb#> .

tdb2:GraphTDB  rdfs:subClassOf  ja:Model .

ja:ModelRDFS  rdfs:subClassOf  ja:Model .

ja:RDFDatasetSink  rdfs:subClassOf  ja:RDFDataset .

<http://jena.hpl.hp.com/2008/tdb#DatasetTDB>
rdfs:subClassOf  ja:RDFDataset .

tdb2:GraphTDB2  rdfs:subClassOf  ja:Model .

<http://jena.apache.org/text#TextDataset>
rdfs:subClassOf  ja:RDFDataset .

ja:RDFDatasetZero  rdfs:subClassOf  ja:RDFDataset .

:service_tdb_my-dataset
rdf:type                      fuseki:Service ;
rdfs:label                    "TDB my-dataset" ;
fuseki:dataset                :ds_my-dataset ;
fuseki:name                   "my-dataset" ;
fuseki:serviceQuery           "sparql" , "query" ;
fuseki:serviceReadGraphStore  "get" ;
fuseki:serviceReadWriteGraphStore
"data" ;
fuseki:serviceUpdate          "update" ;
fuseki:serviceUpload          "upload" .

ja:ViewGraph  rdfs:subClassOf  ja:Model .

ja:GraphRDFS  rdfs:subClassOf  ja:Model .

tdb2:DatasetTDB  rdfs:subClassOf  ja:RDFDataset .

<http://jena.hpl.hp.com/2008/tdb#GraphTDB>
rdfs:subClassOf  ja:Model .

ja:DatasetTxnMem  rdfs:subClassOf  ja:RDFDataset .

tdb2:DatasetTDB2  rdfs:subClassOf  ja:RDFDataset .

ja:RDFDatasetOne  rdfs:subClassOf  ja:RDFDataset .

ja:MemoryDataset  rdfs:subClassOf  ja:RDFDataset .

ja:DatasetRDFS  rdfs:subClassOf  ja:RDFDataset .

:ds_my-dataset  rdf:type     tdb2:DatasetTDB2 ;
tdb2:location           "run/databases/my-dataset" ;
tdb2:unionDefaultGraph  true ;
ja:context              [ ja:cxtName   "arq:optFilterPlacement" ;
ja:cxtValue  "false"
] .

更新:

目前我正尝试从NQuads备份(解压后约15GB)重新创建数据集,希望能减小索引大小。不过,由于该数据集在系统使用过程中会持续增长,了解导致此特定索引大幅增长的原因将十分有帮助。


内容的提问来源于stack exchange,提问作者Elton

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.02 18:20:35