← 기술 목록으로
라이브러리 크롤러 현대화 & 데이터 플랫폼 마이그레이션
언어별 오픈소스 라이브러리 크롤러(Go, Java/Maven 등)를 일관된 현대 구조로 재정비하고, 수집 데이터를 신규 데이터 플랫폼으로 이관하는 기반을 마련
기간2026
소속래브라도랩스(LabradorLabs) · 데이터파트
역할데이터파트 파트리더
GoJava / MavennpmPyPItransformerOpenSSF
1배경
제품 데이터의 기반은 언어별 오픈소스 라이브러리(패키지) 수집 크롤러입니다. Go, Java/Maven 등 언어마다 별도로 발전해 온 크롤러들이 구조와 동작 방식이 제각각이라, 유지보수와 신규 소스 편입이 어려웠습니다.
- 언어별 크롤러가 제각각의 구조로 운영 → 일관성·운영 인계가 어려움
- 수집 데이터를 신규 데이터 플랫폼으로 옮겨야 하는 이관 과제가 동시에 존재
- 레지스트리가 끊임없이 변하므로 신규·변경 패키지 추적과 수집 정확도가 핵심
2접근
① 레지스트리 추적전체 패키지 모니터링 연구로 신규·변경 추적
→
② 수집 전략패키지 매니저 API rate limit 조사 후 전략 수립
→
③ 크롤러 현대화언어별 크롤러를 일관된 현대 구조로 재정비
→
④ 플랫폼 이관transformer로 신규 데이터 플랫폼에 적재
- 레지스트리 전체 패키지 모니터링 연구: npm Replicate Registry, PyPI Simple Index 등을 활용해 신규·변경 패키지를 추적하는 방식을 연구.
- 수집 전략 수립: 패키지 매니저 API의
rate limit을 조사해, 누락 없이 안정적으로 수집할 전략을 정의.
- transformer 개발: 수집한 데이터를 신규 데이터 플랫폼 형식으로 변환·적재하는 변환기를 개발.
3수집 정확도 개선
Go 크롤러에서 대규모 누락 데이터가 관측되어 원인을 심층 분석했습니다. 핵심 원인 중 하나는 모듈 경로 식별자의 대소문자 차이로 인한 비교 누락이었습니다.
- Go 모듈 경로는 대소문자를 구분하는데, 비교 과정에서 대소문자가 다른 모듈이 동일하게 취급되어 일부 데이터가 누락.
- 이 외에도 누락 패턴을 유형별로 분석해 수집 정확도를 개선.
4임팩트
일관된 구조 — 멀티 언어 크롤러를 일관된 현대 구조로 재정비
이관 기반 — 수집 데이터의 신규 데이터 플랫폼 이관 기반 마련
정확도 향상 — 대소문자 등 누락 원인을 잡아 수집 정확도 개선
지속 추적 — 레지스트리 변화·rate limit을 반영한 수집 전략 확립
5역할
데이터파트 파트리더로서 레지스트리 추적 연구 → 수집 전략 수립 → 크롤러 현대화 → 플랫폼 이관 기반 마련까지 데이터 수집 파이프라인의 방향을 주도했습니다. 언어별로 흩어져 있던 크롤러를 일관된 현대 구조로 정리하고, 수집 정확도와 이관 가능성을 함께 끌어올렸습니다.
연계 작업(데이터 플랫폼·파이프라인 표준화)은 별도 항목으로 정리.