Apache Flink 의 Checkpoint 알아보기

김재민·2024년 10월 1일

flink

목록 보기
12/13
post-thumbnail

Background


  • 최근 AWS Managed Apache Flink 앱을 개발하면서 Checkpoint 개념을 알게 되었다.
  • 기본적인 개념은 대략 이해하고 있으나 조금 더 자세히 알고 싶어 리서치 및 해당 게시글을 정리해 본다.
  • Flink 1.19 버전 문서를 주로 참고할 예정이다.

1. 체크포인트란?


  • Flink 의 Checkpoint 는 데이터스트림의 상태를 주기적으로 저장하는 스냅샷이다.
  • Flink 애플리케이션이 재시작 되는 경우 마지막으로 저장한 Checkpoint 를 이용하여 데이터스트림의 내결함성을 보장할 수 있다.
  • 이 때, Checkpoint 스냅샷은 외부 시스템에 저장된다.(RockDB, S3 ...)

2. 사용 가능한 체크포인트 스토리지 옵션


기본적으로 Flink 에서 제공하는 체크포인트 스토리지 타입은 크게 두 가지가 있다.

  • JobManagerCheckpointStorage
  • FileSystemCheckpointStorage

2-1. JobManagerCheckpointStorage 란?

항목설명
체크포인트 스냅샷 저장 방식JobManagerCheckpointStorage 옵션을 사용하면 Flink의 체크포인트 스냅샷을 JobManager Heap에 저장한다.
스냅샷 사이즈각 상태의 기본 제한 크기는 5MB 이며, 증량 가능하지만 전체 상태 사이즈는 JobManager 에 할당된 메모리 사이즈를 넘길 수 없다.
사용 시점로컬 개발 디버깅 시 또는 정말 작은 규모의 스트림 운용 시

2-2. FileSystemCheckpointStorage 란?


참고 자료



profile
안녕하세요. 데이터 엔지니어 김재민 입니다.

0개의 댓글