데이터 수집은 처리를 위해 시스템으로 데이터를 가져오는 단계입니다. 이는 파이프라인의 첫 번째 단계입니다. 데이터는 데이터베이스, API, 로그 파일, 메시지 큐, 센서 등 다양한 경로에서 유입됩니다. 수집 계층은 데이터를 수집하고 유효성을 검사한 후 저장소 또는 처리 단계로 전달합니다. 수집 단계에서 오류가 발생하면 하위 단계의 모든 작업이 중단됩니다.
데이터 수집 방식은 데이터 소스와 지연 시간 요구 사항에 따라 달라집니다. 배치 수집은 예약된 간격으로 데이터를 가져오는 방식으로, 데이터 업데이트 속도가 느린 소스에 적합하고 간편합니다. 스트리밍 수집은 데이터가 도착하는 즉시 처리하며, 실시간 분석 및 이벤트 기반 시스템에 필수적입니다. 사용되는 도구는 다양합니다. 고처리량 스트림에는 Kafka, 배치 오케스트레이션에는 Airflow, 관리형 파이프라인에는 클라우드 네이티브 서비스 등이 있습니다. 하지만 어려움은 공통적입니다. 데이터 소스는 예고 없이 스키마를 변경할 수 있고, 데이터는 늦게 도착하거나 순서가 뒤죽박죽일 수 있으며, 데이터 양이 예측할 수 없이 급증할 수도 있습니다. 수집 계층은 데이터 손실이나 손상 없이 이러한 모든 상황을 처리해야 합니다. 역압력 메커니즘은 과부하를 방지하고, 데드 레터 큐는 처리에 실패한 레코드를 저장합니다. 모니터링은 문제가 확산되기 전에 감지합니다. 데이터 수집은 마치 배관과 같지만, 배관이 제대로 작동하지 않으면 집 전체에 물이 넘칠 수 있습니다.
섭취 패턴
- 배치 — 일정한 간격으로 예약된 데이터 추출
- 스트리밍 — 데이터가 도착하는 즉시 지속적으로 처리하는 방식
- 변경 데이터 캡처 — 데이터베이스 변경 사항을 실시간으로 캡처합니다.
- API 폴링 — 외부 서비스에 대한 주기적인 요청
- 웹훅 — 소스 시스템에서 전송되는 푸시 알림
데이터 수집은 최전선입니다. 여기서 데이터가 손실되거나 손상되면 하위 단계에서 어떤 방법으로도 복구할 수 없습니다.
Comments
No comments yet. Be the first to share a thought.
Leave a comment