Rocky - 파이프라인 전체를 타입 검사해 실행 전에 깨지는 변경을 잡아내는 SQL 변환 엔진
요약
Rocky는 SQL 변환 파이프라인의 타입 검사와 스키마 드리프트를 자동 감지하는 엔진입니다. 컴파일 타임 데이터 계약과 컬럼 단위 계보를 통해 데이터 품질을 보장하며, 자연어 기반 AI 모델 생성 기능을 제공합니다.
핵심 포인트
- 스키마 변경 및 타입 불일치를 실행 전 컴파일 단계에서 차단
- 컬럼 단위 리니지 제공으로 데이터 흐름의 역추적 용이
- 자연어 입력을 통한 SQL 모델 자동 생성 및 AI 재시도 지원
- 브랜치 기능을 통한 프로덕션 환경 격리 및 안전한 실험
- dbt 프로젝트 변환 및 다양한 데이터 웨어하우스 지원
스키마 드리프트 자동 감지: 소스 테이블 컬럼 타입/이름이 상류에서 바뀌어 버리면, 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 라이선스
댓글과 토론
AI 자동 생성 콘텐츠
본 콘텐츠는 GeekNews의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기