본문으로 건너뛰기

DuckDB 2.0, 내장형 DB에서 서버로 넓어지는 경계

Original: A Preview of DuckDB v2.0 View original →

Read in other languages: English日本語
Sciences Aug 18, 2026 By Insights AI (HN) 2 min read 2 views Source

프로세스 안에 넣어 쓰는 분석 데이터베이스가 네트워크 너머의 질의까지 맡는다. 올가을 출시 예정인 DuckDB 2.0의 가장 큰 변화는 기능 목록 하나가 아니라 제품의 경계다. 이름은 cinnamon teal에서 딴 ‘Cyanoptera’. DuckDB 1.5 이후 10,000개가 넘는 commit을 쌓았고, 새 SQL parser와 기본 storage format, 손질한 C API, 제한적인 breaking change를 포함한다.

중심에는 Quack과 새 CONNECT 문이 있다. Quack extension은 DuckDB끼리 통신하는 native protocol이며 2.0에서 stable로 올라간다. 한 DuckDB process가 database를 network로 제공하면 다른 DuckDB가 ATTACH한 뒤 CONNECT로 session의 실행 위치를 바꿀 수 있다. 결과는 다시 client로 stream된다. PostgreSQL과 MySQL을 향한 remote pushdown도 같은 문법에 묶여, table 전체를 끌어오기보다 SQL을 원격 database에서 실행한다.

이 방향은 DuckDB의 내장형 성격을 버린다는 뜻이 아니다. 단일 파일과 in-process 배포의 편리함은 그대로 두고, 중앙의 큰 database에 여러 worker가 붙는 선택지를 더한다. thread에서는 여러 단계의 data pipeline과 수GB짜리 DuckDB file을 관리하던 사용자가 Quack에 특히 반응했다. 별도 server 제품으로 갈아타지 않고도 자산을 중앙에서 다루고 싶은 수요가 구체적이었다. 다만 long-running, multi-tenant 운영은 metric, log, observability와 동시성 검증을 요구한다.

반정형 데이터와 운영 기능의 확장

VARIANT는 1.5에서 들어왔지만 2.0에서 storage부터 query까지 흐름이 이어진다. 행마다 모양이 다른 JSON 계열 데이터를 text로 보관하지 않고 공통 구조를 찾아 잘게 나눠 저장한다. 압축과 query 실행에 유리하고, schema가 변하는 log ingestion에 맞는다. Parquet의 shredded VARIANT read/write, scan 단계의 extraction pushdown, variant_* 함수가 추가된다. 커뮤니티에서는 서로 다른 JSON schema 때문에 Parquet field가 빠지는 문제를 줄일 수 있다는 기대가 나왔다.

trigger도 본격적으로 들어온다. BEFORE와 AFTER, row와 statement 단위 실행, OLD/NEW transition table, RETURNING을 지원한다. audit table 같은 전통적인 용도뿐 아니라 오래 실행되는 DuckDB service의 내부 작업을 SQL로 연결할 수 있다. NEAREST join은 embedding similarity의 top-k 검색을 join 문법으로 표현하고, DML inside CTE와 nested schema, JSON mutation 함수도 추가된다.

S3 같은 object storage를 읽는 경로에는 asynchronous I/O가 engine 전반으로 확장된다. I/O layer와 query processing layer가 독립적으로 scale할 수 있어 remote read의 parallelism을 늘린다. Parquet read를 시작으로 CSV, DuckDB file format, Parquet write까지 범위를 넓혔다. 기존 query도 join 아래 partial aggregate pushdown, 중복 aggregation 재사용, 새 recursive CTE engine, memory를 넘긴 aggregation의 disk spill로 빨라진다.

큰 버전 번호만 보고 곧바로 운영 환경을 바꿀 단계는 아니다. preview 기능의 안정성, network 장애 처리, 많은 client가 동시에 read/write할 때의 특성, 새 storage format의 migration을 확인해야 한다. 그래도 2.0이 제시한 방향은 뚜렷하다. DuckDB는 ‘파일 하나로 빠르게 분석하는 도구’에 server 선택지를 더해 data architecture의 더 넓은 구간을 맡으려 한다. 전체 기능과 예시는 DuckDB 공식 preview에서, 사용자들의 적용 맥락은 Hacker News 논의에서 볼 수 있다.

Share: Long

Related Articles