2P by xguru | ★ favorite | 댓글과 토론
  • 스키마 드리프트 자동 감지: 소스 테이블 컬럼 타입/이름이 상류에서 바뀌어 버리면, 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 라이선스

댓글과 토론