본문으로 바로가기
리옵트 핸드북
리옵트 핸드북
DuckDB 고급 활용

시작과 기준선

포지셔닝과 적합한 워크로드버전·설치·런타임 기준연결·스토리지 모델실행 가능한 예제 번들

파일·레이크 분석

CSV·JSON 수집Parquet 레이크 모델링다중 파일·스키마 진화파티션 쓰기와 오브젝트 스토리지Lakehouse 포맷

분석 SQL·연동

Friendly SQL과 매크로시계열·분석 SQL중첩·반정형 데이터Python·Arrow·Polars·BIdbt·MotherDuck·Ibis 생태계Materialization·Index·통계

성능·운영

성능 프로파일링벤치마크·프로파일링 실습메모리·spill·실패 모드동시성·보안·운영보안 Hardening 체크리스트

부록

템플릿참고 자료검증 리포트업데이트 내역
핸드북›DuckDB 고급 활용›Lakehouse 포맷

Lakehouse 포맷

Iceberg, Delta, DuckLake를 DuckDB에서 읽고 쓰는 범위와 extension 안정성 기준을 정리합니다.

핵심 요약

  • Iceberg, Delta, DuckLake는 모두 파일+metadata 구조지만 트랜잭션·schema evolution·time travel·catalog 연동 방식이 제각각이라 extension 지원 범위와 안정성을 먼저 확인합니다.
  • iceberg extension은 httpfs/azure와 함께 object storage에 접근하며, 단순 metadata scan과 REST catalog attach는 운영 의미가 다르므로 읽기 전용/catalog mutation을 분리합니다.
  • delta extension은 read/write와 AT (VERSION => n) time travel을 지원하고, Delta log checkpoint·credential chain·release note를 함께 확인합니다.
  • DuckLake는 metadata를 SQL DB에, data files를 별도 path에 둡니다. 1.0이 2026년 4월 발표라 신규 프로젝트라면 검토할 만하지만 기존 catalog 정책과 비교가 필요합니다.
  • 단일 팀 mart는 Plain Parquet/DuckDB file, 여러 엔진이 table history를 공유하면 Iceberg/Delta, catalog mutation이 민감하면 read-only scan으로 제한합니다.

DuckDB는 단순 파일 스캐너를 넘어 lakehouse 포맷과도 연결됩니다. Iceberg, Delta, DuckLake는 모두 "파일 + metadata" 구조지만 트랜잭션, schema evolution, time travel, catalog 연동 방식이 제각각입니다. 그래서 DuckDB에서 쓰려면 포맷마다 지원 범위와 extension 안정성을 먼저 따져봐야 합니다.

지원 포맷 비교

포맷DuckDB extension강점운영 주의
Icebergicebergopen table format, metadata scan, REST catalog 연동extension이 릴리스 사이에도 업데이트될 수 있음
DeltadeltaDelta table read/write, time travel, appendplatform별 regression과 credential chain 확인
DuckLakeducklakeDuckDB 친화 lakehouse, SQL metadata catalog1.0 이후 빠르게 변하는 생태계
Plain Parquetbuilt-in/core단순, 넓은 호환성ACID/table history는 직접 관리

Iceberg

INSTALL iceberg;
LOAD iceberg;

SELECT count(*)
FROM iceberg_scan('s3://warehouse/db/table/metadata/v1.metadata.json');

Iceberg extension은 httpfs나 azure extension과 함께 object storage에 접근합니다. catalog를 붙이지 않는 단순 scan과 REST catalog attach는 운영상 의미가 다릅니다. 읽기 전용 탐색인지, table write와 catalog mutation까지 할 것인지를 나눠서 문서로 남깁니다.

Delta

INSTALL delta;
LOAD delta;

CREATE SECRET (
  TYPE s3,
  PROVIDER credential_chain
);

SELECT *
FROM delta_scan('s3://company-lake/delta/orders');

Delta extension은 local/remote Delta table read/write를 지원합니다. time travel은 attach 후 AT (VERSION => n) 형태로 읽습니다. 운영에서는 Delta log checkpoint, cloud provider credential chain, extension release note를 함께 챙깁니다.

DuckLake

DuckLake는 metadata를 SQL database에 두고 data files를 별도 path에 둡니다.

INSTALL ducklake;
LOAD ducklake;

ATTACH 'ducklake:metadata.ducklake' AS my_ducklake (DATA_PATH 'data_files');
USE my_ducklake;

FROM ducklake_snapshots('my_ducklake');

DuckLake 1.0은 2026년 4월에 발표되었습니다. 새 프로젝트라면 검토할 만하지만, 기존 lakehouse 표준과 조직의 catalog 운영 정책부터 비교해 보는 게 순서입니다.

선택 기준

질문추천
단일 팀 분석 mart인가Plain Parquet 또는 DuckDB file
여러 엔진이 같은 table history를 공유해야 하나Iceberg/Delta
DuckDB 중심으로 lakehouse를 새로 설계하나DuckLake 검토
단순 export/검증인가Plain Parquet
catalog mutation 권한이 민감한가read-only scan으로 제한

참고 자료

  • Lakehouse Formats
  • Iceberg Extension
  • Delta Extension
  • DuckLake
  • Core Extensions

관련 문서

검증 리포트

DuckDB 고급 활용 핸드북의 구조·링크·공식 근거·버전 기준 검증 결과

참고 자료

DuckDB 고급 활용 핸드북의 공식 문서·릴리스 근거 모음

Ch7. 실험 운영 체계

LLMOps·AgentOps 프로덕션 · 프롬프트·모델·워크플로우 실험을 Decision Score로 판정하고, 동시 실험 제한·실험 창·trace 회귀 반영으로 안전하게 반복하는 운영 규율

파티션 쓰기와 오브젝트 스토리지

Hive partitioning, S3 secrets, multipart write, small files 문제를 DuckDB 운영 기준으로 정리합니다.

Friendly SQL과 매크로

DuckDB의 Friendly SQL, table macro, PIVOT/UNPIVOT을 분석 코드 품질로 연결합니다.

On this page

지원 포맷 비교IcebergDeltaDuckLake선택 기준참고 자료