본문으로 바로가기
리옵트 핸드북
리옵트 핸드북
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에 둡니다. 2.0과 함께 나온 1.1 사양으로 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 catalog 유지와 1.1 migration을 구분
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');

2.0용 확장은 DuckLake 1.0 catalog를 계속 읽고 씁니다. 1.1 사양 이전은 명시적 선택이며 catalog 백업과 consumer 검증 후 AUTOMATIC_MIGRATION true로 attach합니다. 중첩 schema, PostgreSQL/SQLite catalog의 VARIANT inlining 등 1.1 요구 기능을 먼저 확인합니다. 엔진 버전·확장 버전·catalog 사양은 각각 기록합니다. DuckLake 1.1.

선택 기준

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

2.0 Delta·Iceberg 도입 점검

Delta는 테이블 생성·append와 time travel을 구분해서 검증합니다. 생성 시 CREATE TABLE 별칭.별칭을 사용하고, timestamp time travel에는 시간대를 명시합니다. 과거 버전/시점으로 attach한 테이블은 읽기 전용입니다. read/write 지원을 모든 UPDATE·DELETE·MERGE 지원으로 해석하지 않습니다. Delta 기능 범위.

Iceberg REST catalog에서는 2.0의 정식 옵션명이 URI이며 ENDPOINT는 deprecated alias입니다. namespace 기반 경로가 필요한 catalog의 DEFAULT_TABLE_LOCATION_FROM_NAMESPACE, catalog가 반환한 파일 metadata를 읽는 USE_METADATA_LOCATION, PREFIX·NAMESPACE_SEPARATOR를 배포 환경에 맞춰 점검합니다. TABLE_RESOLUTION='eager'는 미해결 schema가 있는 서버에 Quack client를 붙이는 경우 필요할 수 있지만 catalog 열거 비용이 커집니다. Iceberg 옵션.

참고 자료

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

관련 문서

참고 자료

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

검증 리포트

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

Ch7. 실험 운영 체계

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

On this page

지원 포맷 비교IcebergDeltaDuckLake선택 기준2.0 Delta·Iceberg 도입 점검참고 자료