카프카의 데이터의 삭제는 로그 세그먼트 단위로 삭제가 이루어진다. 노드(구 브로커)의 로그매니저는 시간(time) 또는 용량(size)에 따라 삭제여부를 결정한다. 시간 기반 정책에서는 레코드의 timestamp에 따라 달라진다. 해당 세그먼트 파일에 존재하는 가장 큰 timestamp 값(레코드 순서와는 무관)을 토대로 찾아낸다. 용량 기반 정책은 기본적으로 설정되지 않는다. 만약 설정된다면, 로그매니저는 가장 오래된 세그먼트 파일을 용량이 다 찼을때 부터 차례 대로 삭제하게 된다.
만약, 시간과 용량 두개의 설정이 동시에 설정된다면 먼저 도달하는 정책의 기준에 따라 삭제가 이루어진다. 언제든지 삭제가 될 수 있도록 copy-on-wirte 방식으로 세그먼트 목록을 사용한다. 이를 통해 삭제가 되는 동안에도 데이터 목록이 갑자기 변경되지 않아서 일관된 데이터 검색이 가능하다. 즉, 데이터 처리를 수행하면서도 안정적으로 삭제를 할 수 있다는 뜻~
반응형
'빅데이터 > Kafka' 카테고리의 다른 글
카프카4.0 부터는 eager rebalancing protocol이 삭제됩니다. (0) | 2025.02.28 |
---|---|
[local macOS 환경] apache kafka(3.5.0기준) + redpanda/console 로 편하게 테스트 하기 (0) | 2025.02.26 |
kafka 4.0부터는 스칼라 2.12가 더 이상 사용되지 않습니다. (0) | 2025.02.13 |
standalone 카프카(kraft모드 in local) 실행 스크립트(1줄) (0) | 2025.02.11 |
KIP-932: Queues for Kafka 조사 (0) | 2025.01.12 |
standalone 카프카(kraft모드 in local) 실행을 위한 준비와 실행 (0) | 2024.06.23 |