# Rocky - 파이프라인 전체를 타입 검사해 실행 전에 깨지는 변경을 잡아내는 SQL 변환 엔진

> Clean Markdown view of GeekNews topic #31191. Use the original source for factual precision when an external source URL is present.

## Metadata

- GeekNews HTML: [https://news.hada.io/topic?id=31191](https://news.hada.io/topic?id=31191)
- GeekNews Markdown: [https://news.hada.io/topic/31191.md](https://news.hada.io/topic/31191.md)
- Type: news
- Author: [xguru](https://news.hada.io/@xguru)
- Published: 2026-07-07T09:41:02+09:00
- Updated: 2026-07-07T09:41:02+09:00
- Original source: [github.com/rocky-data](https://github.com/rocky-data/rocky)
- Points: 2
- Comments: 0

## Topic Body

- **스키마 드리프트 자동 감지**: 소스 테이블 컬럼 타입/이름이 상류에서 바뀌어 버리면, diff 후 타겟을 자동 재생성  
  - 개발에선 통과하나 운영에서 실패하는 쿼리를 실행 전에 잡아내고, "어제까지 잘 돌았는데 데이터가 이상하다" 상황을 실행 시점에 즉시 차단  
- **컴파일 타임 데이터 계약**: 필수 컬럼 누락, 보호 컬럼 제거, 위험한 타입 변경을 프로덕션 테이블에 한 행이라도 쓰기 전에 에러 코드(E010, E013)로 잡아줌  
- **컬럼 단위 계보(column lineage)** 제공: 특정 컬럼 하나를 찍으면 시드부터 최종 팩트 테이블까지 역추적 가능 - "이 숫자 어디서 온 거야?" 할 때 모델 파일을 하나씩 뒤질 필요 없음  
- **브랜치 = 격리 실험 환경**: `rocky branch create`로 별도 스키마에 실험 브랜치 생성, 결과 확인 후 프로모션 또는 드롭해서 **프로덕션 테이블을 건드릴 위험 방지**  
- **AI 모델 생성**: "월별 매출 집계 모델 만들어줘" 같은 자연어 입력으로 Rocky DSL 모델 자동 생성, 컴파일 실패 시 재시도까지 자동 - SQL 보일러플레이트 직접 작성 불필요  
- **VS Code language server 제공**: 타입 불일치와 깨진 참조를 CI가 아닌 작성 중에 표시, 컬럼 타입 마우스 오버 표시와 go-to-definition을 모든 모델에서 지원  
- **데이터 마스킹** — PII 컬럼에 태그를 붙이고 환경별 마스킹 설정, 마스킹되지 않은 채 유출되면 검사 실패 처리  
- **인크리멘탈 로드 자동 관리**: `strategy = "incremental"` + `timestamp_column`만 설정하면 워터마크를 알아서 기억함.   
  - 500행 초기 로드 후 25행 추가 시 델타만 빠르게 처리해서 WHERE 조건 직접 관리할 필요없  
- **벤더 락인 없음**: `rocky emit-sql`이 모든 변환 모델을 웨어하우스 연결 없이 오프라인에서 의존성 정렬된 순수 SQL로 렌더링, `rocky import-dbt`로 순수 dbt Core 프로젝트를 한 명령으로 변환  
- 기존 Databricks/Snowflake/BigQuery는 **그대로 두고**, SQL 모델의 컴파일/실행/리니지/브랜치를 Rust 바이너리 하나로 처리  
  - 어댑터 현황: Databricks, Snowflake, BigQuery, Trino, DuckDB  
  - 소스: Fivetran, Airbyte, Iceberg, Manual  
- Apache 2.0 라이선스

## Comments



_No public comments on this page._
