본문 바로가기
프로그램 활용/인공지능(AI)

AI | LanceDB란

by 3604 2026. 8. 4.
728x90

LanceDB대규모 멀티모달 AI 데이터를 효율적으로 저장, 검색, 관리하기 위해 설계된 오픈소스 서버리스 벡터 데이터베이스(Vector Database)입니다. 데이터 복사 없이 빠른 임베딩 검색과 분석을 지원하며, 주로 LLM과 RAG(검색 증강 생성) 애플리케이션의 외부 기억 장치로 사용됩니다.

주요 특징
  • 서버리스 및 로컬/클라우드 통합: 별도의 복잡한 데이터베이스 서버 구축 없이 로컬 디스크나 S3 같은 객체 스토리지에 직접 수백만 개의 벡터를 저장하고 쿼리할 수 있습니다. 
  • Lance 포맷 기반: Apache Arrow 기반의 고성능 열 지향 데이터 형식인 'Lance' 포맷을 사용하여 데이터 변경(삽입·수정·삭제)과 버전 관리가 유연합니다. 
  • 하이브리드 검색 지원: 벡터 검색뿐만 아니라 풀텍스트 검색(Full-text search)과 SQL 분석 등을 결합하여 사용할 수 있습니다.
 
 
 
 
 
 
'Lance' 포맷은 AI/머신러닝 워크로드와 멀티모달 데이터(이미지, 비디오, 텍스트, 벡터 임베딩 등)를 처리하기 위해 특별히 설계된 차세대 오픈소스 컬럼형(열 지향) 데이터 저장 형식입니다. 
기존 빅데이터 표준이었던 Apache Parquet(파케이)가 데이터 웨어하우스(Batch SQL) 중심이었다면, Lance는 대규모 AI 데이터 레이크하우스(Lakehouse) 환경을 겨냥해 만들어졌습니다. 
Lance 포맷의 핵심적인 특징과 혁신은 다음과 같습니다.

1. Apache Arrow와 완벽한 호환 (Arrow-Native)
  • Zero-Copy 데이터 교환: 메모리 내 데이터 표준인 Apache Arrow의 타입 시스템을 그대로 사용합니다.
  • Lance 데이터를 읽을 때 별도의 파싱이나 직렬화 역직렬화(Deserialization) 과정 없이, Pandas, DuckDB, Polars, PyTorch 같은 데이터 과학 도구로 CPU/GPU 메모리에 즉시 로드할 수 있어 전송 병목이 전혀 없습니다.
2. 압도적인 무작위 접근(Random Access) 성능
  • Parquet의 한계 극복: 기존 Parquet는 파일이 대형 블록(Row Group) 단위로 묶여 있어, 단 하나의 행(Row)만 조회하더라도 블록 전체의 압축을 풀어야 하므로 속도가 느렸습니다. 
  • O(1) 속도의 탐색: Lance는 행 그룹(Row Group) 구조를 없애고, 데이터의 정확한 바이트 위치를 가리키는 반복 인덱스(Repetition Index) 구조를 도입했습니다. 이 덕분에 수억 개의 행 중 특정 데이터를 무작위로 가져오는 속도가 Parquet보다 최대 100배~2000배까지 빠릅니다. 
3. 멀티모달 데이터 및 고차원 벡터의 효율적 저장
  • 고차원 벡터 임베딩뿐만 아니라 이미지, 오디오, 비디오 등의 비정형 데이터(Blob)를 표 형태의 정형 데이터와 함께 하나의 파일에 효율적으로 결합하여 보관할 수 있습니다.
  • 대규모 데이터 분석과 AI 모델 학습(Training)에 필요한 데이터를 쪼개지 않고 일원화하여 관리하기에 최적입니다. 
4. 제로 카피 데이터 버전 관리 (Versioning) 및 스키마 진화
  • ACID 트랜잭션 지원: 데이터의 추가, 수정, 삭제가 일어날 때 기존 데이터를 덮어쓰지 않고 새로운 버전의 메타데이터(Manifest)만 생성하는 MVCC(다중 버전 동시성 제어) 방식을 사용합니다. 
  • 컬럼 단위 독립 진화: 기존 대용량 이미지 데이터를 그대로 둔 채, AI 모델이 생성한 새로운 임베딩 벡터 컬럼만 비용 없이 덧붙이는(Backfill) '스키마 진화'가 가능합니다. 
5. 클라우드 오브젝트 스토리지 최적화
  • AWS S3나 Google Cloud Storage 같은 클라우드 환경은 무작위 접근 시 네트워크 지연(Latency)이 심합니다. Lance는 클라우드 저장소의 HTTP Range Request(필요한 바이트 범위만 골라 읽기)를 극대화하도록 설계되어, 클라우드 환경에서도 서버리스 형태로 고성능을 보장합니다. 

📊 요약: Parquet vs Lance
비교 항목Apache Parquet (기존 표준)Lance (AI 시대의 포맷)
주요 목적 전통적인 비즈니스 인텔리전스(BI), 대용량 SQL 분석 머신러닝 워크로드, AI 학습, 벡터 검색
핵심 강점 뛰어난 순차 스캔(Sequential Scan) 및 압축률 압도적인 무작위 접근(Random Access) 속도
데이터 구조 행 그룹(Row Group) 기반 블록 저장 행 그룹이 없는 구조 + 바이트 오프셋 인덱스
벡터 & 멀티모달 고차원 벡터나 중첩 구조 저장 시 성능 저하 고차원 벡터 및 이미지/오디오 파일 기본 최적화
데이터 변경 파일 수정 시 테이블 전체를 다시 써야 함 기존 데이터 복사 없는 유연한 업데이트 및 버전 관리
결과적으로 'Lance' 포맷은 AI 데이터를 다룰 때 발생하는 디스크 I/O 병목을 해결하기 위해, 메모리(Arrow)와 디스크(Lance)의 장점을 결합하여 설계된 데이터 레이크하우스 최적화 파일 포맷입니다

 

728x90