저장소 크기 권장사항
저장소 크기는 다음과 같이 Dataform 개발의 여러 측면에 영향을 미칩니다.
- 공동작업
- 코드베이스 가독성
- 개발 프로세스
- 워크플로 컴파일
- 워크플로 실행
Dataform은 컴파일 리소스에 대한 API 할당량 및 한도를 적용합니다. 저장소 크기가 크면 이러한 할당량과 제한을 초과하는 원인이 될 수 있습니다. 이로 인해 SQL 워크플로의 컴파일 및 실행이 실패할 수 있습니다.
이러한 위험을 완화하려면 큰 리포지토리를 분할하는 것이 좋습니다. 큰 저장소를 분할할 때는 큰 SQL 워크플로를 다른 저장소에 보관되고 저장소 간 종속 항목으로 연결된 여러 개의 작은 SQL 워크플로로 나눕니다.
이 접근 방식을 사용하면 Dataform 할당량 및 한도, 세분화된 프로세스 및 권한을 준수하고, 코드베이스 가독성 및 공동작업을 개선할 수 있습니다. 그러나 분할된 저장소를 관리하는 것은 단일 저장소를 관리하는 것보다 훨씬 까다로울 수 있습니다.
Dataform의 저장소 크기가 미치는 영향과 저장소 분할 권장사항에 대한 자세한 내용은 저장소 분할을 참조하세요.
저장소 구조 권장사항
워크플로의 단계를 반영하여 definitions
디렉토리에 파일을 구조화하는 것이 좋습니다. 요구사항에 가장 적합한 커스텀 구조를 채택할 수 있습니다.
다음 definitions
하위 디렉터리의 권장 구조는 대부분의 SQL 워크플로에 대한 주요 단계를 반영합니다.
sources
, 데이터 소스 선언 저장intermediate
, 데이터 변환 논리 저장output
, 출력 테이블의 정의 저장- (선택사항)
extras
, 추가 파일 저장
Dataform의 모든 파일 이름은 BigQuery 테이블 이름 지정 지침을 준수해야 합니다. Dataform 저장소의 definitions
디렉터리에 있는 파일 이름은 하위 디렉터리 구조를 반영하는 것이 좋습니다.
저장소에서 파일을 구조화하고 이름을 지정하는 권장 사례에 대해 자세히 알아보려면 저장소에서 코드 구조화하기를 참조하세요.
코드 수명 주기 권장사항
Dataform의 기본 코드 수명 주기는 다음 단계로 구성됩니다.
Dataform 작업공간에서 SQL 워크플로 코드 개발
Dataform 코어로 개발하거나 전적으로 JavaScript만 가지고 개발할 수 있습니다.
워크플로 설정 파일의 설정을 사용하여 코드를 컴파일 결과로 컴파일합니다.
출시 구성 및 작업공간 컴파일 재정의로 커스텀 컴파일 결과를 구성할 수 있습니다.
출시 구성에서는 전체 저장소에 대한 커스텀 컴파일 결과를 구성할 수 있습니다. 나중에 워크플로 구성에서 실행을 예약할 수 있습니다.
작업공간 컴파일 재정의를 사용하면 저장소의 모든 작업공간에 대한 컴파일 재정의를 구성하여 각 작업공간의 커스텀 컴파일 결과를 만들 수 있습니다.
BigQuery에서 컴파일 결과 실행
워크플로 구성을 사용하여 실행 또는 저장소 컴파일 결과를 예약할 수 있습니다.
Dataform에서 코드 수명 주기를 관리하려면 개발, 스테이징, 프로덕션과 같은 실행 환경을 만들면 됩니다.
Dataform의 코드 수명 주기에 대한 자세한 내용은 Dataform의 코드 수명 주기 소개를 참조하세요.
실행 환경을 단일 저장소 또는 여러 저장소에 유지하도록 선택할 수 있습니다.
단일 저장소의 실행 환경
작업공간 컴파일 재정의 및 출시 구성을 사용하여 단일 Dataform 저장소에서 개발, 스테이징, 프로덕션과 같은 격리된 실행 환경을 만들 수 있습니다.
다음과 같은 방법으로 격리된 실행 환경을 만들 수 있습니다.
- 스키마별로 개발 및 프로덕션 테이블 분할
- 스키마 및 Google Cloud 프로젝트 테이블별로 개발 및 프로덕션 분할
- Google Cloud 프로젝트별로 개발, 스테이징, 프로덕션 테이블 분할
그런 다음 워크플로 구성을 사용하여 스테이징 및 프로덕션 환경에서 실행을 예약할 수 있습니다. 개발 환경에서는 실행을 수동으로 트리거하는 것이 좋습니다.
Dataform의 코드 수명 주기 관리의 권장사항에 대한 자세한 내용은 코드 수명 주기 관리를 참조하세요.
여러 저장소의 코드 수명 주기
코드 수명 주기의 각 단계에 맞춰 Identity and Access Management를 조정하려면 저장소의 여러 사본을 만들어 서로 다른 Google Cloud 프로젝트에 저장하면 됩니다.
각 Google Cloud 프로젝트는 코드 수명 주기의 단계(예: 개발이나 프로덕션)에 해당하는 실행 환경 역할을 합니다.
이 접근 방식에서는 모든 Google Cloud 프로젝트에서 저장소의 코드베이스를 동일하게 유지하는 것이 좋습니다. 저장소의 각 사본에서 컴파일 및 실행을 맞춤설정하려면 작업공간 컴파일 재정의, 출시 구성, 워크플로 구성을 사용합니다.
다음 단계
- Dataform에서 저장소 크기에 대해 자세히 알아보려면 저장소 크기 개요를 참조하세요.
- 저장소 분할에 대한 권장사항을 자세히 알아보려면 저장소 분할하기를 참조하세요.
- 저장소 구조의 권장사항에 대해 자세히 알아보려면 저장소에서 코드 구조화하기를 참조하세요.
- Dataform의 코드 수명 주기와 이를 구성하는 다양한 방법에 대해 자세히 알아보려면 Dataform의 코드 수명 주기 소개를 참조하세요.
- 코드 수명 주기의 권장사항에 대해 자세히 알아보려면 코드 수명 주기 관리를 참조하세요.