Sobre el proyecto

Aerospike Graph Service (AGS) es un motor de base de datos de grafos basado en JVM que implementa el protocolo de comunicación Gremlin de Apache TinkerPop 3.7.x sobre WebSocket y almacena datos de grafos en un clúster de Aerospike. Los vértices y las aristas se mantienen en un diseño empaquetado en disco que colocaliza la información de adyacencia, lo que permite que la mayoría de los saltos de recorrido se resuelvan en una sola lectura de Aerospike. El servicio traduce los recorridos Gremlin en operaciones eficientes de Aerospike, aplica optimizaciones de planificación de consultas específicas de Aerospike y transmite los resultados de vuelta a cualquier driver compatible con TinkerPop (gremlin-python, gremlin-javascript, gremlin-driver para Java, etc.). Las capacidades clave incluyen: - Consultas de grafos OLTP de baja latencia con p99 de milisegundos de un solo dígito a escala. - Módulo OLAP respaldado por Spark para ejecutar trabajos de GraphComputer (PageRank, componentes conectados, VertexPrograms personalizados) sobre el grafo completo. - Cargador masivo basado en Spark que ingiere archivos CSV, GraphML o GraphSON directamente en el modelo de datos de Aerospike para cargas iniciales rápidas. - Escalado horizontal, consistencia fuerte, lecturas predecibles por debajo de un milisegundo, arquitectura de memoria híbrida y replicación entre centros de datos heredadas de Aerospike. - Interfaz Gremlin estándar; no se requiere un lenguaje de consulta ni drivers personalizados. El despliegue es amigable con Docker. Un archivo docker-compose en el directorio graph-service-examples puede iniciar AGS, una base de datos Aerospike y Zipkin juntos. Para clústeres de Aerospike existentes, el contenedor de AGS se puede iniciar con variables de entorno que apunten al host, puerto y namespace del clúster. La configuración también se puede proporcionar mediante un archivo de propiedades montado. La compilación desde el código fuente requiere JDK 17 (aunque el código compila a bytecode de Java 11), Maven 3.9+, Docker con Buildx y Python 3 con python_on_whales para el script auxiliar build-docker. El proyecto es una compilación Maven multimódulo que abarca el motor OLTP, el cargador masivo de Spark, el módulo OLAP de Spark y una API compartida. AGS se publica bajo la Apache License 2.0, con avisos de marcas registradas para Aerospike y Apache TinkerPop/Spark.