프로젝트 소개

Dgraph는 그래프 백엔드 위에 구축된 오픈 소스, 수평 확장 가능한 분산 GraphQL 데이터베이스입니다. README에 따르면 ACID 트랜잭션, 일관된 복제, 선형화 가능 읽기를 제공하며, 다양한 쿼리를 염두에 두고 처음부터 설계되었습니다. 네이티브 GraphQL 데이터베이스로서 쿼리 성능과 처리량을 최적화하기 위해 데이터가 디스크에 배치되는 방식을 제어하며, 클러스터 내 디스크 탐색과 네트워크 호출을 줄이는 것을 목표로 합니다. 이 프로젝트는 수 테라바이트의 구조화된 데이터에 대해 실시간 사용자 쿼리에 충분히 낮은 지연 시간으로 Google 수준의 프로덕션 규모와 처리량을 제공하는 것을 목표로 한다고 밝히고 있습니다. GraphQL 쿼리 구문을 지원하고 gRPC와 HTTP를 통해 JSON 및 Protocol Buffers로 응답합니다. Dgraph는 Go로 작성되었습니다. 상태 및 플랫폼: README는 버전 v25를 프로덕션 준비 완료로 표시하고 여러 Fortune 500 기업의 프로덕션에서 사용되고 있음을 언급합니다. 공식 지원은 Linux/amd64 및 Linux/arm64를 포함하며, 공식 Mac 및 Windows 지원은 2021년에 중단되었지만 공식 지원 없이도 다른 플랫폼에서 빌드하고 사용할 수 있습니다. Docker가 권장되는 테스트 및 배포 방법이며, 공식 이미지와 독립 실행형 빠른 시작 명령이 제공됩니다. 소스에서 빌드하려면 Go 1.27+ 및 빌드 도구가 필요하며, `make setup`과 `make install`을 사용합니다. README는 Dgraph가 상호 연결된 테이블이 많고, 희소 데이터, 유연한 스키마 필요성, 규모에서의 성능이 요구되는 애플리케이션에 적합할 수 있다고 제안합니다. NoSQL과 유사한 확장성과 SQL과 유사한 트랜잭션, 데이터 포인트 선택, 필터링, 집계 기능, 그리고 분산 조인, 순회, 그래프 연산을 결합합니다. README의 비교 표는 아키텍처, 복제, 샤드 재분배, 쿼리 언어, 프로토콜, 트랜잭션, 전체 텍스트 검색, 정규 표현식, 지리 검색, 라이선스 측면에서 Dgraph를 Neo4j 및 JanusGraph와 대조합니다. Dgraph는 샤딩 및 분산 구조, 일관된 복제, 샤드 재분배를 위한 자동 데이터 이동, GraphQL에서 영감을 받은 언어, JSON/RDF를 사용하는 gRPC/HTTP, 분산 ACID 트랜잭션, 그리고 Apache 2.0에 따른 네이티브 전체 텍스트 검색, 정규 표현식, 지리 검색을 갖춘 것으로 설명됩니다. 문서, 커뮤니티 토론, 릴리스, 기여 지침이 링크되어 있으며, 팀은 공식 지원 클라이언트 라이브러리와 함께 커뮤니티가 기여한 비공식 라이브러리도 유지 관리합니다.