PGX: An In-Memory, Parallel Graph Analytic and Query Engine: We present a graph processing system in which a graph database is tightly integrated with a graph analytic engine. Our graph database, based on existing NoSQL and relational databases, provides scalable management of graph data for transactional workloads. Our graph analytic engine, on the other hand, enables rapid execution of analytic workloads. We first introduce PGX, our in-memory graph analytic engine which initially loads up the graph data from the database and periodically synchronizes afterward. The parallel execution engine of PGX is very efficient – e.g. counting triangles in billion-edge graphs in 2 minutes. The users can also submit their custom graph algorithms written in a domain-specific language; PGX automatically parallelizes them for execution. Then we introduce PGX.DIST, our distributed graph analytic engine. We show that PGX.DIST is up to orders of magnitude faster than the state-of-art graph analytic engine. The DSL compiler can help running the same algorithm on both PGX and PGX.DIST, transparently. * Graph database tightly integrated with graph analytic engine * Fast, parallel in-memory graph analytic engine * Distributed graph analytic engine * Use of Domain-Specific Language for graph analytics
Session Summary
PGX: An In-Memory, Parallel Graph Analytic and Query Engine
MLconf 2014 Atlanta
Hassan Chafi
Oracle Labs
Research Manager
Learn more »