lance-format/lance

Open Lakehouse Format for Multimodal AI. Convert from Parquet in 2 lines of code for 100x faster random access, vector index, and data versioning. Compatible with Pandas, DuckDB, Polars, Pyarrow, and PyTorch with more integrations coming..

What it solves

Lance는 멀티모달 AI를 위해 특별히 설계된 고성능 오픈 레이크하우스(lakehouse) 포맷을 제공합니다. 이는 벡터 검색, ML 학습을 위한 빠른 랜덤 액세스, 그리고 이미지 및 비디오와 같은 멀티모달 데이터의 효율적인 저장에 어려움을 겪는 기존의 SQL 중심 레이크하우스 포맷(Parquet 또는 Iceberg와 같은)의 한계를 해결합니다.

How it works

Lance는 오브젝트 스토리지(object storage) 위에 구축할 수 있는 파일 포맷, 테이블 포맷, 그리고 카탈로그 사양을 구현합니다. 이는 임베딩(embeddings), 텍스트, 그리고 원시 멀티모달 블롭(raw multimodal blobs: images, audio, video)을 단일 통합 포맷으로 저장할 수 있게 합니다. 또한 벡터 유사도 검색, 전체 텍스트 검색(BM25), 그리고 SQL 분석을 결합한 하이브리드 검색을 지원하며, 데이터 관리를 위한 ACID 트랜잭션이 포함된 제로-코피(zero-copy) 버전 관리 기능을 제공합니다.

Who it’s for

고성능 IO 및 멀티모달 데이터셋에 대한 효율적인 랜덤 액세스가 필요한 검색 엔진, 피처 스토어(feature stores), 또는 대규모 ML 학습 파이프라인을 구축해야 하는 AI/ML 엔지니어를 위해 설계되었습니다.

Highlights

  • Hybrid Search: 단일 데이터셋에서 벡터, 전체 텍스트, 그리고 SQL 검색을 결합합니다.
  • High-Speed Random Access: Parquet 또는 Iceberg보다 최대 100배 빠른 랜덤 액세스를 제공합니다.
  • Multimodal Support: 이미지, 비디오, 오디오에 대한 네이티브이면서 레이지 로딩(lazy loading)을 지원하는 스토리지를 제공합니다.
  • Data Evolution: 테이블 전체를 다시 쓰지 않고도 피처 엔지니어링을 위한 컬럼을 효율적으로 추가할 수 있습니다.
  • Zero-Copy Versioning: 내장된 ACID 트랜잭션, 타임 트래블(time travel), 그리고 브랜칭(branching)을 기능을 제공합니다.
  • Broad Ecosystem: Apache Arrow, Pandas, Polars, DuckDB, Ray, 및 Spark와 통합됩니다.