AI의 도움을 받아 개발된 오픈소스 벡터 데이터베이스(DB) '사나(Sana)'가 최근 공개되어 주목받고 있습니다. 이 프로젝트는 오브젝트 스토리지(object storage)를 기본 저장소로 활용하여, 문서의 유일한 영구 저장소가 S3와 같은 오브젝트 스토어 또는 로컬 디렉터리인 환경에서 벡터 검색, 전문(full-text) 검색, 속성 필터링을 가능하게 합니다. 개발자는 최고 성능보다는 학습과 이해를 돕는 데 중점을 두었으며, AI 공동 개발의 한 사례로 제시했습니다.
'사나'는 '터보퍼퍼(Turbopuffer)'에서 영감을 받아 Rust 언어로 개발되었으며, 단계별로 문서화된 커밋(commit)을 통해 구축 과정을 투명하게 공개하고 있습니다. 주요 기능으로는 오브젝트 스토리지 내 CAS(Compare-and-Swap) 기반 커밋 커서(commit cursor)를 통한 내구성 있는 쓰기(durable writes), 강력한 일관성을 보장하는 읽기, 멱등성(idempotency) 키, 조건부 쓰기, 필터링 기반 패치/삭제 등이 있습니다. 또한, LSM(Log-Structured Merge) 문서 SST(Sorted String Table), 델타 계층 속성 포스팅, BM25 전문 검색, 그리고 RaBitQ 양자화(quantization)를 사용한 IVF(Inverted File Index) 벡터 인덱스 등 다양한 인덱싱 기술을 지원합니다. 단일 바이너리로 CLI, API 서버, 인덱싱/유지보수 역할, 개발 서버 등을 모두 수행할 수 있으며, 로컬 파일 시스템과 S3 호환 스토리지 백엔드를 지원합니다.
이 프로젝트는 AI가 소프트웨어 개발 과정에서 얼마나 강력한 도구가 될 수 있는지 보여주는 사례입니다. 특히 1인 개발자나 소규모 팀에게는 AI 어시스턴트가 복잡한 시스템 구축의 진입 장벽을 낮추고, 아이디어를 빠르게 프로토타입으로 구현하는 데 큰 도움이 될 수 있습니다. 오브젝트 스토리지 기반의 벡터 DB는 확장성과 비용 효율성 측면에서 장점이 있어, 대규모 데이터를 다루는 애플리케이션이나 비용에 민감한 스타트업에게 매력적인 대안이 될 수 있습니다. '사나'는 프로덕션 환경보다는 학습용으로 설계되었지만, 이러한 접근 방식은 향후 AI 기반 개발과 분산 시스템 아키텍처의 방향성을 제시하는 중요한 이정표가 될 것입니다.