Hey, 

I am a researcher working on optimizing graph queries and am familiar with 
Gremlin. I have read your paper "The Gremlin Graph Traversal Machine and 
Language" (https://arxiv.org/pdf/1508.03843.pdf). I have two questions 
regarding OLTP execution model in gremlin. I have read your blog post 
regarding mechanics of 
OLAP(https://www.datastax.com/dev/blog/the-mechanics-of-gremlin-olap).In 
that you mention that OLTP has pull based execution model. Does it mean 
that it pulls remote Objects referenced by traversers to the client machine?

My second question is how does lazy evaluation help in optimizing queries? 
I am familiar with Traverser's bulk which essentially helps in reducing 
memory as well as redundant computation, but i am not able to understand 
how lazy evaluation help in this?
 
On Friday, 4 March 2016 18:27:09 UTC+5:30, Marko A. Rodriguez wrote:
>
> Hi,
>
> Robin Schumacher at DataStax is trying to dispel confusions around the 
> difference between Gremlin OLTP and Gremlin OLAP. Here is what I wrote him, 
> I thought others might like to read it.
>
> As it relates to Gremlin's execution environment.
>
> OLTP: Serial stream processing.
> OLAP: Parallel step-wise processing.
>
> OLTP: Low memory footprint, lazy evaluator.
> OLAP: High memory footprint, eager evaluator.
>
> OLTP: Touches as little data as possible, low strain on the database.
> OLAP: Touches a lot of data, high strain on the database.
>
> OLTP: "Pointer chasing" to enact a traversal.
> OLAP: Full "table" scans with message passing to enact a traversal.
>
> OLTP: Database can support numerous concurrent traversals.
> OLAP: Database can support few concurrent traversals.
>
> OLTP: Millisecond/second response times. 
> OLAP: Minute/hour response times. 
>
> OLTP: Uses DSEGraph ?Thrift? driver to fetch data.
> OLAP: Uses DSEGraph?CassandraInputFormat? table scanner to fetch data.
>
> Why OLTP or OLAP?
>
> When your query is going to touch everything in the graph, go OLAP. 
> Examples include PageRank, BulkLoading, BulkDumping, Global analytics.
> - "What is the average number of friends for all people?"
>
> When your query is going to touch a very small part of the graph, go OLTP. 
> Examples include personalized recommendations, local queries, get/put 
> behaviors.
> - "What is the average number of friends for people that work for 
> DataStax?"
>
> HTH,
> Marko.
>
> http://markorodriguez.com
>
>

Reply via email to