Neo4j is a graph database optimized for online transaction processing (OLTP) and intended as a primary database. It's being used by customers and open-source users for graph compute and analytics, despite not being built specifically for these purposes. There are two types of graph compute: subgraph queries and global algorithms. Subgraph queries involve traversing the graph from an anchor node to a specific subset of nodes, while global algorithms perform more complex operations on the entire graph. Neo4j includes algorithms for subgraph traversal, but not for global algorithms, which can be performed using extensions such as Graph Processing or Mazerunner. These extensions enable real-time queries and processing of large datasets, but may have limitations due to computational performance challenges. Mazerunner is an open-source tool that uses Spark for graph processing, while the Neo4j Graph Analysis extension allows for direct execution of algorithms within Neo4j, potentially offering faster results for smaller datasets.