DuckDB 2.0 LTS 출시, 클라이언트-서버와 비동기 I/O 지원
원제 DuckDB 2.0.0 LTS “Cinnamon Teal”
242 포인트댓글 27
Key Point
클라이언트-서버 지원, 비동기 I/O, AI 에이전트 모드는 DuckDB 사용 환경을 크게 확장하고, 트리거와 확장 저장소는 엔터프라이즈 채택 장벽을 낮춘다.
핵심 요약
- DuckDB 2.0.0 LTS '시나몬 틸'을 발표했으며, 1.5 이후 약 20,000개 커밋으로 개발된 최대 규모 기능 릴리스다.
- Quack 프로토콜을 완성해 전통적인 클라이언트-서버 구조를 지원하고, 새로운 CONNECT 문으로 원격 데이터베이스에 한 번에 연결할 수 있다.
- 비동기 I/O를 도입해 Parquet과 CSV 파일 읽기 시 여러 요청을 병렬로 처리해 S3 같은 객체 스토리지에서의 쿼리 속도를 크게 향상시킨다.
- VARIANT 타입이 완전히 통합되어 데이터 구조를 자동으로 인식해 압축 및 실행 성능을 모두 개선한다.
- CLI가 에이전트 모드를 감지해 마크다운 테이블 출력, 조기 중단, JSON 에러 보고로 모델이 읽을 정보량을 59% 줄인다.
- PostgreSQL 파생 파서를 대체하는 새로운 PEG 기반 파서가 기본값이 되어 구문 확장이 용이해지고 에러 위치 정보가 정확해진다.
- 확장 저장소 기능으로 조직이 자체 서명한 확장을 호스팅하고 설치할 수 있다.
- CREATE TRIGGER로 BEFORE/AFTER, FOR EACH ROW/STATEMENT 트리거를 지원하며 트랜지션 테이블과 여러 트리거로 감사 테이블과 구체화된 뷰 유지보수가 가능하다.
- 데이터 변경 CTE, NEAREST 조인, 중첩 스키마, JSON 변경 함수 등 SQL 기능이 추가되었다.
- DuckDB 2.0은 2027년 10월까지 지원되는 장기지원 릴리스이며, 1.5는 2027년 3월까지 지원이 연장되었다.
- 저장소 형식이 변경되어 2.0 이전 버전은 2.0이 생성한 파일을 읽을 수 없지만, 2.0은 기존 파일을 읽고 쓸 수 있다.
- C++17 컴파일러를 요구하며, ICU 라이브러리 없이 IANA 데이터베이스 기반으로 시간대와 데이터 정렬을 자체 구현한다.
- 단일 화살표 람다 문법(x -> x + 1)은 기본값으로 비활성화되고 합병 빌드는 지원 중단되었다.