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

시작과 기준선

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

파일·레이크 분석

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

분석 SQL·연동

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

성능·운영

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

부록

템플릿참고 자료검증 리포트업데이트 내역
핸드북›DuckDB 고급 활용›버전·설치·런타임 기준

버전·설치·런타임 기준

DuckDB current, LTS, CLI, Python client, extension 버전을 분석 운영 기준선으로 고정합니다.

핵심 요약

  • 분석 노트북은 최신 current가 유리하지만 공유 배치·배포 패키지는 LTS가 나으니, 워크로드별로 버전 기준선을 고정합니다.
  • 2026-05-14 기준 1.5 current와 1.4 LTS가 병행되며, 1.4.0 LTS 커뮤니티 지원 종료는 2026-09-16, latest stable Python client는 1.5.2입니다.
  • 팀에서는 설치 명령보다 버전 고정(예: duckdb==1.5.2)이 중요하고, CLI·Python·JDBC 등 client마다 릴리스 반영 시점이 며칠씩 엇갈립니다.
  • version()·duckdb_settings()·duckdb_extensions() 결과를 job log나 notebook 첫 cell에 남겨 재현성을 확보합니다.
  • core_nightly·custom repository extension은 검증에는 유용하지만 재현 가능한 분석 배치에는 별도 승인 없이 쓰지 않습니다.

DuckDB는 릴리스가 자주 나옵니다. 분석 노트북에서는 최신 current가 유리하지만, 공유 배치나 배포 패키지라면 LTS가 더 낫습니다. 핸드북 기준일인 2026-05-14에는 current 1.5 라인과 1.4 LTS 라인이 함께 굴러갑니다. Python API 문서는 latest stable client를 1.5.2로 안내합니다.

버전 선택

선택쓰기 좋은 상황주의점
1.5 current최신 CLI, VARIANT, built-in GEOMETRY, 최신 lakehouse 개선을 써야 함minor upgrade 시 extension 호환과 저장 포맷을 확인
1.4 LTS보수적 production batch, 장기 재현성, 패치 중심 운영최신 기능은 일부 빠질 수 있음
preview/nightly버그 재현, 새 기능 검증, extension 개발운영 데이터 경로에는 사용하지 않음

DuckDB 1.4.0은 LTS로 발표되었고 커뮤니티 지원은 2026-09-16에 끝납니다. 1.5.0 발표문은 1.4 LTS와 1.5 current를 함께 제공한다고 밝힙니다. 릴리스 캘린더에는 1.5.3이 2026-05-18 예정으로 잡혀 있으니, 이 핸드북의 "latest" 표기는 기준일과 함께 읽어야 합니다.

설치 기준

# CLI
curl https://install.duckdb.org | sh

# Python
python -m pip install duckdb

# Conda
conda install python-duckdb -c conda-forge

팀 단위에서는 설치 명령보다 버전 고정이 중요합니다.

duckdb==1.5.2

CLI, Python package, JDBC/ODBC, R, Go client는 릴리스가 반영되는 시점이 며칠씩 엇갈립니다. batch image를 만들 때는 duckdb --version, Python duckdb.__version__, extension list를 함께 남깁니다.

런타임 기준선

SELECT version();

SELECT name, value
FROM duckdb_settings()
WHERE name IN (
  'memory_limit',
  'threads',
  'temp_directory',
  'preserve_insertion_order',
  'max_temp_directory_size'
)
ORDER BY name;

SELECT extension_name, loaded, installed, install_mode, installed_from
FROM duckdb_extensions()
ORDER BY extension_name;

이 결과는 분석 리포트 부록이나 job log에 남깁니다. DuckDB는 같은 SQL이라도 extension 버전, file metadata, thread 수, temp directory 성능에 따라 실행 시간이 달라집니다.

Extension 기준

DuckDB extension은 크게 세 축으로 관리합니다.

축기준
core repository기본 repository에서 signed core extension 설치
support tierparquet, json, httpfs, icu 같은 primary extension 우선
update policycurrent는 UPDATE EXTENSIONS 검증, LTS는 패치 노트 확인 후 반영
INSTALL httpfs;
LOAD httpfs;

INSTALL iceberg;
LOAD iceberg;

SELECT extension_name, extension_version, installed_from
FROM duckdb_extensions()
WHERE installed;

nightly extension

core_nightly나 custom repository는 새 기능 검증에는 유용하지만, 재현 가능한 분석 배치에는 별도 승인 없이 쓰지 않습니다.

재현성 체크리스트

항목기록 위치
DuckDB engine versionjob log, notebook 첫 cell
client package versionrequirements.txt, lockfile
extension version/sourceduckdb_extensions() 결과
session settingsduckdb_settings() 중 성능·보안 설정
입력 file listmanifest table 또는 filename virtual column
output publish pathParquet root, partition key, overwrite 정책

참고 자료

  • Announcing DuckDB 1.5.0
  • Announcing DuckDB 1.4.0 LTS
  • Release Calendar
  • Python API
  • Installing Extensions
  • Versioning of Extensions

관련 문서

참고 자료

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

업데이트 내역

DuckDB 고급 활용 핸드북 변경 로그

Node.js 설치

Windows 바이브코딩 초기 세팅 · nodejs.org에서 Node.js LTS를 설치해 Next.js 실행에 필요한 20.9 이상 조건을 충족하고, node·npm 버전 확인과 함께 npm·npx의 역할까지 이해합니다.

포지셔닝과 적합한 워크로드

DuckDB를 서버형 DB, 파일 포맷, 데이터프레임 도구와 비교해 언제 써야 하는지 정리합니다.

연결·스토리지 모델

in-memory, file-backed database, ATTACH, read-only 연결, WAL, checkpoint를 운영 관점으로 정리합니다.

On this page

버전 선택설치 기준런타임 기준선Extension 기준재현성 체크리스트참고 자료