Show HN: SQLMesh – DataOps의 미래
요약
SQLMesh는 데이터 변환 과정을 빠르고 효율적이며 오류 없이 배포하도록 설계된 차세대 DataOps 프레임워크입니다. SQL 또는 Python으로 작성된 데이터를 가시성과 제어 하에 실행 및 배포할 수 있습니다. 특히, 가상 데이터 환경을 통해 비용 부담 없이 개발하고, Blue-Green 배포와 단위 테스트를 지원하여 안정성을 높였습니다.
핵심 포인트
- 데이터 변환의 표준화: SQL/Python 기반으로 모든 데이터를 관리합니다.
- 가상 데이터 환경(VDE): 실제 DW 비용 없이 격리된 개발 및 계획이 가능합니다.
- 강력한 CI/CD 및 테스트 기능: Blue-Green 배포와 단위 테스트를 지원하여 안정성을 보장합니다.
- SQL 역량 강화: 10가지 이상의 SQL 방언에서 실행 전 변환 오류 디버깅을 제공합니다.
SQLMesh는 Linux Foundation의 프로젝트입니다.
SQLMesh는 데이터를 빠르고, 효율적이며, 오류 없이 배포하도록 설계된 차세대 데이터 변환 프레임워크입니다. 데이터 팀은 SQL 또는 Python으로 작성된 데이터 변환을 어떤 규모에서도 가시성과 제어 하에 실행하고 배포할 수 있습니다.
이것은 단순히 dbt의 대안 그 이상입니다.
CLI와 SQLMesh VSCode Extension 모두에서 변경 사항에 대한 즉각적인 SQL 영향 및 컨텍스트를 확인하세요.
가상 데이터 환경 (Virtual Data Environments)
-
가상 데이터 환경이 어떻게 작동하는지 전체 다이어그램을 확인하세요.
-
이 비디오를 시청하여 더 자세히 알아보세요.
-
데이터 웨어하우스 비용 없이 격리된 개발 환경을 생성할 수 있습니다.
-
변경 사항의 잠재적 영향을 파악하기 위해 Terraform과 같은 방식으로 워크플로우를 계획/적용할 수 있습니다.
-
진정한 blue-green 배포를 위한 사용하기 쉬운 CI/CD 봇이 제공됩니다.
효율성 및 테스트 (Efficiency and Testing)
다음 명령을 실행하면 tests/ 폴더에 단위 테스트 파일인 test_stg_payments.yaml이 생성됩니다:
sqlmesh create_test tcloud_demo.stg_payments --query tcloud_demo.seed_raw_payments "select * from tcloud_demo.seed_raw_payments limit 5"
모델의 예상 출력을 생성하기 위해 라이브 쿼리를 실행합니다.
sqlmesh create_test tcloud_demo.stg_payments --query tcloud_demo.seed_raw_payments "select * from tcloud_demo.seed_raw_payments limit 5"
# 단위 테스트 실행
sqlmesh test
MODEL (
name tcloud_demo.stg_payments,
cron '@daily',
...
test_stg_payments:
model: tcloud_demo.stg_payments
inputs:
...
- 테이블을 한 번 이상 빌드하지 않습니다.
- 어떤 데이터가 수정되었는지 추적하고 증분 모델에 필요한 변환만 실행합니다.
- 무료로 단위 테스트를 실행하고 자동화된 감사를 구성할 수 있습니다.
- 변경 사항으로 영향을 받는 테이블/뷰 간의 프로덕션(prod)과 개발(dev) 간의 테이블 차이(diffs)를 실행합니다.
SQL 역량 강화 (Level Up Your SQL)
모든 방언(dialect)으로 SQL을 작성하면, SQLMesh가 이를 실시간으로 대상 SQL 방언에 변환하여 웨어하우스로 전송합니다.

- 10가지 이상의 다른 SQL 방언에서 웨어하우스에 실행하기 전에 변환 오류를 디버깅하세요. - 단순히 SQL만 사용하여 정의할 수 있습니다 (반복적이고 혼란스러운
Jinja+YAML가 필요하지 않습니다) - 열 레벨 계보(column-level lineage)를 통해 웨어하우스에서 실행하기 전에 변경 사항의 영향을 확인하세요.
더 자세한 정보는 문서를 확인해 주세요.
다음 명령을 실행하여 pypi를 통해 SQLMesh를 설치하세요:
mkdir sqlmesh-example
cd sqlmesh-example
python -m venv .venv
...
참고: 사용 중인 Python 설치에 따라 python 또는 pip 대신 python3 또는 pip3을 실행해야 할 수도 있습니다.
Windows 설치
mkdir sqlmesh-example
cd sqlmesh-example
python -m venv .venv
...
SQLMesh 사용 방법을 배우려면 빠른 시작 가이드를 따르세요. 이미 좋은 출발을 하셨습니다!
핵심 기능들을 익히고 참고하기 쉬운 치트 시트를 활용하려면 크래시 코스를 따라하세요.
전체 워크스루를 통해 SQLMesh를 사용하는 방법을 배우려면 이 예제를 따라하세요.
다음 방법으로 저희와 연결해 주세요:
- 질문을 하거나 안부를 전하고 싶다면 Tobiko Slack 커뮤니티에 참여하세요!
- GitHub에서 이슈를 제기하세요
- 질문이나 피드백이 있다면 [email protected]으로 이메일을 보내주세요
- 블로그를 읽어보세요
기여를 환영합니다! 기여 방법에 대한 지침(DCO 서명 요구 사항 포함)은 CONTRIBUTING.md를 확인해 주세요.
저희의 행동 강령(Code of Conduct) 및 거버넌스 문서를 검토해 주세요.
개발 환경을 설정하는 방법에 대해 더 읽어보세요.
이 프로젝트는 Apache License 2.0에 따라 라이선스가 부여되었습니다. 문서는 CC-BY-4.0에 따라 라이선스가 부여되었습니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 HN AI Engineering의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기