Data Catalog 사용해보기

김민형·2022년 9월 7일
1

GCP - Data

목록 보기
31/44

Data Catalog

Data Catalog 는 Google Cloud의 Data Analytics 제품군에 포함된 확장 가능한 완전 관리형 메타데이터 관리 서비스

데이터 자산 관리는 적절한 도구 없이는 시간과 비용이 많이 소요될 수 있다.
Data Catalog는 조직이 데이터 자산을 찾고, 선별하고, 설명할 수 있는 중앙 집중식 장소를 제공힌다.

Data Catalog와 상호 작용하는 두 가지 방법

  • 액세스 권한이 있는 데이터 자산 검색
  • 메타데이터로 자산에 태그 지정

Data Catalog가 필요한 이유?

  • 유용한 데이터 검색
    데이터 소비자는 데이터의 위치와 출처를 알 수 없다. 데이터 '늪'을 탐색해야 함.
    대부분의 데이터는 잘 문서화되어 있지 않으며 문서화되어 있더라도 제대로 유지관리되어 있지 않아서 데이터 소비자는 유용한 정보를 얻기 위해 어떤 데이터를 사용해야 할지 모른다.
    데이터가 사람들의 머리 속에만 있으면 찾을 수 없으며 손실되기가 쉽다.

  • 데이터 이해
    프로덕션에서 사용할 수 있도록 최신이며 정제, 검증, 승인된 최신 데이터인가?
    여러 중복 데이터 세트 중 관련이 있는 어떤 데이터 세트가 관련성이 있고 최신인가?
    해당 데이터 세트는 다른 데이터 세트와 어떤 관련이 있나?
    누가 데이터를 사용하고 누가 소유자인가?
    누가 어떤 프로세스로 데이터를 변환하나?
    위와 같은 질문들에 대해 대한 답을 얻을 수 있다.

  • 데이터를 유용하게 활용
    데이터 제작자가 소비자를 위해 효율적으로 데이터를 전달할 수 있다.
    데이터 소비자가 데이터 액세스를 요청하는 방법을 알아내고 데이터 액세스를 요청하며 정의된 응답 시간 없이 대기하고 에스컬레이션하고 다시 대기해야 한다면 시간을 낭비할 수 있는데 이를 방지해준다.

Data Catalog의 장점

  • 조직의 여러 프로젝트에서 데이터 자산을 확인할 수 있다.
  • 재사용 가능한 태그 템플릿을 만들어 팀에 풍부한 데이터 설명을 추가할 수 있다.
  • 어떤 데이터 세트에 PII(개인 식별 정보)가 있는지 빠르게 강조 표시를 할 수 있다.
  • 메타데이터 액세스 제어는 로그인한 사용자를 기반으로 상속(별도의 Data Catalog ACL이 필요하지 않음).

Data Catalog 작동 방식

Data Catalog는 여러 Google Cloud 시스템 소스에서 데이터 항목의 메타데이터를 분류할 수 있다.

애셋 자동 카탈로그
Data Catalog는 다음 Google Cloud 애셋을 자동으로 분류

  • BigQuery 데이터 세트, 테이블, 뷰
  • Pub/Sub 주제
  • Dataplex 레이크, 영역, 테이블, 파일 세트
  • (Preview): Dataproc Metastore 서비스, 데이터베이스, 테이블
  • (Preview): Analytics Hub 연결 데이터 세트

태그 및 태그 템플릿

  • 태그
    태그는 비즈니스 메타데이터의 한 유형.
    데이터 항목에 태그를 추가하면 애셋을 사용해야 하는 모든 사람에게 의미 있는 컨텍스트를 제공할 수 있다.
    ex) 특정 데이터 항목의 담당자, 개인 식별 정보(PII) 포함 여부, 애셋의 데이터 보관 정책 등과 같은 정보를 제공

아래와 같이 테이블의 각 열마다 비즈니스 메타데이터 태그를 연결할 수 있다.

태그 템플릿
새 태그를 빠르게 만드는 데 사용할 수 있는 재사용 가능한 텝플릿.
데이터에 태그를 지정하려면 먼저 태그 템플릿을 하나 이상 만들어야 한다.

태그 템플릿 필드
태그에는 정보를 저장할 수 있는 필드가 하나 이상 포함되어야 한다.
태그의 필드는 태그 템플릿에서 정의되고, 모든 태그는 태그 템플릿 인스턴스이며 특정 테이블이나 열에 적용할 수 있다.
ex) 열에 있는 태그는 해당 열에 PII가 포함되어 있는지, 지원 중단되었는지 또는 특정 값을 계산하는 데 사용된 수식 등을 알려줄 수 있다.

Data Catalog를 사용하여 BigQuery 테이블에 정책 태그 추가

데이터 세트 및 테이블 생성
policy_tags_demo 데이터 세트를 만들어준다.
빅쿼리 공개 데이터 세트 테이블을 복사해올 것이다.
여기선 taxi_trip 테이블을 사용하므로 해당 테이블을 복사해주자.

아래 쿼리를 날리면 데이터가 잘 나오는 것을 확인할 수 있다.

  SELECT company, COUNT(*) AS number_of_trips
  FROM `<프로젝트 ID>.policy_tags_demo.my_taxi_trips_copy` GROUP BY company

company 열에 대한 액세스 제어 설정을 해볼 것이다.

분류 및 정책 태그 만들기
분류는 조직 단위에서 관리되는 리소스이고 정책 태그를 그룹화하고 관리한다. 정책 태그는 분류 내에서만 있을 수 있다
.

Sensitive taxi data라는 이름의 태그를 붙여줄 것이다.
만들고 나서 액세스 제어를 적용해야 company 열에 대한 액세스가 제한된다.
(하지만 뒤에 나오겠지만 조직 단위의 권한이 필요한데 현재 권한이 없는 상태다.)

company 열에 정책 태그 추가

빅쿼리에서 아래 쿼리를 날리면 원래 액세스 거부로 오류가 떠야 한다.

  SELECT company, COUNT(*) AS number_of_trips
  FROM `PROJECT_ID.policy_tags_demo.my_taxi_trips_copy` GROUP BY company

하지만 앞서 말했던 것처럼 조직 단위의 권한에서 bigquery:dataPolicies.list권한이 현재 나에게 없기 때문에 액세스 제어를 적용할 수가 없었다.

액세스 제어를 설정하면 company 열에 대한 쿼리를 할 수 없고 액세스 하려면 사용하려는 유저에 대한 권한을 부여해줘야 한다.

아래 사진처럼 Data Catalog에 세분화된 권한의 리더 권한을 해당 유저에 부여해줘야 함.

profile
Solutions Architect (rlaalsgud97@gmail.com)

0개의 댓글