The Apache TinkerPop4 Virtual Machine
Marko A. Rodriguez
2019-09-11 11:00 #graphprocessingThe Apache TinkerPop team is working on the next major version of the project – TinkerPop4. TinkerPop4 advances the technology developed in TinkerPop3 with a new virtual machine architecture that enables any query language to control any processing engine manipulating any data structure. A query language can support a compiler to TinkerPop4’s Turing Complete bytecode specification. Compiled bytecode is then translated into an intermediate functional representation that an integrated processing engine will ultimately transform into a processor-specific execution plan. TinkerPop4’s intermediate representation naturally supports pull-based, push-based, distributed, message passing, threaded, query routing, etc. semantics which are captured in various data processors such as Pipes, Rx, Akka, Flink, Apex, Spark, and more. Additionally, a subset of the instructions in TinkerPop’s bytecode specification denote manipulations to data stored in graph databases, relational databases, document databases, in-memory, and other data structure systems. In this way, TinkerPop4 enables system-agnostic universal computing across the numerous Apache (and other) language, processor, and database projects. This presentation offers an in-depth, technical analysis of the TinkerPop4 virtual machine architecture.