• 카테고리

    질문 & 답변
  • 세부 분야

    데이터 엔지니어링

  • 해결 여부

    미해결

소스DB에서 데이터 삭제시 카프카에서 일어나는 일

22.06.03 06:11 작성 조회수 186

0

안녕하세요. 세그먼트 파일 삭제와 관련해서 질문 드립니다.

 

1.

만약 MySQL과 같은 DB를 프로듀서에서 사용하고, 카프카 브로커와 Debezium connector같은 걸로 연결되어 있다고 할 때,

MySQL 소스 DB에서 데이터 삭제가 발생하면 브로커는 이를 어떻게 처리하나요? 브로커에서도 MySQL DB와 데이터 상태를 같게 하기 위해 뭔가 레코드 단위의 삭제가 필요할 것 같은데 어떻게 될지 궁금합니다.

 

2.

또 한가지 궁금한 점은, 혹시 브로커에 저장되는 로그 파일들은 append-only 방식으로 저장되나요?

답변 1

답변을 작성해보세요.

0

돈가스날다님, 답변드립니다.

1) Debezium connector사용시 소스DB의 데이터 삭제에 따른 로직?
저도 개별적인 커넥터를 모두 사용해보지 않았기 때문에 정확한 답변을 드리기 어렵습니다. 데이터 삭제에 따른 토픽의 상태는 구현하고자 하는 비즈니스 로직에 따라 다를 것입니다. 이미 아시겠지만 이미 적재된 레코드는 개별적으로 삭제가 되지 않는 점을 참고하시면 좋을것 같습니다. 해당 커넥터에 대한 자세한 문의 사항은 https://github.com/debezium 의 각 레포지토리의 issue를 활용하시는 것이 좋겠습니다.

2)브로커에 저장된 로그 파일은 append-only 인가요?
프로듀서(또는 소스 커넥터)가 보낸 데이터는 레코드로 저장되며 append-only입니다. 개별적인 레코드를 삭제하거나 수정할 수 없습니다.(cleanup.policy=delete 인 경우)