You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tinkerpop.apache.org by "Stephen Mallette (Jira)" <ji...@apache.org> on 2021/04/28 19:07:00 UTC

[jira] [Assigned] (TINKERPOP-942) Use EventStrategy to solve OLAP bulk mutation of OLTP.

     [ https://issues.apache.org/jira/browse/TINKERPOP-942?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Stephen Mallette reassigned TINKERPOP-942:
------------------------------------------

    Assignee:     (was: Daniel Kuppitz)

> Use EventStrategy to solve OLAP bulk mutation of OLTP.
> ------------------------------------------------------
>
>                 Key: TINKERPOP-942
>                 URL: https://issues.apache.org/jira/browse/TINKERPOP-942
>             Project: TinkerPop
>          Issue Type: Improvement
>          Components: process
>    Affects Versions: 3.1.0-incubating
>            Reporter: Marko A. Rodriguez
>            Priority: Major
>
> We need to be able to do this in TinkerPop3.
> https://github.com/thinkaurelius/faunus/wiki/Distributed-Graph-Computing-with-Gremlin
> This can be solved with {{EventStrategy}}. 
> Lets think of the hardest problem first -- distributed graph database (e.g. Titan) being mutated by a distributed graph processor (e.g. Giraph). Each Giraph node will map to a Titan node. Then the Giraph node will create a connection back to the respective Titan node via the {{writeGraph}} model by [~dkuppitz] in {{BulkLoaderVertexProgram}}. Every time a {{addV()}}, {{addE()}}, {{property()}} is called, an event is fired and THAT event is call back to the Titan to create the vertex/edge/property. Likewise for {{drop()}}, etc. In other words, all {{Mutating}} steps can have a call back in OLAP to mutate the OLTP system.
> What about the easy case of {{TInkerGraph}} OLAP talking to {{TinkerGraph}} OLTP? Well, this gets back to {{GraphComputer.RESULT_GRAPH}} and whether your graph computer is operating over the real graph or a clone of it. However, I think its just the same as TItan/Giraph-style.
> So what is this good for?
> * Drop all the "knows" edges.
> * Change all the date properties from {{java.util.Date}} to {{Long}}.
> * Infer all {{foaf}}-edges.
> * etc.
> Things to consider -- transactions.
> If we solve this cleanly, then that is truly the final "big hurdle" in the {{GraphComputer}} story.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)