我有个问题。当您将多个 Janusserver 插入顶点放在同一个 Cassandra 上时,我想知道顶点的顶点 ID 是否会发生冲突?
问问题
88 次
1 回答
2
VertexID 在集群中是唯一的
JanusGraph ID 为 64 位长
[ 0 | count | partition | ID padding (if any) ]
- ID 填充:基于元素的类型
- Partition :每个 janusgraph 节点唯一地为某些(默认 10)分区分配 IDBlock。
- Count : 提供每个 IDBlock 的本地计数
与计数、分区和 id 填充一起,ID 在集群中是唯一的
JanusGraph 使用ConsistentKeyIDAuthority
类来分配 IDBlock。IDBlock 由开始计数和块大小组成(默认值 10000)。对于 JanusGraph 实例中的每个分区,它在本地递增计数,从起始计数开始并分配 id 的最大块大小数。
JanusGraph 实例默认有 10 个分区。这些分区和 IDBlock 在启动时被初始化,如果创建的 IDBlock id 大小超过块大小,则重新分配新的 IDBlock。如果分区的开始计数超过最大计数器值,则将其添加到耗尽的分区。
JanusGraph 使用 cassandrajanusgraph_ids
表来分配 IDBlock。
注意:所有术语分区、IDBlock 都是 JanusGraph 特定的
于 2017-11-21T10:50:15.193 回答