Aerospike Graph Quickstart

Welcome to the Aerospike Graph getting-started repository. This repository provides scripts, guides, and examples to help you get started with Aerospike Graph Service (AGS).

Aerospike Graph is a real-time, scalable graph database that supports billions of vertices and trillions of edges with predictable low latency. It supports use cases such as identity graphs, fraud detection, and real-time recommendation systems. For more information, see the Aerospike Graph documentation.

Prerequisites

Compatibility

  • AGS requires Apache TinkerPop 3.7.x Gremlin client drivers. TinkerPop 3.8.x and 4.0.x clients are incompatible.
  • The root docker-compose.yaml uses the standard AGS image (aerospike/aerospike-graph-service:latest), which includes the standalone bulk loader required for the UPI demo and Gremlin g.call bulk-load examples. The slim image does not include the bulk loader; use slim only for Gremlin-only workloads. Pin a specific version for reproducible builds (use a tag from the AGS release notes).

Start Aerospike Graph Service

docker compose up -d

AGS waits for Aerospike Database to finish startup before it starts.

Query tracing with Zipkin

AGS supports query tracing with Zipkin. The Docker Compose file in this repository includes a Zipkin service. After the services start, the Zipkin UI is available at http://localhost:9411/zipkin/.

Examples

This repository contains examples in multiple languages and deployment scenarios:

PathDescription
java/basic/Basic Java application example
nodejs/basic/Basic Node.js Express application example
nodejs/load-balancer/Round-robin load balancer for Gremlin-JavaScript
golang/load-balancer/Round-robin load balancer for Gremlin-Go
python/basic/Basic Python example
python/transactions/Python web app for transaction visualization
python/food_delivery_app/Streamlit-based food-delivery graph demo
python/load_balancer/Round-robin load balancer for Gremlin-Python
python/tls/Transport Layer Security (TLS) examples for AGS
misc/bulk-load-tls/Bulk loading against a TLS-enabled cluster
misc/distributed-bulkload-example/Distributed bulk loading on AWS EMR and GCP Dataproc
misc/multi-node-tinkerbench/Multi-node benchmarking with TinkerBench on Aerolab
misc/synthetic-data-generators/Synthetic graph data generators
misc/upi-demo/UPI fraud-detection demo
terraform/gcp/Terraform modules to deploy AGS on Google Kubernetes Engine (GKE)

Contributing

Submit issues, fork the repository, and create pull requests for any improvements.