Об этом проекте

Aerospike Graph Service (AGS) — это JVM-based графовый движок, реализующий протокол Apache TinkerPop 3.7.x Gremlin через WebSocket и хранящий графовые данные в кластере Aerospike. Вершины и рёбра располагаются в компактной дисковой структуре, где смежная информация collocates, что позволяет大多数 транзитным hop resolving за одно чтение Aerospike. Ключевые возможности: - Малолатентные OLTP-запросы к графу с p99 в несколько миллисекунд при масштабе. - Spark-backed OLAP-модуль для выполнения GraphComputer jobs (PageRank, connected components, пользовательские VertexPrograms). - Spark-based bulk loader, загружающий файлы CSV, GraphML или GraphSON напрямую в модель данных Aerospike для быстрого начального наполнения. - Горизонтальное масштабирование, strong consistency, предсказуемые sub-millisecond reads, hybrid-memory architecture и cross-datacenter replication, унаследованные от Aerospike. - Стандартный Gremlin-интерфейс; не требуется ни custom query language, ни дополнительные драйверы. Развёртывание Docker-friendly. Файл docker-compose в директории graph-service-examples может поднять AGS, Aerospike базу и Zipkin вместе. Для существующих кластеров Aerospike контейнер AGS запускается через переменные окружения (host, port, namespace). Конфигурация также может подаваться через смонтированный properties-файл. Сборка из исходников требует JDK 17 (код компилируется в Java 11 bytecode), Maven 3.9+, Docker с Buildx и Python 3 с python_on_whales для вспомогательного build-docker скрипта. Проект представляет собой multi-module Maven-билд, включающий OLTP engine, Spark bulk loader, Spark OLAP module и shared API. AGS распространяется под Apache License 2.0, с trademark notices для Aerospike и Apache TinkerPop/Spark.