Show HN: HelixDB – 객체 스토리지 기반 그래프 데이터베이스
Source: Hacker News
안녕하세요 HN, 우리가 HelixDB(https://news.ycombinator.com/item?id=43975423)를 출시한 지 이제 1년이 조금 넘었습니다. 이 프로젝트는 대학 시절 친구와 함께 시작한 것으로, 객체 스토리지를 기반으로 한 OLTP 그래프 데이터베이스이며, 네이티브 벡터 검색과 전체 텍스트 검색(FTS)을 지원합니다.
왜 그래프, 벡터, 그리고 FTS인가요? 그래프 데이터베이스는 데이터에 대한 자연스러운 인지 모델을 제공하고, 벡터는 그래프 내 엔티티와 관계에 대한 의미론적 이해를 가능하게 하며, FTS는 보다 구체적인 필터링을 제공합니다. 많은 AI 기반 애플리케이션이 여러 개의 분리된 시스템을 이어붙여 이러한 기능들을 결합하려 하지만, 그 경우에도 모든 시스템을 아우르는 조인이나 쿼리를 수행할 네이티브 방법이 없습니다. 결국 이러한 로직을 애플리케이션 레벨에서 직접 처리해야 합니다.
Helix는 처음에 그래프 DB로 시작했지만, AI 메모리 시스템을 구축하려다 보니 GraphRAG와 HybridRAG라는 토끼굴에 빠지게 되었고, 여기서는 별도의 그래프와 벡터 데이터베이스가 필요했습니다.
우리는 제품 개발 단계마다 확장성이 큰 과제가 될 것임을 알고 있었지만, 지난 1년간의 초기 목표는 로컬 배포를 통해 제품을 검증하는 것이었으며, 단일 노드에서만 실행하도록 설계되었습니다. 그래프 DB의 확장은 여전히 어렵고 비용이 많이 드는 문제였으며, 이는 나중에 해결해야 할 과제였습니다.
다른 그래프 DB들이 확장을 해결하는 일반적인 방법은 전체 데이터셋을 여러 머신에 복제하는 것(노드당 매우 비쌈)이나 데이터를 샤딩하는 것입니다.
데이터베이스 샤딩은 효과적이고 비용도 합리적이지만, 그래프 데이터는 관계형 데이터베이스처럼 명시적인 파티션이 없습니다. 예를 들어 관계형 DB에서는 테이블을 나누어 샤딩하지만, 그래프 DB에서는 엣지가 어느 파티션에든 걸쳐 있을 수 있고, 노드를 탐색하면서 여러 머신을 오가는 것은 비효율적이고 계산 비용이 크게 듭니다.
고가용성과 더 나은 처리량을 위해 그래프 DB를 복제하면 운영 비용이 급격히 증가하고, 수직 확장의 한계도 존재합니다. 우리가 다루는 워크로드는 에이전트가 방대한 양의 데이터를 저장해야 하며, 그 중 일부만이 언제든지 필요합니다. 따라서 전체를 메모리에 올리는 대신 객체 스토리지에 모두 저장하고, 필요할 때마다 필요한 부분만 가져오는 방식을 채택했습니다.
에이전트는 더 많은 관계 등 더 풍부하고 좋은 데이터를 통해 컨텍스트가 개선됩니다. S3를 영속성/데이터 레이어로 사용하면 그래프 크기나 관계 수에 제한이 없으며, 노드를 수평으로 확장하고 각 노드에 그래프의 관련 서브셋을 캐시함으로써 처리량과 요청을 확장할 수 있습니다. 이렇게 하면 “핫” 데이터에 대해서는 매우 낮은 지연 시간을 제공하고, 콜드 스토리지(S3)에서 쓰기는 p99 약 100 ms, 읽기는 p99 약 50 ms를 달성합니다. 게다가 스토리지 비용이 거의 무료에 가깝습니다.
HelixDB가 현재 지원하는 워크로드:
- 에이전트가 검색하고 탐색해야 하는 테라바이트 규모의 방대한 데이터
- 그래프 데이터 비용이 병목인 기업을 위한 저비용 그래프 스토리지 제공
- 여러 데이터베이스를 통합하여 AI 에이전트가 기업에 대한 자율성을 갖게 함
- AI 메모리
- 기업 두뇌
우리는 현재 HelixDB를 기반으로 하는 일반화된 AI 메모리 레이어를 개발 중이며, 이는 완전 오픈소스로 제공될 예정입니다. 또한 벡터 검색을 위한 사전 필터링 기능을 마무리하고 있는데, 이를 통해 그래프 내 관계, 메타데이터, 서브그래프를 기반으로 사전 필터링할 수 있게 됩니다. 마지막으로, GA 클라우드가 몇 주 안에 출시될 예정입니다.
Helix를 로컬(디스크 기반 또는 인메모리)에서 실행하고 싶다면 GitHub(https://github.com/HelixDB/helix-db)와 문서(https://docs.helix-db.com/database/local-development)를 참고하세요. 분산 클라우드 서비스를 시작하고 싶다면 founders@helix-db.com 으로 이메일을 보내 주세요.
많은 감사드립니다! 댓글과 피드백을 환영합니다!
Comments URL: https://news.ycombinator.com/item?id=48478148
Points: 15