DuckLake 저장소, DuckDB v2.0-cyanoptera로 버전 올리고 Postgres 재시도 로직 병합
- DuckLake 저장소가 DuckDB를 v2.0-cyanoptera(5070de35) 버전에 고정하고 Postgres 관련 FIXME 건너뛰기 항목을 삭제함
- NOT NULL 컬럼에 NULL 값이 든 데이터 파일을 등록하지 못하도록 막는 PR #1547이 병합됨
- Postgres 재시도를 SQLSTATE 기준으로 처리하는 PR #1588이 병합되어 최신 커밋이 됨
- 저장소에는 MinIO와 SeaweedFS를 쓰는 S3 예제 스크립트가 있고 커밋 기록은 3,564건임
Hacker News opinions
모터덕 웹페이지에서 O'Reilly의 DuckLake 완전 가이드 북을 무료로 주더라
DuckLake는 DuckDB 없이도 돌아가는 데이터 레이크 스펙임. datafusion-ducklake 구현체도 있고 Postgres를 카탈로그로 쓰는데 이보다 단순할 수 없음
예전에 커스텀 카탈로그를 여럿 만들었는데 요구사항 바뀔 때마다 유지보수가 지옥이었음. Iceberg는 저지연 작업엔 너무 무거워서 우리는 DuckLake 스펙대로 구현했는데 타임트래블이나 스냅샷 구현 기준이 명확해서 편함
2026년에 메모리 안전한 언어 안 쓰고 왜 C++로 새로 짜냐
DuckDB가 2018년부터 있었으니 파생 프로젝트가 C++ 쓰는 거지
v1.5.4에서는 카탈로그 필터 카운트가 깨져 있더라. main/v2로 갔더니 duckdb v2의 SQL 파서가 10배 느려서 꽤 고생함
스펙은 1.0인데 소프트웨어는 1.0 아님. 버그 목록 보고 쓰면 됨. 잘 돌아갈 땐 진짜 좋고 멀티 레벨 parquet 저장소 직접 짜는 것보단 낫더라
이거 Delta나 Iceberg 같은 테이블 포맷에 DuckDB SQL 엔진을 붙인 거임?
아니, delta log를 parquet나 json이 아니라 데이터베이스에 저장하는 방식임. 빠른데 의존성이 하나 추가됨. 근데 DB 기반 카탈로그면 어차피 필요한 의존성이라 큰 차이는 없음