구글 PS2팀 박우진
1. 데이터 자산 관리의 중요성
오늘날 데이터의 중요성을 모르는 기업은 없습니다. 기업들은 아주 많은 데이터를 모아 분석하고, 그것을 기반으로 경영에 대한 의사 결정을 하기를 원합니다. 그러나 급격히 늘어나는 데이터를 잘 활용하는데에는 어려움이 있습니다.
일반적으로 데이터 이해관계자(소비자, 제작자, 관리자)가 겪고 있는 문제는 다음과 같습니다.
- 원하는 데이터가 어디에 있는지 모릅니다.
- 중복된 많은 데이터 중 어떤 데이터가 최신인지 모르며, 누구에게 확인해야할지 알지 못합니다.
- 데이터 제작자가 소비자를 위해 데이터에 대한 정보를 전달하기 어렵습니다.
위와 같은 어려움이 없이 기업들이 원하는 데이터를 쉽게 찾고, 어떤 데이터가 최신인지 알며, 데이터의 오너쉽을 확인한 후 데이터에 대한 정보를 쉽게 전달 받을 수 있다면, 기업은 정확한 데이터를 기반으로 빠른 의사결정을 할 수 있을 것입니다.
Google Cloud는 이런 데이터 활용에 대한 어려움을 해결하고 데이터의 활용도를 높여줄 수 있는 도구로 Data Catalog 서비스를 제공하고 있습니다.
2. Data Catalog 소개
Data Catalog는 Google Cloud 내에 저장되어 있는 조직의 데이터 자산을 파악하고 관리할 수 있도록 도와주는 완전 관리형 메타데이터 관리 서비스입니다. Data Catalog는 기업이 보유한 대규모 데이터를 중앙 집중식으로 관리하여, 효율적으로 활용할 수 있도록 합니다.
본 글에서는 Data Catalog의 여러 기능 중 데이터 자산을 관리하는 기능에 대해 설명하고, 특히 BigQuery 데이터를 자산화하여 이용하는 방법에 대해 설명합니다.
3. Data Catalog를 이용한 GCP 데이터 자산 관리
Data Catalog는 ‘탐색’과 ‘분류’ 두 가지 간단한 방법으로 데이터를 자산화하고 이용할 수 있도록 합니다.
- 탐색탐색은 Google Cloud 스토리지 시스템에서 제공하는 메타데이터를 검색하는 행위입니다. 현재(2021년 7월) 기준, GCP에서는 4가지 스토리지 시스템에서 메타데이터를 탐색할 수 있도록 제공하고 있습니다.
각 스토리지 시스템에서 검색가능한 메타데이터는 다음과 같습니다.
스토리지 시스템 | 기술 메타데이터 | 비즈니스 메타데이터 |
BigQuery | ▪ 데이터세트, 테이블, 뷰, 컬럼– 이름, 설명, 라벨(key/value) 등 | ▪ 사용자 정의 메타데이터 |
Pub/Sub | ▪ 토픽 이름 | |
Cloud Storage | ▪ 사용자 정의 메타데이터 – 파일세트, 항목그룹 | |
dataproc metastore | ▪ 인스턴스, 데이터베이스, 테이블, 컬럼– 이름, 설명 | ▪ 사용자 정의 메타데이터 |
표1에서 볼 수 있듯이 Data Catalog 서비스를 통해 두 가지 유형의 메타데이터를 탐색할 수 있습니다. 기술 메타데이터는 GCP 스토리지 시스템에서 기본적으로 제공하는 메타데이터로 데이터 자산을 탐색하기 위해 Data Catalog 관리자의 추가 작업이 필요하지 않습니다. 반면에 비즈니스 메타데이터는 조직의 다양한 목적에 따라 데이터 자산을 분류한 정보로 하나의 데이터세트를 여러 목적에 따라 다양하게 분류하여 탐색 될 수 있도록 합니다.
- 분류Data Catalog는 GCP 내 데이터 자산을 데이터를 활용하는 조직의 여러 관점에 따라 데이터가 탐색될 수 있도록 자산의 분류 기준을 정의하고, 해당 데이터 자산에 그 정보를 매핑시키는 작업입니다. 이러한 사용자 관점의 자산 분류 기준을 ‘태그 템플릿(Tag Template)이라고 하며, 데이터 자산에 매핑시키는 작업을 ‘태깅한다’라고 합니다.
4. Data Catalog를 이용한 BigQuery 데이터 자산 탐색 및 분류
이제 GCP 내의 BigQuery 데이터 자산을 탐색하는 기본적인 방법을 알아보고, 사용자 관점에서 데이터 자산을 분류하기 위한 기준(태그 템플릿)을 정의한 후 테이블에 태그하여, 태깅된 정보(비즈니스 메타데이터)를 기반으로 탐색하는 방법을 알아보도록 하겠습니다.
- BigQuery 데이터 자산 검색 방법기본적으로 데이터 자산의 검색은 Cloud IAM 정책을 통해 조회할 수 있는 권한이 부여된 대상만 조회가 가능합니다.
Google Cloud Console에 로그인 후 ‘Data Catalog > 검색’ 메뉴로 이동합니다.
[그림 3]에서 1)의 필터를 통해 검색 범위를 줄이고, 2)의 입력창에 검색구문을 입력해 원하는 데이터를 포함한 자산을 검색할 수 있습니다.
예를 들어, BigQuery의 테이블 중 이름에 ‘DATE’가 포함된 테이블을 찾는다면 어떻게 해야할까요?
[그림4]와 같이 필터 체크박스에서 BigQuery, 테이블로 검색되도록 범위를 한정시키고, 검색창에서 “name:DATE”라는 구문을 입력해 검색함으로써 원하는 결과를 얻을 수 있습니다.
Data Catalog 콘솔에서는 이와 같은 방식으로 쉽게 BigQuery 데이터 자산을 탐색할 수 있습니다. 다만, 더 복잡한 조건으로 정확히 원하는 대상을 검색하려면 구문을 더 상세히 입력을 해야합니다.
BigQuery 기술 메타데이터 기반으로 데이터 자산을 검색하기 위해 검색 항목별 참고할 수 있는 구문[5]은 다음과 같습니다.
- 테이블 정보 검색
- 컬럼 정보 검색
이와 같이 GCP에서 기본적으로 제공하는 메타데이터를 기반으로도 BigQuery 데이터 자산을 쉽게 탐색할 수 있습니다.
- 사용자 정의 자산 분류 방법Google Cloud는 조직 내 다양한 니즈가 있는 여러 그룹에서 각자 목적에 맞게 데이터 자산을 분류하고 검색할 수 있는 기능을 제공합니다. 사용자가 직접 정의하는 메타데이터를 비즈니스 메타데이터라고 하며, Data Catalog에서는 이를 ‘태그 탬플릿’이라는 기능으로 구현합니다.
[그림7]은 테이블과 컬럼에 여러 비즈니스 메타데이터 태그가 연결된 예시를 보여줍니다.
“cust_tbl”이라는 하나의 테이블을 데이터수집(data ingestion) 관점, 데이터 거버넌스(data governance) 관점, 데이터 품질(data quality) 관점으로 분류하여 각 관점별로 해당 테이블이 탐색되도록 하였습니다. 여기에서 각 관점이 ‘태그 템플릿’입니다.
- 태그 템플릿 활용 예시태그 탬플릿은 필드라는 메타데이터 키-값 쌍의 모음입니다. 만약 데이터 품질 관리 부서에서 데이터 품질 정보를 관리하기 위한 메타데이터를 정의한다면, [그림8]과 같이 태그 템플릿을 정의할 수 있습니다.
[그림8]의 “data quality”라는 태그 탬플릿은 ‘품질검사일시, 품질점수, 데이터소유자’ 정보를 테이블에 태깅하고 품질 검사를 수행할 때마다 해당 값을 업데이트 할 수 있습니다.
그리고 데이터 품질 관리부서는 주기적으로 데이터 품질 점검 실태를 Data Catalog를 통해 확인할 수 있습니다. 예를 들면, 데이터 품질 점수가 100점이 아닌 테이블을 찾아서 해당 테이블의 오너쉽을 갖는 부서에 연락해 품질 개선을 요청할 수 있습니다.
태그 템플릿 정보를 기반으로 검색하는 방법은 다른 메타데이터를 검색하는 방법과 동일합니다. 필터에서 태그 템플릿을 선택한 후 검색창에서 검색조건 구문을 입력하면 됩니다.
태그 템플릿의 필드는 5가지 데이터 유형을 지원합니다. 다음과 같이 검색에 이용하는 필드의 데이터 유형에 따라 구문이 달라지므로 구문 작성 방법[5]을 참고하여 정확한 검색 구문을 입력해야 합니다.
- 태그 템플릿 필드의 데이터 유형별 검색 구문 예시
데이터 유형 | 사용 예시 |
일시 | expiredDate 태그가 2019-01-01인 데이터 자산 검색예시 : tag:expiredDate:2019-01-01 |
DOUBLE | 데이터 품질 점수가 100점 미만인 데이터 자산을 검색예시 : tag:data_quality.data_quality_score<100 |
문자열 | 데이터 오너부서가 ‘hr’인 데이터 자산을 검색 예시 : tag:data_quality.data_owner:hr |
BOOL | 품질 점검을 통가한 데이터 자산을 검색 예시 : tag:data_quality.pass_yn=true |
ENUM | 데이터 품질 평가 등급이 ‘HIGHEST’인 데이터 자산을 검색 예시 : tag:quality_level_1=HIGHEST |
5. 요약
지금까지 Data Catalog를 이용하여 BigQuery 데이터를 자산화하고 탐색하는 방법을 설명하였습니다. GCP에서 기본적으로 제공하는 기술 메타데이터를 이용해서도 쉽게 데이터 자산을 탐색할 수 있는 것을 확인하였으며, 태그 템플릿 정의를 통해 조직의 여러 관점으로 데이터 자산을 재분류하고 탐색할 수 있는 기능도 확인해 보았습니다.
Data Catalog는 BigQuery, Cloud Storage 등의 GCP 데이터스토리지 시스템 뿐 아니라, 외부 데이터베이스나 데이터소스로부터의 메타데이터를 수집하고 탐색할 수 있는 기능을 제공하고 있습니다. 해당 기능들을 함께 사용하면 기업의 여러 데이터 자산을 통합 관리할 수 있으므로 필요시 참고하실 수 있습니다.
출처 및 참고사이트
- Data Catalog 개요 : https://cloud.google.com/data-catalog/docs/concepts/overview?hl=ko
- Cloud Storage 메타데이터 : https://cloud.google.com/data-catalog/docs/how-to/filesets?hl=ko
- 태그 및 태그 탬플릿 : https://cloud.google.com/data-catalog/docs/tags-and-tag-templates?hl=ko
- Dataproc Metastore에서 Data Catalog로 동기화 : https://cloud.google.com/dataproc-metastore/docs/data-catalog-sync?hl=ko
- Data Catalog 구문 검색 : https://cloud.google.com/data-catalog/docs/how-to/search-reference?_ga=2.197552367.-1522478937.1620260702
- 테이블 태그하기 : https://cloud.google.com/data-catalog/docs/quickstart-tagging