首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Gremlin遍历膨胀(OLTP)

Gremlin遍历膨胀(OLTP)
EN

Stack Overflow用户
提问于 2019-02-24 20:12:32
回答 2查看 137关注 0票数 0

虽然我理解Bulking的原理,但我很想知道从编程的角度来看,机器是如何实现这一点的。如何检测多个遍历器在同一节点上,以决定合并和批量它们。是否有任何用于检测特定情况需要批量的算法的描述。

另外,什么是触发批量的显式步骤。是否有任何指令可以添加到遍历中,以显式地执行批量操作?

EN

回答 2

Stack Overflow用户

发布于 2019-02-25 23:03:33

批量操作通常与barrier()步骤有关,在TinkerPop的参考文档here中有一些讨论。大多数人不会在他们的Gremlin写作中直接使用barrier() (尽管你可以),因为TinkerPop中内置的各种遍历策略(比如LazyBarrierStrategy )试图自动将它们注入到遍历中,而这些遍历策略可能会起到一些作用。

您可以通过在遍历过程中执行explain()来查看barrier()步骤被注入的位置/时间:

代码语言:javascript
复制
gremlin> g.V().out().both().explain()
==>Traversal Explanation
=======================================================================================================================================
Original Traversal                 [GraphStep(vertex,[]), VertexStep(OUT,vertex), VertexStep(BOTH,vertex)]

ConnectiveStrategy           [D]   [GraphStep(vertex,[]), VertexStep(OUT,vertex), VertexStep(BOTH,vertex)]
IncidentToAdjacentStrategy   [O]   [GraphStep(vertex,[]), VertexStep(OUT,vertex), VertexStep(BOTH,vertex)]
MatchPredicateStrategy       [O]   [GraphStep(vertex,[]), VertexStep(OUT,vertex), VertexStep(BOTH,vertex)]
RepeatUnrollStrategy         [O]   [GraphStep(vertex,[]), VertexStep(OUT,vertex), VertexStep(BOTH,vertex)]
PathRetractionStrategy       [O]   [GraphStep(vertex,[]), VertexStep(OUT,vertex), VertexStep(BOTH,vertex)]
FilterRankingStrategy        [O]   [GraphStep(vertex,[]), VertexStep(OUT,vertex), VertexStep(BOTH,vertex)]
InlineFilterStrategy         [O]   [GraphStep(vertex,[]), VertexStep(OUT,vertex), VertexStep(BOTH,vertex)]
AdjacentToIncidentStrategy   [O]   [GraphStep(vertex,[]), VertexStep(OUT,vertex), VertexStep(BOTH,vertex)]
CountStrategy                [O]   [GraphStep(vertex,[]), VertexStep(OUT,vertex), VertexStep(BOTH,vertex)]
LazyBarrierStrategy          [O]   [GraphStep(vertex,[]), VertexStep(OUT,vertex), NoOpBarrierStep(2500), VertexStep(BOTH,vertex)]
TinkerGraphCountStrategy     [P]   [GraphStep(vertex,[]), VertexStep(OUT,vertex), NoOpBarrierStep(2500), VertexStep(BOTH,vertex)]
TinkerGraphStepStrategy      [P]   [TinkerGraphStep(vertex,[]), VertexStep(OUT,vertex), NoOpBarrierStep(2500), VertexStep(BOTH,vertex)]
ProfileStrategy              [F]   [TinkerGraphStep(vertex,[]), VertexStep(OUT,vertex), NoOpBarrierStep(2500), VertexStep(BOTH,vertex)]
StandardVerificationStrategy [V]   [TinkerGraphStep(vertex,[]), VertexStep(OUT,vertex), NoOpBarrierStep(2500), VertexStep(BOTH,vertex)]

Final Traversal                    [TinkerGraphStep(vertex,[]), VertexStep(OUT,vertex), NoOpBarrierStep(2500), VertexStep(BOTH,vertex)]
票数 2
EN

Stack Overflow用户

发布于 2019-03-02 20:21:59

在这里,在上面的@stephen评论之后,我只想分享一个博客的链接,该博客深入解释了著名的LazyBarrierStrategy

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54851767

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档