jena TDB2 使用哪些索引?
What indices does jena TDB2 use?
我正在尝试找出 TDB2 构建的索引。我通过代码发现它使用B+树将它们存储在磁盘上,但我没有得到它们包含的内容以及它们的使用方式。
所以我的详细问题是:
- 它为 RDF 三元组(如 SPO、SOP、POS、PSO 等)的哪个整理顺序构建索引?
- RDF 术语是如何编码和存储的?
- 使用什么策略将索引加载到主内存中? (我希望分页)?
如果你能给我指点白皮书或类似的关于 TDB2 软件设计的东西,它也会对我有帮助。我搜索了它,但找不到任何东西。
TDB2 对每个 RDF 术语(文字的 URI、空白节点)都有一个 "id"。 id是固定长度64。 ting的另一种说法是它保留了一个字典。
对于三元组,它保留 SPO、POS 和 OSP(这是可配置的,但这是默认设置)。三元组作为那些 id 存储在索引中——因此每个三元组有 3 个 id。固定长度。
索引默认是堆外的内存映射文件。它们提供了良好的可用性。
这是当前的默认设置。代码隔离更改,例如64 位 ID 可能更长,选择了不同的索引。
我正在尝试找出 TDB2 构建的索引。我通过代码发现它使用B+树将它们存储在磁盘上,但我没有得到它们包含的内容以及它们的使用方式。
所以我的详细问题是:
- 它为 RDF 三元组(如 SPO、SOP、POS、PSO 等)的哪个整理顺序构建索引?
- RDF 术语是如何编码和存储的?
- 使用什么策略将索引加载到主内存中? (我希望分页)?
如果你能给我指点白皮书或类似的关于 TDB2 软件设计的东西,它也会对我有帮助。我搜索了它,但找不到任何东西。
TDB2 对每个 RDF 术语(文字的 URI、空白节点)都有一个 "id"。 id是固定长度64。 ting的另一种说法是它保留了一个字典。
对于三元组,它保留 SPO、POS 和 OSP(这是可配置的,但这是默认设置)。三元组作为那些 id 存储在索引中——因此每个三元组有 3 个 id。固定长度。
索引默认是堆外的内存映射文件。它们提供了良好的可用性。
这是当前的默认设置。代码隔离更改,例如64 位 ID 可能更长,选择了不同的索引。