HelixDB: AI 애플리케이션을 위한 멀티 모델 그래프-벡터 데이터베이스

HelixDB는 AI 애플리케이션 구축 시 별도의 애플리케이션, 관계형, 벡터, 그래프 데이터베이스를 사용할 필요가 없도록 설계된 통합 OLTP 그래프-벡터 데이터베이스입니다. 메모리, "회사 브레인(company brains)", 연합 데이터 액세스를 위한 단일 플랫폼을 제공함으로써, HelixDB는 AI 에이전트가 그래프, 벡터, 키-값(KV), 문서, 관계형 데이터를 포함한 다양한 데이터 유형과 단일 시스템 내에서 상호작용할 수 있도록 합니다.

핵심 아키텍처 및 데이터 모델

HelixDB는 Rust로 구축되었으며 주로 그래프 및 벡터 데이터 모델을 활용합니다. AI 애플리케이션 스택에서 여러 저장 위치를 관리하는 복잡성을 줄이기 위해 다양한 저장 패러다임을 지원하도록 설계되었습니다.

지원되는 데이터 모델

  • Graph: 복잡한 관계를 표현하기 위한 기본 모델.
  • Vector: 유사도 검색 및 AI 임베딩을 위해 통합됨.
  • KV & Document: 비정형 및 반정형 데이터 지원.
  • Relational: 구조화된 데이터 테이블 지원.

배포 옵션 및 저장소

HelixDB는 로컬 개발 및 관리형 클라우드 서비스라는 두 가지 주요 배포 경로를 제공합니다.

로컬 개발

사용자는 CLI를 통해 HelixDB의 로컬 인스턴스를 실행할 수 있습니다. 로컬 개발을 위한 기본 저장 모드는 인메모리(in-memory) 방식이며, 이는 인스턴스를 중지하면 데이터가 삭제됨을 의미합니다. 하지만 --disk 플래그(helix start dev --disk)를 사용하여 영속성을 활성화할 수 있습니다.

HelixDB Cloud

HelixDB Cloud는 프로덕션 환경에 적합한 객체 스토리지 기반 배포 방식입니다. 다음과 같은 기술 사양을 제공합니다:

  • ACID Transactions: 데이터 무결성을 보장하기 위한 ACID 준수 완전 지원.
  • High Availability: 배포에는 최소 3개의 게이트웨이 및 데이터베이스 노드가 포함됩니다.
  • Scalability: 자동 확장되는 리더 노드를 갖춘 단일 라이터(single writer) 아키텍처를 특징으로 합니다.
  • Search Capabilities: 통합된 전체 텍스트 검색 및 벡터 검색.

쿼리 및 SDK

HelixDB는 Rust 및 TypeScript에서 사용할 수 있는 도메인 특화 언어(DSL)를 사용합니다. 쿼리는 POST /v1/query 엔드포인트로 동적 요청을 전송하여, 쿼리에 대한 빌드 또는 배포 단계가 필요하지 않습니다.

Rust SDK

쿼리는 #[register] 함수로 정의됩니다. Rust 클라이언트는 비동기 실행 및 JSON 핸들링을 위해 tokiosonic-rs를 사용합니다.

TypeScript SDK

TypeScript SDK(Node.js 20+ 지원)는 개발자가 빌더 패턴을 사용하여 파라미터와 쿼리를 정의할 수 있게 하며, 정의된 쿼리는 동적 JSON으로 변환되어 표준 HTTP fetch 요청을 통해 전송됩니다.

Helix Chef를 이용한 빠른 프로토타이핑

초기 설정을 가속화하기 위해 HelixDB는 helix chef라는 도구를 제공합니다. 이 대화형 부트스트래퍼는 다음과 같은 자동화된 작업을 수행합니다:

  • 쿼리 스킬 및 문서 MCP 설치.
  • 프로젝트 스캐폴딩(scaffolding) 및 로컬 인스턴스 시작.
  • 예제 데이터 시딩(seeding).
  • HELIX_CHEF_PROMPT.md 파일 생성.

Claude Code, Codex 또는 OpenCode와 같은 코딩 에이전트와 함께 사용하면, helix chef는 단 한 줄의 설명만으로 프론트엔드를 포함한 완전한 작동 애플리케이션을 생성할 수 있습니다.

커뮤니티 논의 및 기술적 문의

발표 이후, 개발자 커뮤니티에서는 데이터베이스 내부 구조 및 성능에 관한 몇 가지 기술적 질문이 제기되었습니다:

  • Performance: 사용자들이 멀티홉(multi-hop) 쿼리에 대한 p99 레이턴시를 문의했습니다.
  • Open Source Status: 일부 커뮤니티 구성원들은 제공된 GitHub 리포지토리가 핵심 데이터베이스 소스 코드가 아닌 클라이언트 SDK를 포함하고 있는 것으로 보인다고 언급했습니다.
  • Self-Hosting: 관리형 HelixDB Cloud 서비스 외에 데이터베이스를 셀프 호스팅할 수 있는 기능에에 대해, 특히 예산이 한정된 사용자들을 중심으로 질문이 제기되었습니다.
  • Feature Requests: 사용자들이 "그래프 메모리 레이어(graph memory layer)"의 가용성 및 전체 텍스트 검색 또는 벡터 기능이 그래프의 엣지(edge)까지 확장되는지에 대해 관심을 표명했습니다.

Sources