Sobre o projeto
O Aerospike Graph Service (AGS) é um mecanismo de banco de dados de grafos baseado em JVM que implementa o protocolo de transmissão Gremlin do Apache TinkerPop 3.7.x sobre WebSocket e armazena dados de grafos em um cluster Aerospike. Vértices e arestas são mantidos em um layout compactado em disco que co-localiza informações de adjacência, permitindo que a maioria dos saltos de travessia seja resolvida em uma única leitura do Aerospike. O serviço traduz travessias Gremlin em operações eficientes do Aerospike, aplica otimizações de planejamento de consultas específicas do Aerospike e transmite resultados de volta para qualquer driver compatível com TinkerPop (gremlin-python, gremlin-javascript, gremlin-driver para Java etc.).
Principais recursos incluem:
- Consultas de grafo OLTP de baixa latência com p99 na faixa de um dígito de milissegundos em escala.
- Módulo OLAP com suporte a Spark para executar jobs GraphComputer (PageRank, componentes conectados, VertexPrograms personalizados) sobre o grafo completo.
- Carregador em massa baseado em Spark que ingere arquivos CSV, GraphML ou GraphSON diretamente no modelo de dados do Aerospike para cargas iniciais rápidas.
- Escalonamento horizontal, consistência forte, leituras previsíveis em menos de um milissegundo, arquitetura de memória híbrida e replicação entre datacenters, herdados do Aerospike.
- Interface Gremlin padrão; nenhuma linguagem de consulta ou driver personalizado é necessário.
A implantação é amigável ao Docker. Um arquivo docker-compose no diretório graph-service-examples pode iniciar o AGS, um banco de dados Aerospike e o Zipkin juntos. Para clusters Aerospike existentes, o contêiner do AGS pode ser iniciado com variáveis de ambiente apontando para o host, a porta e o namespace do cluster. A configuração também pode ser fornecida por meio de um arquivo de propriedades montado.
A compilação a partir do código-fonte exige JDK 17 (embora o código seja compilado para bytecode Java 11), Maven 3.9+, Docker com Buildx e Python 3 com python_on_whales para o script auxiliar build-docker. O projeto é uma compilação Maven com vários módulos, abrangendo o mecanismo OLTP, o carregador em massa Spark, o módulo OLAP Spark e uma API compartilhada.
O AGS é distribuído sob a Licença Apache 2.0, com avisos de marca registrada para Aerospike e Apache TinkerPop/Spark.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.