내부 온보딩 · 슬라이드

크롤러 배치 수집량 로그
product/version insert·update

5개 라이브러리 크롤러에서 “이번 배치가 새로 수집한 것인지, 기존 데이터를 갱신한 것인지”를 로그로 분리해 보는 작업

래브라도랩스 · 데이터파트 · 2026 · 내부용
01 · 문제

처리 건수만으로는 신규 유입을 알 수 없었다

02 · 제약

upsert는 행별 insert/update를 알려주지 않는다

03 · 선택한 방식

쓰기 직전 PK 존재 여부를 조회한다

배치 데이터product/version key 추출
DB 조회기존 key 존재 여부 확인
분류있으면 update
없으면 insert
upsert기존 쓰기 흐름 유지

정확도와 비용 사이에서 가장 가벼운 정확 방식을 택했다. 배치당 SELECT 1회 수준으로 운영 부담을 낮췄다.

04 · 구현 포인트

공통 베이스에 세고, 크롤러별로 꽂는다

대상

golang / php / ruby / swift / dotnet 5개 크롤러

집계 대상

PRODUCT_TABLE / VERSION_TABLE만 집계

중복 방지

version sorting 재삽입은 배치 단위 dedup으로 제외

안전장치

집계 실패는 warning만 남기고 수집 본류는 계속 진행

05 · 결과

로그 한 줄로 배치의 성격을 본다

운영 반영 전 실컨테이너 스모크는 별도 확인 필요.

06 · 온보딩 포인트

이 작업에서 기억할 것

1 / 1