JetBrains, OrientDB 후속 임베디드 그래프 DB "YouTrackDB" 오픈소스로 공개
- YouTrackDB는 JetBrains가 만든 객체지향 그래프 데이터베이스로, 자사 이슈 트래커 YouTrack 내부 코드에서 분리되어 독립 프로젝트가 됨
- OrientDB의 실질적 후속작이며 JetBrains의 임베디드 DB Xodus의 후속 프로젝트로도 소개됨
- 단일 머신에서 동작하는 임베디드 DB로, 링크 순회를 O(1) 복잡도로 처리한다고 명시함, JetBrains는 이를 자사 포럼/티켓팅 서비스에 실제로 사용 중
- Kotlin 대신 Java로 구현되어 있는데, 댓글에서는 YouTrack이 Kotlin 등장 이전부터 개발된 코드라서 리라이트가 불필요했을 것이라는 추측이 나옴
- 저장소의
.claude/agents폴더에 25개의 에이전트 정의가 있고 이 중 10개가 코드리뷰 관련 항목이라는 점이 댓글에서 눈길을 끔
Hacker News opinions
Neo4j 같은 기존 그래프 DB로는 왜 안 됐는지 설계 결정 문서가 있는지 궁금하네
왜 Java로 만들었는지도 궁금함
Neo4j 라이선스 가격이 진짜 살인적임, 25코어짜리 쿠버네티스 배포 계약할 때 연간 라이선스비가 시니어 개발자 연봉보다 더 나왔음
Neo4j가 원래 임베디드 DB였다가 클라이언트-서버 구조에 독자 쿼리 DSL 붙은 유료 플랫폼으로 변신한 거 아니었나, 그때부터 별로 투자하고 싶지 않았음
이거 어느 규모까지 쓸 수 있는지 문서 있음?
임베디드고 단일 머신용임, 근데 자기네 포럼/티켓팅 서비스는 이걸로 돌린다니까 그정도는 되나봄
YouTrackDB라는 이름이 범용 DB치곤 좀 이상한데, 특정 제품에 왜 이렇게 종속시켰나
YouTrack 내부 코드에서 분리된 거라 그런 이름이 붙었다고 함
이거 OrientDB 포크 아님?
포크라기보단 후속작임, 미디엄 글에 히스토리 나와있음
그래프 DB 좀 써봤는데 진짜 쓸만한지 궁금함, 소규모는 SQL이 낫고 특정 케이스에서만 그래프 DB가 의미있는건지
Neo4j로 커스텀 앱 보안이랑 소셜미디어 도메인에서는 확실히 효과 봤음, cypher 쿼리도 잘 만들어짐
O(1) 순회가 기술적으로는 맞는데 실제로는 5홉 넘는 실시간 딥 트래버설 필요한 케이스가 별로 없고, PostgreSQL에 ltree나 pgrouting 붙이면 충분한 경우가 많음, super node 문제도 여전히 있음
아동병원 연구소에서 단백질 상호작용 시각화 도구 평가할 때 Neo4j에 React 붙인 걸 봤음
JVM 언어인 건 예상했는데 Kotlin 아니고 Java인 게 의외임
YouTrack이 Kotlin 나오기 전부터 있던 거라 리라이트할 이유가 없었을 듯, JetBrains는 파일 단위로 개발자가 알아서 Kotlin으로 포팅하게 두고 일괄 전환은 안 함
오브젝트 DB는 주기적으로 사라지고 다시 나타나더라, 예전에 Versant OODBMS 써봤는데 클래스에 인터페이스 하나 구현하면 바로 직렬화되는 DB 객체가 되는 게 신기했음, 근데 멀티머신 스케일아웃이 문제였음
이거 JetBrains의 Xodus 후속작이기도 함
TypeDB랑 비슷한데 객체지향 그래프 모델이 처음엔 어색해도 익숙해지면 표현력이 꽤 좋음
분산 지원되나? 그래프 신경망에 O(1) 순회면 꽤 좋을 것 같은데
레디스 기반인 falkorDB도 참고할만함
이 레포 .claude/agents 폴더 볼만함, 에이전트 정의가 25개나 있고 그중 10개가 코드리뷰 관련임