꾸준함이 중요한 Lion2me의 기술블로그

견고한 데이터 엔지니어링 - 7장

25 Aug 2023
DE

3단계: 데이터 수집

대부분의 내용이 넓은 주제를 짧게 설명하는 내용이라 알게 된 내용 중 몰랐던 부분에 대해서 간략하게 적겠습니다.

스냅숏 및 차등 추출

차등 갱신 (또는 증분 갱신)이라는 단어를 처음 들었기에 간략하게 적어봅니다.

방식론에서는 이해하고 있었지만, 단어 자체가 조금 생소했습니다.

스냅숏의 경우에는 원천 시스템의 전체 내용을 의미한다고 볼 수 있습니다. 예를들면 데이터베이스의 스냅숏은 해당 시점의 전체 스키마에 대한 내용을 담고 있습니다.

차등 갱신은 마지막으로 읽은 이후의 갱신 및 변경 내용을 읽는 방식입니다. 가장 대표적인 예가 CDC가 아닐까 생각합니다. 변경 사항과 과거 상태를 포함하여 데이터를 가져오고 그 차이를 기반으로 변경 사항을 추출하는 방식으로 동작합니다.

유효 시간 (TTL)

TTL이라는 개념 자체는 이해하고 있지만, 메시지 큐를 사용 할 때 이러한 부분을 신경써야 한다는 것을 알게 되었습니다. TTL은 이벤트 수집 파이프라인의 배압 및 불필요한 이벤트량을 줄이는데 도움을 줍니다. 하지만 동시에 너무 짧은 TTL은 메시지가 처리되기 전에 사라질 수 있고, 너무 길면 이벤트의 백로그가 많아져 지연 시간이 길어 질 수 있습니다.

데드레터 큐

메시지가 모두 성공적으로 수집되는 것은 아닙니다. 잘못된 토픽으로 전송, 크기 초과, TTL 만료 등 다양한 문제로 인해 정싱적으로 수집되지 않을 수 있습니다. 이 경우 데드레터 큐로의 전송을 고려해야 합니다.

데드레터 큐는 이렇듯 잘못된 전송으로 인해 갈 곳 없는 메시지를 보관하여 별도의 처리를 할 수 있는 큐입니다. 대표적으로 S3와 같은 유연한 오브젝트 스토리지에 담아놓고 원인을 파악하는 등의 동작을 수행 할 수 있습니다.