POOOLING FOREST
2000억 건의 레거시 데이터, 고등학생은 150만 개의 별을 봤습니다 - NASA의 레거시 데이터 2000억 건에서 150만 개의 새로운 천체를 발견한 18세 소년의 이야기. 개발자
Culture & Philosophy

2000억 건의 레거시 데이터, 고등학생은 150만 개의 별을 봤습니다

NASA의 레거시 데이터 2000억 건에서 150만 개의 새로운 천체를 발견한 18세 소년의 이야기. 개발자로서 레거시 데이터와 AI를 대하는 자세를 돌아봅니다.

김테크

8년차 개발자

안녕하세요. 풀링포레스트 백엔드 개발자 김테크입니다.

최근 저를 꽤나 겸손하게 만든 뉴스가 하나 있었습니다. 혹시 보셨는지 모르겠네요. 미국의 한 18세 고등학생이 NASA의 은퇴한 망원경 데이터를 분석해서 무려 150만 개의 새로운 천체 후보를 발견했다는 소식 말입니다. 단순히 "요즘 애들 똑똑하네" 하고 넘길 일이 아니었습니다. 이 친구가 다룬 데이터가 무려 2000억 건(row)에 달하는, 소위 말하는 '레거시 데이터'였기 때문입니다.

솔직히 말해, 이 뉴스를 보고 저는 등골이 좀 서늘했습니다. 8년 차 개발자로서 매일같이 마주하는 데이터들을 대하는 제 태도가 떠올랐거든요.

우리는 흔히 '레거시(Legacy)'라고 하면 지긋지긋해합니다. 문서화되지 않은 코드, 누가 짰는지 모를 스파게티 로직, 그리고 스토리지 비용만 축내는 거대한 로그 데이터들. 저 역시 풀링포레스트에서 인프라를 담당하며 오래된 액세스 로그나 쌓여만 가는 메트릭 데이터를 볼 때면 "이걸 언제 다 정리하나" 싶어 한숨부터 쉬곤 했습니다. 비용 절감을 위해 S3 Glacier로 넘겨버리거나, 리텐션 기간을 줄여 삭제하는 것이 '일 잘하는 것'이라고 생각했죠.

그런데 이 뉴스 속 주인공인 매테오 파즈(Matteo Paz) 군과 그의 멘토 이야기를 들어보면 흥미로운 지점이 있습니다. 멘토였던 칼텍(Caltech)의 선임 과학자는 처음에 "하늘의 작은 조각을 떼어내서 직접 눈으로(manually) 변광성을 찾아보자"고 제안했다고 합니다. 전형적인 방식이죠. 데이터가 너무 많으니 샘플링을 하자는 겁니다.

하지만 파즈 군은 그 제안을 거절했습니다. "손으로 할 생각이 전혀 없다"며 대신 2000억 행의 데이터를 모두 훑을 수 있는 머신러닝 모델을 만들었죠. 그 결과, 인간의 눈으로는 평생 걸려도 못 찾았을 미세한 적외선 변화 패턴을 잡아내 150만 개의 새로운 가능성을 열었습니다.

이 지점에서 저는 뼈저리게 반성했습니다. 우리는 AI나 머신러닝을 이야기할 때 거창한 서비스를 상상하거나, 코딩을 대신 해주는 Cursor나 Copilot 같은 도구만 생각하곤 합니다. 정작 우리 발밑에 깔려 있는, 회사 서버에 잠자고 있는 엄청난 양의 데이터에는 그 기술을 적용할 생각을 잘 하지 못합니다.

몇 년 전, 서비스 장애가 발생했을 때가 생각납니다. 특정 시간대마다 간헐적으로 API 응답 속도가 느려지는 현상이었습니다. 당시 저는 원인을 찾기 위해 며칠 밤을 새우며 그라파나(Grafana) 대시보드와 씨름하고, 텍스트 파일로 된 로그를 grep으로 뒤져가며 '인간 지능'으로 패턴을 찾으려 애썼습니다. "로그가 너무 많아서 분석이 어렵다"는 핑계를 대면서요.

만약 그때 제가 파즈 군처럼 생각했다면 어땠을까요? "로그가 많으니 AI에게 패턴 분석을 시켜보자"라고 접근했다면요. 실제로 최근에는 사내 해커톤에서 주니어 개발자 한 분이 ELK 스택에 쌓인 에러 로그를 LLM API에 태워서, 장애 발생 직전의 공통된 패턴을 요약해주는 봇을 만들어왔습니다. 제가 3일 걸려 찾던 원인을 그 봇은 3분 만에 "DB 커넥션 풀 고갈 징후"라고 짚어내더군요. 그때 느꼈던 충격과 부끄러움이 이번 뉴스를 보며 다시금 떠올랐습니다.

파즈 군은 자신의 모델이 "시간적 형식(temporal format)으로 들어오는 어떤 것에도 적용될 수 있다"고 말했습니다. 주식 시장 차트든, 기후 데이터든 말이죠. 우리 개발자들에게는 서버의 CPU 사용률, 트래픽 추이, 사용자 행동 로그가 바로 그 '시간적 데이터'입니다.

이제 우리는 '데이터가 너무 많아서 못 본다'는 말을 할 수 없는 시대에 살고 있습니다. 오히려 데이터가 많을수록 AI가 활약할 기회는 더 커집니다. 2000억 건의 데이터는 쓰레기가 아니라, 아직 발견되지 않은 150만 개의 '별'을 품고 있는 보물창고였습니다.

개발자 여러분, 혹시 지금 관리하고 있는 시스템의 오래된 로그나 DB를 그저 '비용'으로만 보고 계시지는 않나요? 이번 주에는 저도 묵혀두었던 슬로우 쿼리 로그들을 꺼내어 로컬 LLM에게 한번 먹여볼 생각입니다. 그 속에 우리가 놓치고 있던 시스템의 병목이나, 혹은 새로운 비즈니스 기회가 숨어있을지 모르니까요.

기술은 멀리 있는 것이 아니라, 우리가 귀찮아했던 그 문제를 해결해 줄 때 가장 빛나는 법입니다. 18세 소년이 우주를 바라보는 방식에서, 저도 오늘 서버를 바라보는 방식을 배웁니다.

지금 읽으신 내용, 귀사에 적용해보고 싶으신가요?

상황과 목표를 알려주시면 가능한 옵션과 현실적인 도입 경로를 제안해드립니다.