2 pontos por GN⁺ 2026-03-23 | 1 comentários | Compartilhar no WhatsApp
  • Um banco de dados de grafos de alto desempenho desenvolvido em Rust, que funciona tanto em modo embarcado quanto em modo servidor, mantendo baixo uso de memória
  • Suporta tanto o modelo Labeled Property Graph (LPG) quanto triplas RDF, permitindo ampla utilização, de redes sociais à web semântica
  • Oferece suporte a várias linguagens de consulta, como GQL, Cypher, Gremlin, GraphQL, SPARQL e SQL/PGQ, ampliando as opções para desenvolvedores
  • Fornece um conjunto completo de recursos, incluindo busca vetorial baseada em HNSW, transações ACID, isolamento de snapshot com MVCC e bindings para múltiplas linguagens
  • Integra-se com frameworks de IA como LangChain, LlamaIndex e MCP, apoiando a combinação de dados em grafo com aplicações de IA

Visão geral do Grafeo

  • Grafeo é um banco de dados de grafos de alto desempenho desenvolvido em Rust, que opera tanto em modo embarcado quanto em modo servidor, mantendo baixo uso de memória
  • Registrou o melhor desempenho no LDBC Social Network Benchmark e oferece suporte a execução vetorizada, chunking adaptativo e operações otimizadas com SIMD
  • Suporta os dois modelos de dados, Labeled Property Graph (LPG) e triplas RDF, sendo adequado para diversos domínios, de redes sociais à web semântica
  • Fornece um conjunto completo de recursos, incluindo transações ACID, isolamento de snapshot com base em MVCC, bindings para múltiplas linguagens e um ecossistema de integração com IA

Principais características

  • Arquitetura de alto desempenho

    • Escrito com um motor central baseado em Rust, sem dependência de C, podendo usar opcionalmente jemalloc/mimalloc e bibliotecas C de TLS
    • Inclui motor de execução baseado em push, processamento paralelo em unidades morsel, armazenamento colunar, compressão por tipo e otimizador de consultas baseado em custo
    • Suporta execução eficiente de consultas com data skipping usando zone map
  • Suporte a múltiplas linguagens de consulta

    • Suporta GQL, Cypher, Gremlin, GraphQL, SPARQL e SQL/PGQ
    • Permite escolher a linguagem mais adequada conforme a natureza do projeto e a experiência do desenvolvedor
    • GQL oferece correspondência declarativa de padrões no padrão ISO, Cypher usa padrões ASCII-art compatíveis com Neo4j, e Gremlin segue o estilo de travessia baseado em Apache TinkerPop
    • GraphQL suporta tanto LPG quanto RDF, SPARQL é a linguagem padrão W3C para consultas RDF, e SQL/PGQ suporta a sintaxe GRAPH_TABLE do SQL:2023
  • Modelos de dados

    • O modelo LPG usa uma estrutura de nós e arestas com rótulos e propriedades, com suporte a propriedades de vários tipos de dados
    • O modelo RDF usa a estrutura de triplas subject-predicate-object e permite consultas eficientes por meio de índices SPO/POS/OSP
    • RDF segue os padrões do W3C, sendo adequado para web semântica, ontologias e linked data
  • Recursos de busca vetorial

    • Fornece busca por similaridade baseada em HNSW com suporte a quantização escalar, binária e por produto
    • Permite combinar exploração de grafos com busca por similaridade semântica
  • Embarcado e autônomo

    • Pode ser embarcado diretamente em aplicações sem dependências externas, ou executado como servidor independente com API REST e interface web
    • Escala de dispositivos de borda até grandes clusters de produção
  • Transações e segurança de memória

    • Garante transações ACID completas com isolamento de snapshot baseado em MVCC
    • Oferece suporte a concorrência estável com a segurança de memória do Rust e o design de fearless concurrency
  • Bindings para múltiplas linguagens

    • Suporta Python(PyO3), Node.js/TypeScript(napi-rs), Go(CGO), C(FFI), C#(.NET 8 P/Invoke), Dart(dart:ffi) e WebAssembly(wasm-bindgen)
    • O mesmo motor do Grafeo pode ser utilizado em diversos ambientes de linguagem
  • Ecossistema e integrações

    • Integra-se com frameworks de IA como LangChain, LlamaIndex e MCP
    • Fornece widgets interativos para notebooks, visualização de grafos em WebAssembly no navegador, servidor independente com interface web e ferramentas de benchmarking

Instalação e primeiros passos

  • Comandos de instalação

    • Python: uv add grafeo
    • Node.js: npm install @grafeo-db/js
    • Go: go get github.com/GrafeoDB/grafeo/crates/bindings/go
    • Rust: cargo add grafeo
    • .NET: dotnet add package GrafeoDB
    • Dart: grafeo: ^0.5.21
    • WebAssembly: npm install @grafeo-db/wasm
  • Exemplo de início rápido

    • No exemplo em Python, após criar um banco de dados em memória, são adicionados nós e arestas com instruções INSERT e MATCH, e os relacionamentos são consultados
    • No exemplo em Rust, o banco de dados é criado com GrafeoDB::new_in_memory() e as mesmas consultas são executadas por meio de uma sessão

Licença

  • Grafeo é distribuído sob a licença Apache-2.0

1 comentários

 
GN⁺ 2026-03-23
Comentários do Hacker News
  • Fiquei curioso para saber se o Grafeo implementou o benchmark LDBC
    Queria compará-lo com outros bancos de dados de grafos. Principalmente, tenho curiosidade sobre o desempenho de consultas OLAP
    Artigo relacionado: Neo4j alternatives in 2026

  • Recentemente publicamos a sintaxe cypher para gfql
    Este é o primeiro motor de consultas cypher OSS baseado em CPU/GPU que pode ser executado diretamente sobre dataframes
    É usado principalmente junto com bancos de dados escaláveis como Databricks ou Splunk para segurança, detecção de fraude, análise de eventos e pipelines de embeddings de ML+AI
    Sem instalar um banco de dados, ele pode processar mais de 1 bilhão de arestas por segundo com uma única GPU, e também pode ser aplicado diretamente a dados em Apache Arrow ou Parquet
    Veja a documentação de benchmark do GFQL
    O núcleo vetorizado já atende a mais da metade do TCK, e atualmente estamos adicionando as partes mais complexas
    Já é usado em produção por várias organizações, incluindo OTAN, bancos e o governo dos EUA, e agora foi liberado como open source para que outros desenvolvedores ou LLMs possam utilizá-lo diretamente

  • Gostaria de saber se alguém conhece este BD (Grafeo)
    Pelo histórico de commits, parece quase um projeto escrito por IA. Uma pessoa fez commits de 100 mil a 200 mil linhas por semana
    Nesses casos, muitas vezes a qualidade do código é frágil ou excessivamente complexa
    Queria saber se alguém realmente usa isso, ou se é apenas um experimento de portfólio com IA

    • Eu sou justamente a pessoa que criou o Grafeo. Não sei por que isso está se espalhando por aí, mas posso responder às perguntas
      A versão inicial foi uma reestruturação de um banco de dados de grafos local chamado Graphos, que eu mesmo fiz
      O engine, o core, os bindings em Python e os testes foram escritos manualmente, e a documentação e parte da configuração foram geradas por IA
      Revisei as partes feitas por IA, mas elas ainda não estão em nível de produção
      Comecei inspirado pela minha insatisfação com o Neo4j e por uma conversa com Hännes, do DuckDB
      Como o uso de memória do LadybugDB era alto demais, resolvi fazer o meu, e por enquanto estou satisfeito e usando pessoalmente
      Não há objetivo comercial; publiquei como open source e contribuições são bem-vindas
    • Esse volume de código é grande demais para uma estrutura típica de banco de dados de grafos
      Em engines de grafos, o importante é um projeto minucioso, então me preocupo com a qualidade do design nos detalhes
    • Usar um BD escrito por LLM parece um pesadelo. Até bancos grandes já são difíceis de lidar
    • Nos últimos 3 meses, o número de bancos de grafos feitos por LLM explodiu
      Até no gdotv.com que eu mantenho está ficando cada vez mais difícil decidir quais devo suportar
    • Commits de 100 mil linhas por semana são um sinal de alerta. Em geral, é código gerado ou formatação, e a confiabilidade do design ou dos testes pode ser baixa
  • Há bancos de grafos demais e isso estava confuso, então criei o novo site gdb-engines.com
    Classifiquei e organizei cada banco de dados

    • Seria bom se a tabela distinguisse embutido ou servidor
    • Fiquei curioso se essa lista não foi gerada por LLM
  • Fico curioso se existem de fato bancos de grafos confiáveis em escala de produção
    Gostaria de saber sobre open source ou produtos de fornecedores, excluindo casos especiais como o TAO da Meta

    • Prefiro evitar uma resposta direta, mas escolher um banco de grafos é realmente um problema difícil
      Trato desse tema na minha palestra da FOSDEM 2025
    • Em termos de open source, JanusGraph, DGraph, Apache AGE, HugeGraph, MemGraph e ArcadeDB são adequados
    • Eu lidero o desenvolvimento do TypeDB. Não usamos Cypher, mas funciona bem mesmo em produção em grande escala
      A maioria dos bancos OSS segue em algum grau um modelo open-core
    • O sistema de grafos do Facebook não é apenas o TAO, mas um ecossistema maior
      Artigo relacionado: A brief history of graphs at Facebook
    • Já integrei dezenas de bancos de grafos no gdotv.com, e a maioria está em nível de produção
      Especialmente tecnologias como JanusGraph, que já existem há bastante tempo, mas continuam sendo usadas de forma consistente por empresas
  • Hoje já existem 25 bancos de grafos surfando a onda do boom de IA/LLM
    Se for escrito em Rust ganha atenção no HN, mas o LadybugDB decidiu não seguir por esse caminho
    Em vez disso, quer focar em melhorias incrementais e em um Cypher fortemente tipado
    Discussão relacionada: LadybugDB Discussion #141

    • Fiquei curioso se o LadybugDB também não é um desses 25 projetos
    • É uma boa decisão no sentido de que é a maturidade do próprio produto que conquista clientes, não a linguagem
    • Debate de linguagem cansa, mas Rust tem vantagens reais no desenvolvimento de bancos de dados em termos de concorrência e prevenção de corrupção de dados
      Isso deve ser avaliado com fundamentação técnica, não como mera “emoção”
  • O Grafeo é claramente um projeto escrito com auxílio de IA
    Tem muito código, mas não parece um simples artefato gerado por IA, e o design também é único
    Os testes em JS parecem totalmente gerados por IA, e a qualidade de alguns sub-repositórios varia bastante
    A licença Apache 2.0 e os recursos são interessantes, mas parece precisar de mais mantenedores

  • Fico curioso sobre quais são as diferenças em relação ao Helix DB
    E também questiono por que seria necessário consultar o BD com GraphQL

  • A expressão “testamos o benchmark LDBC com graph-bench” soa como se fosse um benchmark independente
    Se for uma ferramenta feita por vocês, seria melhor deixar isso claro e receber feedback para que outros projetos também possam ser comparados de forma justa

    • Talvez essa frase também tenha sido escrita automaticamente por IA
      É um padrão típico desses codebases gerados por IA que têm aparecido com frequência no HN ultimamente
      Se há mais de 100 mil linhas commitadas por semana, é improvável que um humano esteja realmente entendendo bem o conteúdo do código
  • Testei o Grafeo e a biblioteca relacionada grafeo_langchain junto com um modelo local do Ollama
    O resultado foi algo como meio sucesso
    Ainda gosto e continuo usando o banco de grafos Kuzu baseado em Python

    • Fiquei curioso se já usaram o Kuzu no gdotv.com
      O Kuzu não é mais desenvolvido, mas como é estável continuamos mantendo o suporte
      A migração para o LadybugDB (fork principal) também é fácil, então vale considerar