Sobre o projeto

Dgraph é um banco de dados GraphQL de código aberto, escalável horizontalmente e distribuído, construído sobre um backend de grafo. De acordo com seu README, ele oferece transações ACID, replicação consistente e leituras linearizáveis, e foi projetado desde o início para um conjunto rico de consultas. Como banco de dados GraphQL nativo, ele controla como os dados são organizados em disco para otimizar o desempenho e a taxa de transferência das consultas, com o objetivo de reduzir buscas em disco e chamadas de rede em um cluster. O projeto afirma que seu objetivo é oferecer escala e taxa de transferência em nível de produção do Google, com latência baixa o suficiente para consultas de usuários em tempo real sobre terabytes de dados estruturados. Ele suporta a sintaxe de consulta GraphQL e responde em JSON e Protocol Buffers via gRPC e HTTP. Dgraph é escrito em Go. Status e plataformas: o README lista a versão v25 como pronta para produção e observa seu uso em produção em várias empresas Fortune 500. O suporte oficial abrange Linux/amd64 e Linux/arm64; o suporte oficial para Mac e Windows foi removido em 2021, embora o projeto ainda possa ser compilado e usado em outras plataformas sem suporte oficial. Docker é o método recomendado de teste e implantação, com uma imagem oficial e um comando de início rápido autônomo. Compilar a partir do código-fonte requer Go 1.27+ e ferramentas de build, com `make setup` e `make install`. O README sugere que o Dgraph pode ser adequado para aplicações com muitas tabelas interconectadas, dados esparsos, necessidade de um esquema flexível e desempenho em escala. Ele combina escalabilidade semelhante à NoSQL com transações semelhantes às de SQL e a capacidade de selecionar, filtrar e agregar pontos de dados, além de junções distribuídas, travessias e operações de grafo. Uma tabela comparativa no README contrasta o Dgraph com Neo4j e JanusGraph em arquitetura, replicação, rebalanceamento de shards, linguagem de consulta, protocolos, transações, busca em texto completo, expressões regulares, busca geográfica e licença. O Dgraph é descrito como fragmentado e distribuído, com replicação consistente, movimentação automática de dados para rebalanceamento de shards, uma linguagem inspirada em GraphQL, gRPC/HTTP com JSON/RDF, transações ACID distribuídas e busca nativa em texto completo, expressões regulares e busca geográfica sob Apache 2.0. Documentação, discussões da comunidade, releases e diretrizes de contribuição estão vinculadas, e a equipe mantém bibliotecas cliente oficialmente suportadas ao lado de outras não oficiais contribuídas pela comunidade.