JetBrains/youtrackdb

YouTrackDB is a general-use object-oriented graph database with storage format native to handle graph relations. YouTrackDB supports Gremlin queries and ACID transactions. YTDB supports both embedded and client-server deployment models.

해결하는 문제

YouTrackDB는 기존 JOIN의 성능 비용 없이 연결된 데이터(소셜 네트워크, 추천 엔진, 종속성 그래프 등)를 처리하는 범용 그래프 데이터베이스입니다. 객체와 관계로 데이터를 저장하고 쿼리할 수 있으며, 빠른 링크 순회와 강력한 일관성 보장을 제공합니다.

작동 방식

YouTrackDB는 객체 간의 관계를 일정한 시간(O(1))에 순회하는 그래프로 데이터를 저장하며, 비용이 많이 드는 런타임 JOIN을 사용하지 않습니다. 임베디드(애플리케이션 내에서 실행) 및 클라이언트-서버(독립형 데이터베이스 서버) 배포를 모두 지원합니다. 트랜잭션은 스냅샷 격리로 실행되므로 각 트랜잭션은 시작 시점의 데이터베이스 안정적인 뷰를 보며, 더티 리드 및 관련 문제를 피할 수 있습니다. TinkerPop API 및 Gremlin 쿼리 언어, 또는 MATCH 문과 같은 그래프 패턴 확장을 갖춘 SQL 기반 YQL 언어로 쿼리할 수 있습니다. 또한 스키마 없는, 스키마 혼합, 스키마 전체 모드를 제공하여 다양한 개발 워크플로우에 적합합니다.

대상 사용자

YouTrackDB는 복잡한 관계와 그래프 쿼리를 처리해야 하는 애플리케이션을 구축하는 개발자와 팀을 위한 것입니다. JetBrains에서 프로덕션 환경에 사용되므로 까다로운 환경에 적합합니다. Docker 콘솔로 실험하거나 Maven 또는 Gradle로 Java 프로젝트에 임베드하거나 Docker 컨테이너로 전체 서버를 실행할 수 있습니다. JDK 21 이상이 필요합니다.

주요 기능

  • 링크 순회의 O(1) 복잡성, 비용이 많이 드는 JOIN 방지
  • 모든 트랜잭션에 기본 스냅샷 격리
  • TinkerPop API 및 Gremlin 쿼리 언어를 기본 지원
  • SQL 스타일 구문과 그래프 확장을 갖춘 YQL 쿼리 언어
  • 스키마 없는, 스키마 혼합, 스키마 전체 모드로 작동
  • 사용자, 역할, 술어 기반 정책으로 강력한 보안
  • 저장 데이터의 선택적 암호화
  • 최소한의 일시 중지로 온라인 증분 및 전체 백업
  • 인스턴스당 여러 독립 데이터베이스
  • 시작하기 쉬움: 콘솔 및 서버용 Docker 이미지, 임베디드 사용을 위한 Maven/Gradle 종속성

관련

  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트