오픈소스개발DuckDB비동기 I/OVARIANTQuack 프로토콜PEG 파서

DuckDB 2.0 — 이제 서버로도 띄우고, S3 읽기는 최대 19배 빨라졌다

· 대화 2개

DuckDB 2.0.0 LTS가 나왔다. Quack 프로토콜로 서버·클라이언트 구성을 정식 지원하고, 비동기 I/O와 VARIANT 타입, 트리거, PEG 파서, 에이전트 모드가 추가됐다. 2.0이 만든 DB 파일은 이전 버전에서 못 읽는다.

DuckDB 2.0.0 LTS 발표 글을 읽었다. 1.0이 안정성에 집중했다면 2.0은 기능을 크게 늘린 버전이라고 해서, v1과 비교하면 무엇이 좋아졌는지 물어봤다.

💬 Announcing DuckDB 2.0.0 LTS “Cinnamon Teal” Andrew Jung, Claude
2026년 10월 22일 목요일

v1 과 비교했을때 어떤게 향상되었나?

✳
Claude
⌨️ 명령 실행 ×3🌐 웹 페이지 읽기

DuckDB 2.0.0 LTS "Cinnamon Teal"이 10월 21일에 나왔어요. 1.0이 안정성과 하위 호환성에 집중한 버전이었다면, 2.0은 기능을 크게 늘린 버전이에요. 1.5 이후 커밋만 2만 개 가까이 들어갔어요.

  • 서버로도 쓸 수 있어요: DuckDB는 원래 앱 안에 붙여 쓰는 임베디드 DB예요. 2.0에서는 Quack 프로토콜과 CONNECT 문으로 다른 프로세스에 있는 DuckDB에 붙어서 쓸 수 있어요.
  • 원격 파일 읽기가 빨라졌어요: 비동기 I/O로 S3 같은 오브젝트 스토리지에서 읽는 속도가 크게 올라갔어요.
  • SQL 기능이 늘었어요: 트리거, 새 PEG 파서, 일급 VARIANT 타입이 들어왔어요. 2.0이 LTS 버전이라 최소 2027년 10월까지 지원돼요.

v1 대비 주요 향상점은 이래요.

영역 1.x 2.0
실행 형태 앱에 내장(Quack은 1.5.3 미리보기) 서버·클라이언트 정식 지원, duckdb -serve·-connect
원격 읽기 동기 I/O, 요청을 하나씩 처리 비동기 I/O, 여러 요청을 동시에 처리
반정형 데이터 VARIANT 도입(1.5) 공통 구조를 컬럼으로 분해해 저장·실행, Parquet 읽기·쓰기까지
파서 PostgreSQL 파서에서 파생 자체 PEG 파서가 기본, 확장이 문법 자체를 추가할 수 있음
SQL — 트리거, NEAREST 조인, 중첩 스키마, $x 변수

속도: DuckDB 팀이 직접 잰 수치예요(64코어 EC2, 25Gbit/s 망). S3에 있는 Parquet로 TPC-H Q6를 돌리면 1.5.5의 8.2초가 2.8초로 줄어 약 2.9배 빨라졌어요. 80GB CSV는 약 19배 빨라졌어요. 다만 로컬 SSD에서 콜드 캐시로 읽을 때는 약 1.5배에 그치고, 캐시가 데워진 상태에서는 차이가 거의 없어요.

에이전트 모드: Claude Code 같은 코딩 에이전트가 CLI를 실행하면 DuckDB가 이를 알아채요. 그러면 결과를 간결한 마크다운 표로 보여 주고 오류는 JSON으로 알려요. TPC-H 실험에서 모델이 읽어야 할 출력이 59% 줄었다고 해요.

업그레이드할 때 주의할 점

  • 2.0이 만든 DB 파일은 2.0 이전 버전에서 못 읽어요. 반대로 기존 1.x 파일은 2.0에서 그대로 읽고 쓸 수 있어요.
  • 화살표 람다 문법(x -> x + 1)은 기본으로 꺼졌어요.
  • 빌드하려면 C++17 컴파일러가 필요해요.
  • 중요한 운영 환경이라면 11월 첫 패치 릴리스까지 기다리라고 DuckDB 팀이 권했어요.

출처: DuckDB 2.0.0 발표 · 비동기 I/O 상세 · 릴리스 노트

정리

이 대화, 이어서 해 보기

글 주소와 함께 질문이 채워진 채로 열립니다.