김학진
@mildsalmon
흔치않고, 진귀하다.
2023년 11월 25일 · 13분 분량
이 블로그 포스트에서는 Delta Lake의 핵심 개념인 트랜잭션 로그에 대해 설명하고, 파일 수준에서의 동작 방식과 동시 읽기 및 쓰기 문제에 대한 해결책을 제공합니다. Delta Lake 트랜잭션 로그는 Delta Lake 테이블이 생성된 이후에 수행된 모든 트랜잭션을 기록하는 중앙 레포지토리 역할을 합니다. 이를 통해 사용자는 항상 최신 데이터 뷰를 볼 수 있으며, ACID 트랜잭션과 확장 가능한 메타데이터 처리, 타임 트래블 기능 등을 지원합니다. 또한 트랜잭션 로그는 Delta Lake의 원자성을 보장하는 메커니즘으로 작용하며, 파일 추가, 제거, 메타데이터 업데이트 등의 단계로 트랜잭션을 세분화하여 로그에 기록합니다. 이를 통해 Delta Lake는 테이블의 상태를 정확하게 추적하고, 시간 여행 기능을 지원하며, 데이터 파일을 제거해도 테이블의 상태를 유지할 수 있습니다. 또한 Delta Lake는 효율적인 읽기를 위해 체크포인트 파일을 사용하여 테이블의 상태를 빠르게 재현할 수 있습니다.