lance: 고성능 벡터 검색 및 랜덤 액세스를 지원하는 멀티모달 AI를 위한 오픈 레이크하우스 포맷

lance: 고성능 벡터 검색 및 랜덤 액세스를 지원하는 멀티모달 AI를 위한 오픈 레이크하우스 포맷

해결하는 문제

Lance는 멀티모달 AI를 위해 특별히 설계된 고성능 오픈 레이크하우스 포맷을 제공합니다. 이는 현대적인 ML 학습 및 피처 엔지니어링에 필요한 랜덤 액세스, 벡터 검색, 멀티모달 데이터 저장의 한계를 기존 SQL 중심의 레이크하우스 포맷(Parquet 또는 Iceberg와 같은)이 가진 문제를 해결합니다.

작동 방식

Lance는 오브젝트 스토리지 위에 구축할 수 있는 파일 포맷, 테이블 포맷 및 카탈로그 사양을 구현합니다. 임베딩, 이미지, 비디오, 오디오 및 텍스트를 단일 통합 포맷으로 효율적으로 저장할 수 있게 해줍니다. 벡터 유사도, 전체 텍스트 검색(BM25), SQL 분석을 결합한 하이브리드 검색을 지원하며, 샘플링 및 탐색을 위한 매우 빠른 랜덤 액세스를 제공합니다.

대상 사용자

대규모 멀티모달 데이터셋을 관리하고, 하이브리드 검색을 갖춘 검색 엔진이나 피처 스토어를 구축하며, 대규모 ML 학습을 위한 고성능 IO를 수행해야 하는 AI 엔지니어 및 데이터 과학자를 위해 구축되었습니다.

주요 특징

  • 하이브리드 검색: 단일 데이터셋에서 벡터 유사도, BM25 전체 텍스트 검색 및 SQL 분석을 결합합니다.
  • 빠른 랜덤 액세스: Parquet 또는 Iceberg보다 최대 100배 빠른 랜덤 액세스를 제공합니다.
  • 멀티모달 지원: 이미지, 비디오, 오디오 및 텍스트에 대한 네이티브 스토리지 및 레이지 로딩(lazy loading)을 지원합니다.
  • 데이터 진화: 전체 테이블 재작성 없이 백필(backfilled) 값을 포함한 컬럼 추가를 허용합니다.
  • 제로 카피 버전 관리: 추가 인프라 없이 ACID 트랜잭션, 타임 트래블(time travel), 태그 및 브랜치를 포함합니다.
  • 광범위한 통합: Apache Arrow, Pandas, Polars, DuckDB, Ray, Apache Spark와 호환됩니다.

Sources