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 > >
