Banco em grafos nativo de nuvem separa processamento e armazenamento de objetos
O projeto em Rust combina consultas OpenCypher e protocolo Bolt com persistência direta no SlateDB e armazenamento compatível com S3.
O projeto em Rust combina consultas OpenCypher e protocolo Bolt com persistência direta no SlateDB e armazenamento compatível com S3.
O projeto HydraDB, mantido pela organização hydra-db, é um banco de dados em grafos distribuído e programado em Rust. O repositório ganhou atenção nos rankings abertos ao acumular 2.955 novas estrelas recentemente, alcançando a vigésima posição diária e a décima primeira semanal na plataforma Trendshift. O sistema foi concebido para resolver o gargalo de custo e a complexidade de manutenção de clusters de grafos, separando a camada de processamento da persistência durável em serviços de armazenamento de objetos compatíveis com S3.
Bancos de dados em grafos convencionais costumam manter os dados vinculados diretamente aos discos locais de cada máquina computacional. Essa abordagem faz com que qualquer ampliação de capacidade exija a migração física de grandes volumes de vértices e arestas entre nós, elevando custos operacionais e dificultando a recuperação em cenários de falha.
Com o crescimento do volume de dados, gerenciar sincronizações locais e cópias de leitura torna-se um obstáculo severo para a infraestrutura. Falhas em nós de escrita frequentemente demandam transferências demoradas que afetam a latência e a disponibilidade das consultas.
A proposta do HydraDB ataca esse cenário transferindo a custódia durável dos dados para o armazenamento de objetos. As instâncias de cálculo passam a operar com estado descartável, permitindo redimensionar nós analíticos ou substituí-los rapidamente sem transferir o grafo fisicamente.
A arquitetura do HydraDB baseia-se na separação estrita entre computação e armazenamento. O armazenamento de objetos compatível com S3 funciona como a fonte durável de verdade do sistema, abrigando registros, logs de escrita prévia (WAL), manifestos e índices imutáveis gerenciados pelo motor SlateDB.
A camada computacional divide-se em duas funções independentes. Os nós de dados, chamados de graph-node, respondem por consultas e mutações canônicas, utilizando unidades locais SSD ou NVMe e memória apenas como caches temporários. Em paralelo, os indexadores, identificados como graph-indexer, processam estruturas imutáveis de travessia em formato de coluna esparsa comprimida (CSC) em segundo plano.
O processo de implantação para testes locais pode ser iniciado puxando a imagem de contêiner oficial do repositório:
docker pull ghcr.io/hydra-db/hydradb:latest
A coordenação entre nós utiliza concessões atômicas do tipo compare-and-swap no armazenamento de objetos para escolher o escritor ativo de cada partição. Para conter operações conflitantes de instâncias antigas, o SlateDB emprega épocas de escritor, garantindo isolamento estrito durante transições de nós.
A distinção fundamental reside no modelo de armazenamento desagregado. Enquanto bancos tradicionais exigem volumes de blocos dedicados e redundância atrelada ao servidor, o HydraDB consolida toda a informação em camadas compatíveis com S3.
O fluxo de indexação também segue uma lógica diferente de soluções centralizadas. Em vez de bloquear a escrita para atualizar todos os índices de travessia, os trabalhadores indexadores publicam gerações imutáveis de modo assíncrono. Leituras continuam corretas mesmo com índices atrasados, pois o motor aplica o segmento visível do log de escrita sobre a base indexada durante a consulta.
O repositório foi criado em 2026-07-03 e recebeu o último commit em 2026-08-19, acumulando 143 issues abertas. Consta que nenhuma release foi encontrada no repositório, com a data da release categorizada como não informado no repositório. Esses elementos exigem prudência, indicando estágio inicial de estabilização do software.
A licença definida é a AGPL-3.0, modelo de copyleft estrito que obriga a disponibilização do código-fonte caso o serviço seja oferecido via rede com modificações. Essa exigência impõe avaliações de conformidade jurídica para corporações que pretendem integrar o sistema a produtos proprietários.
A compilação local a partir do código exige o conjunto de ferramentas da linguagem Rust na versão 1.91 ou superior e suporte às bibliotecas externas de travessia. Tópicos oficiais associados ao projeto constam como não informado no repositório.