IT & AI

Rocky는 데이터 파이프라인 오류를 실행하기 전에 잡으려 해요

헬조선의 알파고 2026. 7. 7. 10:01
728x90

Rocky는 데이터 파이프라인 오류를 실행하기 전에 잡으려 해요

AI 뉴스 썸네일
AI 뉴스 썸네일

데이터 파이프라인에서 무서운 오류는 대개 조용히 들어와요. 상류 테이블의 컬럼 이름이 바뀌거나 타입이 달라져도, 문제를 발견하는 시점은 대시보드 숫자가 틀어진 뒤일 때가 많아요. Rocky는 이런 변경을 SQL 실행 전에 검사하려는 오픈소스 SQL 변환 엔진이에요.

728x90

핵심 요약

구분핵심왜 볼만한가요
데이터 파이프라인Rocky는 전체 SQL 변환 흐름을 타입 검사해 깨지는 변경을 미리 잡아요운영 테이블에 잘못된 결과가 쓰이기 전에 실패를 확인할 수 있어요
데이터 계약필수 컬럼 누락, 보호 컬럼 제거, 위험한 타입 변경을 에러로 막아요데이터 품질 문제를 리뷰와 배포 단계에서 더 빨리 볼 수 있어요
개발자 도구VS Code 확장, 컬럼 리니지, 브랜치 실행 환경을 제공해요데이터 모델을 고치기 전 영향 범위를 좁혀 확인할 수 있어요

1. SQL 파이프라인에도 타입 검사를 붙이려는 도구예요

Rocky는 SQL 변환 파이프라인 전체를 검사해, 실행 전에 깨질 수 있는 변경을 찾는 엔진이에요. 공식 저장소는 Rocky를 "전체 파이프라인을 타입 검사하고 실행 전에 깨지는 변경을 잡는 SQL transformation engine"이라고 설명해요. Databricks, Snowflake, BigQuery, DuckDB를 지원하고, 기존 웨어하우스와 SQL을 그대로 쓰는 방향을 잡고 있어요. 2

데이터 팀이 자주 겪는 문제는 코드가 아니라 계약의 부재에 가까워요. 소스 테이블의 컬럼 타입이 바뀌거나 이름이 바뀌면, downstream 모델은 나중에야 깨져요. Rocky는 이런 스키마 드리프트를 검사 단계에서 찾고, 필요한 경우 대상 테이블 재생성까지 연결해요. GeekNews 요약에 따르면 필수 컬럼 누락, 보호 컬럼 제거, 위험한 타입 변경은 E010, E013 같은 에러 코드로 막아요. 1

이 접근은 dbt를 쓰는 팀에도 익숙한 문제를 겨냥해요. Rocky README의 비교표는 dbt Core가 소스 컬럼 타입 변경이나 `SELECT *`로 들어오는 예기치 않은 컬럼을 조용히 넘길 수 있다고 설명해요. Rocky는 컬럼 단위 영향 범위와 portability 경고, 실행 비용 요약을 더 앞단에서 보여주는 쪽에 초점을 맞춰요. 2

개발 경험 쪽 기능도 꽤 구체적이에요. `rocky lineage-diff`는 두 버전의 프로젝트를 비교해, 바뀐 컬럼이 어떤 downstream 테이블과 컬럼에 영향을 주는지 보여줘요. VS Code 확장은 타입 불일치와 깨진 참조를 작성 중에 표시하고, 컬럼 타입 hover와 go-to-definition을 지원해요. 데이터 모델 파일을 하나씩 열어 추적하던 일을 줄이려는 설계예요.

Rocky가 당장 모든 데이터 팀의 기본 도구가 된다고 보긴 어려워요. README도 Databricks를 2026년 집중 대상이라고 적고, Snowflake, BigQuery, Trino는 핵심 루프는 되지만 아직 더 다듬는 중이라고 밝혀요. AI 기능도 모델 생성과 검사, 수정 재시도까지는 제공하지만, 대량 리팩터링과 자동 마이그레이션은 로드맵에 가까워요. 그래서 지금은 "완성된 표준"보다 "데이터 변환 도구가 어디까지 검사해야 하는가"를 보여주는 사례로 보는 편이 안전해요.

왜 중요한가요

데이터 파이프라인은 애플리케이션 코드보다 늦게 깨지는 일이 많아요. API 서버는 테스트가 실패하면 배포가 멈추지만, 데이터 변환은 쿼리가 실행된 뒤 잘못된 숫자를 저장하고 나서야 문제가 보일 때가 있어요. Rocky가 강조하는 컴파일 타임 데이터 계약은 이 시간 차이를 줄이려는 시도예요. 2

컬럼 리니지는 실무에서 바로 체감되는 영역이에요. 매출 집계 컬럼 하나가 이상할 때, 팀은 원천 테이블부터 중간 모델과 최종 fact 테이블까지 거슬러 올라가야 해요. Rocky처럼 컬럼 단위 계보를 제공하면 "이 숫자가 어디서 왔는지"를 모델 파일 검색이 아니라 도구 화면에서 좁혀 볼 수 있어요. 장애 대응뿐 아니라 코드 리뷰에도 도움이 돼요.

브랜치 실행 환경도 데이터 팀에 필요한 기능이에요. 애플리케이션 개발자는 브랜치를 따서 실험하고 테스트한 뒤 합쳐요. 데이터 파이프라인은 같은 방식을 쓰기가 더 까다로워요. Rocky는 별도 스키마에 실험 브랜치를 만들고 결과를 확인한 뒤 승격하거나 버릴 수 있게 해요. 운영 테이블을 건드리지 않고 변환 로직을 검증하려는 팀에 맞는 방향이에요. 1

AI 모델 생성 기능은 보조 도구로 보는 게 좋아요. 자연어로 "월별 매출 집계 모델을 만들어줘"라고 요청하면 Rocky DSL 모델을 만들고, 컴파일 실패 시 수정 재시도까지 한다고 설명돼요. 다만 데이터 모델은 회사별 정의와 컬럼 의미가 강하게 묶여 있어요. AI가 SQL 초안을 만드는 것보다, 만들어진 모델을 타입 검사와 계약 검사로 막아 주는 부분이 더 실용적으로 보여요.

오픈소스라는 점도 체크할 만해요. Rocky는 Apache 2.0 라이선스이고, GitHub 저장소 설명 기준으로 Rust 기반 단일 바이너리를 내세워요. `rocky emit-sql`로 웨어하우스 연결 없이 순수 SQL을 렌더링할 수 있고, `rocky import-dbt`로 순수 dbt Core 프로젝트를 변환하는 흐름도 제공해요. 특정 플랫폼에 완전히 묶이지 않으려는 데이터 팀이라면 이 부분을 먼저 살펴볼 만해요.

참고 자료

  1. Rocky - 파이프라인 전체를 타입 검사해 실행 전에 깨지는 변경을 잡아내는 SQL 변환 엔진 — GeekNews
  2. rocky-data/rocky — GitHub
728x90