DuckLake - 통합 데이터 레이크 및 카탈로그 포맷

2 weeks ago 6

  • 데이터 레이크와 카탈로그 포맷을 통합한 새로운 솔루션
  • Parquet 파일과 SQL 데이터베이스를 기반으로 동작하며, 전통적인 레이크하우스보다 간결한 데이터 레이크 구현을 가능하게 함
  • PostgreSQL, SQLite, MySQL, DuckDB 등 여러 데이터베이스 위에서 메타데이터 카탈로그 관리가 가능함
  • 스냅샷, 타임 트래블 쿼리, 스키마 변경, 파티셔닝 등 다양한 기능을 지원하면서도 자주 컴팩트하지 않아도 되는 가벼운 스냅샷 처리를 제공함
  • 여러 인스턴스가 동시에 데이터를 읽고 쓰는 멀티플레이어 DuckDB 모델을 지원하며, 기본 DuckDB가 지원하지 않는 동시성 처리 모델을 구현함
  • DuckLake는 사양, DuckDB 확장, DuckLake 형식으로 저장된 데이터셋을 포괄하는 개념이며, MIT 라이선스로 공개됨

DuckLake 소개

  • DuckLake는 DuckDB 팀이 만든 오픈 포맷으로, 복잡한 레이크하우스 없이도 고급 데이터 레이크 기능을 제공함
  • SQL 데이터베이스와 Parquet 파일만 있으면 자체 데이터 웨어하우스를 구축할 수 있음.
  • 메타데이터 관리를 위해 데이터베이스를 사용 : PostgreSQL, SQLite, MySQL, DuckDB

DuckLake의 주요 기능

  • 데이터 레이크 오퍼레이션

    • 스냅샷
    • 시점 조회 (Time travel)
    • 스키마 진화
    • 파티셔닝
  • 가벼운 스냅샷 처리

    • 스냅샷 개수에 제한 없이 생성 가능
    • 자주 컴팩트할 필요 없이 동작 가능
  • ACID 트랜잭션

    • 멀티 테이블 연산에 대해 동시 접근과 트랜잭션 보장
  • 성능 지향 설계

    • 필터 푸시다운을 위한 통계 활용
    • 대용량 데이터셋에서도 빠른 쿼리 가능

자주 묻는 질문

  • 왜 DuckLake를 사용해야 하나요?

    • 데이터 레이크와 카탈로그를 통합한 가벼운 솔루션 필요 시 적합
    • 여러 DuckDB 인스턴스가 동일 데이터셋을 읽고 쓰는 멀티플레이어 환경 가능
      • 이는 기존 DuckDB에서는 지원되지 않는 동시성 모델
    • DuckDB만 사용해도 시점 조회, 파티셔닝, 멀티 파일 저장 구조 등의 이점을 누릴 수 있음
  • DuckLake란 무엇인가요?

    • DuckLake는 다음 세 가지를 지칭함:
      1. DuckLake 포맷의 사양 (specification)
      2. DuckLake를 지원하는 DuckDB 확장 기능 (ducklake extension)
      3. DuckLake 포맷으로 저장된 데이터셋 자체
  • DuckLake의 라이선스는?

    • MIT 라이선스로 공개됨

Read Entire Article