기본 데이터 거버넌스 구축

'이 열 이름은 무슨 의미인가요?', '이 손상된 데이터 세트의 소유자는 누구인가요?', 또는 '이 테이블을 사용해도 되나요?'와 같은 질문을 해본 적이 있을 것입니다. 일부 데이터 카탈로그는 구조화되지 않은 태그를 사용하여 이 정보를 추가하지만 태그는 빠르게 오래되거나 일관성이 없어집니다. Knowledge Catalog (이전 명칭: Dataplex Universal Catalog)를 사용하면 구조화된 스키마 기반 메타데이터와 명확한 비즈니스 정의를 데이터 애셋에 직접 연결할 수 있으므로 이 문제를 방지할 수 있습니다. 이 접근 방식을 사용하면 프로그래매틱 거버넌스를 대규모로 빌드할 수 있습니다.

이 튜토리얼에서는 Knowledge Catalog에서 데이터 거버넌스를 시작하는 방법을 보여줍니다. 데이터 엔지니어, 데이터베이스 관리자, 데이터 설계자를 위해 설계된 이 튜토리얼에서는 이러한 워크플로를 자동화하기 전에 강력한 정신적 모델을 빌드하는 데 도움이 되도록 수동 UI 단계를 안내합니다. 주요 Knowledge Catalog 개념 간의 관계를 명확히 합니다. 이 튜토리얼을 마치면 데이터를 검색 가능하고 신뢰할 수 있게 만드는 방법을 알게 됩니다.

목표

이 튜토리얼에서는 다음을 수행하는 방법을 알아봅니다.

  • 비즈니스 용어집 을 사용하여 비즈니스 용어의 단일 정보 소스를 만듭니다.
  • 관점 유형 을 사용하여 메타데이터를 구조화하고 정리합니다.
  • 관점 을 사용하여 애셋에 메타데이터를 연결합니다.
  • Knowledge Catalog 검색을 사용하여 이 새로운 구조화된 메타데이터를 사용하여 필요한 것을 정확하게 찾습니다.

시작하기 전에

시작하기 전에 다음을 수행합니다.

환경 설정

이 튜토리얼에서는 클라우드에서 실행되는 명령줄 환경인 Cloud Shell을 사용합니다.

  1. 콘솔에서 오른쪽 상단 툴바에 있는 Cloud Shell 활성화 를 클릭합니다. Google Cloud 환경을 프로비저닝하고 연결하는 데 몇 분 정도 소요됩니다.

  2. Cloud Shell에서 향후 모든 명령어가 특정 Google Cloud 프로젝트를 타겟팅하도록 PROJECT_IDLOCATION 변수를 설정합니다.

    export PROJECT_ID=$(gcloud config get-value project)
    gcloud config set project $PROJECT_ID
    export LOCATION="us-central1"
    
  3. 필요한 Google Cloud 서비스를 사용 설정합니다.

    gcloud services enable \
      dataplex.googleapis.com \
      bigquery.googleapis.com \
      datacatalog.googleapis.com
    

BigQuery 데이터 세트 만들기 및 샘플 데이터 준비

다음 코드를 사용하여 BigQuery 데이터 세트를 만들고 일부 샘플 CSV 트랜잭션을 테이블에 로드합니다. 테이블을 만들면 Knowledge Catalog가 자동으로 테이블을 검색하고 카탈로그에 테이블의 항목 을 만듭니다.

항목을 Knowledge Catalog의 데이터 애셋 표현으로 생각하세요. 거버넌스 메타데이터를 연결할 수 있는 카탈로그의 레코드와 같습니다. BigQuery 테이블을 직접 관리하는 대신 Knowledge Catalog에서 항목을 관리합니다.

# Create the BigQuery Dataset in the us-central1 region
bq --location=$LOCATION mk --dataset \
    --description "Retail data for governance codelab" \
    $PROJECT_ID:retail_data

# Create a temporary CSV file with the sample data
echo "transaction_id,user_email,gmv,transaction_date
1001,test@example.com,150.50,2025-08-28
1002,user@example.com,75.00,2025-08-28" > /tmp/transactions.csv

# Load the data from the temporary CSV file into a BigQuery table
bq load \
    --source_format=CSV \
    --autodetect \
    retail_data.transactions \
    /tmp/transactions.csv

# (Optional) Clean up the temporary file
rm /tmp/transactions.csv

SELECT 쿼리를 실행하여 설정을 확인합니다.

bq query --nouse_legacy_sql "SELECT * FROM retail_data.transactions"

출력 예시:

+----------------+------------------+-------+------------------+
| transaction_id |    user_email    |  gmv  | transaction_date |
+----------------+------------------+-------+------------------+
|           1001 | test@example.com | 150.5 |       2025-08-28 |
|           1002 | user@example.com |  75.0 |       2025-08-28 |
+----------------+------------------+-------+------------------+

비즈니스 용어집으로 공통 용어 설정

우수한 거버넌스는 명확한 정의에 기반합니다. 예를 들어 개발자는 gmv라는 열이 총 상품 가치를 의미하는지 또는 세금이나 반품이 포함되는지 추측해서는 안 됩니다. 비즈니스 용어집 은 비즈니스 정의를 기술 세부정보와 분리하는 단일 정보 소스를 만들어 이 문제를 해결합니다. 이렇게 하면 총 상품 가치와 같은 용어가 영업팀에서 재무팀에 이르기까지 모든 사람에게 동일한 의미를 갖게 됩니다.

다음 단계에 따라 용어집을 만들고 첫 번째 용어를 정의합니다.

  1. 콘솔에서 Knowledge Catalog 용어집 페이지로 이동합니다. Google Cloud

    용어집으로 이동

  2. 비즈니스 용어집 만들기 를 클릭합니다.

  3. 다음 세부정보를 입력합니다.

    • 표시 이름: Retail Business Glossary
    • 위치: us-central1 (Iowa)
  4. 만들기 를 클릭합니다.

  5. 카테고리 만들기 를 클릭합니다.

  6. 카테고리 이름을 Sales Metrics로 지정하고 만들기 를 클릭합니다.

  7. Sales Metrics 카테고리를 선택하고 용어 추가 를 클릭합니다.

  8. 용어 이름을 Gross Merchandise Value로 지정하고 만들기 를 클릭합니다.

  9. 총 상품 가치 용어를 클릭하여 세부정보 페이지를 엽니다.

  10. 개요 옆에 있는 추가 를 클릭합니다. 다음 세부정보를 입력합니다. The total value of merchandise sold over a given period of time before the deduction of any fees or expenses. This is a key indicator of e-commerce business growth.

  11. 저장 을 클릭합니다.

이제 조직 전체의 데이터 애셋에 연결할 수 있는 용어집 용어를 만들었습니다.

관점 유형으로 기술 메타데이터 정의

특정 데이터 애셋의 소유자를 추적해야 하는 경우 키-값 태그만으로는 충분하지 않습니다. 한 테이블에 owner:bob 태그가 지정되고 다른 테이블에 contact:alice@example.com 태그가 지정되는 것을 원하지 않습니다. 소유자 정보가 유효한 이메일 형식이어야 하는 구조화된 스키마를 원합니다.

이 요구사항을 충족하기 위해 Knowledge Catalog는 관점 유형 을 지원합니다. 관점 유형은 명확한 규칙과 필수 필드를 설정할 수 있는 메타데이터의 청사진과 같습니다. 이렇게 하면 나중에 추가하는 메타데이터가 정리된 상태로 유지됩니다.

  1. 콘솔에서 메타데이터 유형 페이지의 Knowledge Catalog 관점 유형 탭으로 이동합니다. Google Cloud

    관점 유형으로 이동

  2. 커스텀 탭에서 만들기 를 클릭합니다.

  3. 다음 세부정보를 입력합니다.

    • 표시 이름: Data Asset Governance
    • 위치: us-central1 (Iowa)
  4. 템플릿 섹션에서 필드 추가 를 클릭하여 다음 세 필드를 만듭니다.

    • 필드 1:

      • 표시 이름: Data Steward
      • 유형: Text
      • 필수: 체크박스를 선택합니다.
      • 텍스트 유형: Plain text
    • 필드 2 (필드 추가 클릭):

      • 표시 이름: Data Sensitivity
      • 유형: Enum
      • 필수: 선택사항으로 둡니다.
      • : Public, Internal, Confidential 추가
    • 필드 3 (필드 추가 클릭):

      • 표시 이름: Last Review Date
      • 필수: 선택사항으로 둡니다.
      • 유형: Date and time
  5. 저장 을 클릭합니다.

이제 데이터 관리자, 민감도 수준, 검토 날짜와 같은 거버넌스 관련 메타데이터 필드의 관점 유형이 있습니다. 다음 섹션에서는 이러한 필드의 특정 값이 있는 관점을 연결하여 이 스키마를 테이블 항목에 적용합니다.

거버넌스 메타데이터로 항목 보강

열 이름은 약어이거나 모호한 경우가 많습니다. 열을 비즈니스 용어집의 용어에 연결하면 명확하고 일관된 정의를 제공할 수 있습니다. 이 단계에서는 Gross Merchandise Value 용어를 gmv라는 열에 연결하고 관점 유형을 사용하여 테이블 항목에 관점을 연결하여 retail_data.transactions 테이블의 항목을 보강합니다.

retail_data.transactionsgmv 열이 무엇인지 명확히 하려면 Gross Merchandise Value 용어에 연결합니다.

  1. 콘솔에서 Knowledge Catalog 검색 페이지로 이동합니다. Google Cloud

    검색 페이지로 이동

  2. 필터 를 클릭하여 필터 패널을 엽니다.

  3. **범위** 에서 **현재 프로젝트** 를 선택합니다.

  4. retail_data.transactions를 검색하고 반환된 트랜잭션 테이블을 클릭합니다.

  5. 스키마 탭을 클릭합니다.

  6. gmv 열 옆에 있는 체크박스를 선택하고 비즈니스 용어 추가 를 클릭합니다.

  7. Gross Merchandise Value를 선택합니다.

테이블 항목에 관점 연결

비즈니스 용어를 열에 연결하는 것 외에도 테이블 항목에 관점 을 연결하여 데이터 소유권 및 민감도와 같은 테이블 수준 거버넌스 메타데이터를 캡처할 수 있습니다.

관점은 메타데이터 필드의 특정 값을 포함하는 관점 유형의 인스턴스입니다. 항목에 관점을 연결하면 Knowledge Catalog는 일관성을 보장하기 위해 관점 유형에 정의된 스키마에 대해 제공한 정보를 확인합니다.

retail_data.transactions 테이블의 소유권과 민감도를 정의하려면 Data Asset Governance 관점을 연결합니다.

  1. retail_data.transactions 항목 페이지의 세부정보 탭에서 선택적 관점 옆에 있는 추가 를 클릭합니다.
  2. 목록에서 Data Asset Governance를 선택합니다.
  3. 필드에 값을 입력합니다.

    • 데이터 관리자: finance-team@example.com
    • 데이터 민감도: 내부 를 선택합니다.
    • 최종 검토 날짜: 오늘 날짜를 선택합니다.
  4. 저장 을 클릭합니다.

이제 Knowledge Catalog에서 데이터 거버넌스를 위한 견고한 토대를 마련했습니다.

보강된 메타데이터를 사용하여 항목 검색

열을 비즈니스 용어에 연결하고 관점을 연결하여 retail_data.transactions 항목을 보강했습니다. 이제 Knowledge Catalog 검색을 사용하여 이러한 비즈니스 컨텍스트를 기반으로 항목을 찾을 수 있습니다. 예를 들어 특정 민감도 수준의 모든 애셋을 찾거나 용어집 용어를 검색하여 기본 테이블을 찾을 수 있습니다.

  1. 콘솔에서 Knowledge Catalog 검색 페이지로 이동합니다. Google Cloud

    검색 페이지로 이동

  2. 필터 를 클릭하여 필터 패널을 엽니다.

  3. **범위** 에서 **현재 프로젝트** 를 선택합니다.

  4. 검색창에 Find tables where the Data Asset Governance aspect has Internal sensitivity.를 입력합니다.

  5. 결과 목록에 retail_data.transactions 테이블이 표시됩니다.

  6. 검색창을 지우고 Find tables with the Gross Merchandise Value term attached.를 입력합니다.

  7. gmv 열이 이 비즈니스 용어에 직접 연결되어 있으므로 결과에 retail_data.transactions 테이블이 다시 표시됩니다.

정리

요금이 발생하지 않도록 하려면 이 튜토리얼에서 만든 리소스를 삭제합니다.

샘플 데이터 세트 삭제

샘플 BigQuery 데이터 세트와 모든 테이블을 삭제하려면 다음 명령어를 사용합니다. 이 작업은 되돌릴 수 없습니다.

# Re-run these exports if your Cloud Shell session timed out
export PROJECT_ID=$(gcloud config get-value project)

# Manually type this command to confirm you are deleting the correct dataset
bq rm -r -f --dataset $PROJECT_ID:retail_data

Knowledge Catalog 아티팩트 삭제

  1. 콘솔에서 메타데이터 유형 페이지의 Knowledge Catalog 관점 유형 탭으로 이동합니다. Google Cloud

    관점 유형으로 이동

  2. data_asset_governance 관점 유형을 선택하고 삭제 를 클릭합니다.

  3. 콘솔에서 Knowledge Catalog 용어집 페이지로 이동합니다. Google Cloud

    용어집으로 이동

  4. Gross Merchandise Value 용어를 선택하고 삭제 를 클릭합니다.

  5. Sales Metrics 카테고리를 선택하고 삭제 를 클릭합니다.

  6. Retail Business Glossary를 선택하고 삭제 를 클릭합니다.

다음 단계