데이터 계보 정보

데이터 계보는 시스템을 통해 데이터가 이동하는 방식, 즉 데이터의 출처, 데이터가 전달되는 위치, 데이터에 적용되는 변환을 추적할 수 있는 Dataplex 기능입니다.

데이터 계보가 필요한 이유는 무엇인가요?

큰 데이터 세트를 처리할 때는 텍스트 파일, 테이블, 보고서, 대시보드, 모델 등 특정 프로젝트의 요구에 맞는 항목으로 데이터를 변환하는 경우가 많습니다.

예를 들어 단일 SQL 테이블에 모든 구매를 기록하는 온라인 상점이 있다고 가정해 보겠습니다. 분석가가 데이터를 더 쉽게 사용할 수 있도록 이 단일 테이블에서 정보를 추출하고 리전, 브랜드 또는 할인가로 더 작은 테이블을 생성하는 작업을 실행하기 시작합니다. 그런 다음 분석가도 같은 작업을 수행하기 시작합니다. 즉, 작은 테이블을 다른 데이터 소스와 병합하여 더 많은 테이블을 생성합니다.

이는 이해관계자에게 큰 문제가 될 수 있습니다.

  • 데이터 소비자는 셀프서비스 도구를 통해 데이터가 신뢰할 수 있는 소스에서 오는지 여부를 파악할 수 없습니다.
  • 모든 데이터 변환을 추적하는 신뢰할 수 있는 방법이 없기 때문에 데이터 엔지니어가 문제를 일으킬 수 없습니다.
  • 데이터 엔지니어와 분석가는 테이블을 수정하거나 삭제하기 전에 영향을 완전히 평가할 수 없습니다.
  • 데이터 거버넌스 담당자는 조직 전체에서 민감한 정보가 사용되는 방식을 이해하고 규제 요건을 준수하도록 보장할 수 없습니다.

데이터 계보는 다음과 같은 실질적인 방법을 제공하는 솔루션입니다.

  • 계보 그래프 시각화를 통해 데이터를 얻고 변환하는 방법을 알아보세요.
  • 항목 및 데이터 작업과 관련된 오류의 근본 원인을 추적합니다.
  • 영향 분석을 통해 변경 관리 개선: 다운타임 또는 예기치 않은 오류 방지, 종속 항목 이해, 관련 이해관계자와 공동작업을 수행합니다.

계보 시각화 그래프

계보 그래프는 특정 Data Catalog 항목에 대해 Data Lineage API에서 수집한 정보를 나타냅니다.

샘플 그래프는 변환되는 두 테이블의 데이터를 새 테이블로 병합한 후 하단에 SQL 코드가 도킹된 세부정보 패널을 보여줍니다.
그림 1. Dataplex UI의 계보 시각화 그래프 예시

Dataplex는 Data Lineage API와 함께 정규화된 이름이 데이터 계보에서 인식되는 항목과 일치하는 항목을 식별합니다. 일치하는 Dataplex 항목의 경우 세부정보 페이지에서 계보 탭에 액세스하여 그래프를 볼 수 있습니다.

계보 그래프에는 두 가지 유형의 요소가 표시됩니다.

  • 계보 정보를 계보 이벤트의 소스 또는 대상으로 구성하는 데 사용되는 항목을 나타내는 넙적한 직사각형 버튼
  • 소스 또는 대상 항목을 만들거나 업데이트하는 프로세스를 나타내는 더 작은 사각형 버튼입니다. 프로세스 버튼은 Data Lineage API에 보고된 소스 시스템과 관련된 아이콘을 사용합니다. 예를 들어 BigQuery 작업은 BigQuery 계보 프로세스 아이콘 아이콘을 사용합니다.

데이터 계보 정보 모델

계보는 기본적으로 소스에서 대상으로 변환되는 데이터의 레코드입니다. Data Lineage API는 이러한 정보를 수집하고 프로세스, 실행, 이벤트의 개념을 사용하여 계층적 데이터 모델로 구성합니다.

프로세스

프로세스는 특정 시스템에서 지원되는 데이터 변환 작업의 정의입니다. BigQuery 계보와 관련하여 process지원되는 작업 유형 중 하나입니다.

실행

실행이란 프로세스의 실행입니다. 프로세스는 여러 번 실행될 수 있습니다. 실행에는 시작 및 종료 시간, 상태 또는 추가 속성과 같은 세부정보가 포함됩니다. 자세한 내용은 run 리소스 참조를 확인하세요.

이벤트

이벤트는 데이터 변환 작업이 발생하고 소스와 대상 항목 간에 데이터가 이동된 특정 시점을 나타냅니다.

이벤트는 특정 이벤트에서 어떤 항목이 소스 및 대상인지 정의하는 링크 목록을 포함합니다. 이벤트는 계보 시각화 그래프를 계산하는 데 사용되지만 Google Cloud 콘솔에 직접 노출되지 않습니다. Data Lineage API를 사용하여 이벤트를 만들고, 읽고, 삭제할 수 있지만 업데이트할 수는 없습니다.

BigQuery 테이블 간에 데이터가 복사되는 다음 예시를 살펴보세요.

이 예시에서는 customer_year라는 테이블에서 데이터를 추출하고 고객이 top_customer라는 테이블을 도출합니다.
그림 2. 테이블 데이터 소스를 보여주는 그래프 예시

테이블 간의 데이터 이동은 계보 프로세스(그래프에 BigQuery 계보 프로세스 아이콘 아이콘으로 표현됨)로 설명됩니다. SQL CREATE TABLE AS SELECT 쿼리 또는 INSERT 문을 사용할 수도 있습니다.

각 SQL 문 실행은 개별 실행으로 구성됩니다. 실행에는 이벤트가 포함됩니다. 소스로 사용된 테이블과 대상으로 사용된 테이블을 기록합니다. 이 예시에서 customer_yearcustomers 테이블은 모두 대상 top_customer 테이블의 소스입니다.

자동화된 데이터 계보 추적

Data Lineage API를 사용 설정하면 데이터 계보를 지원하는 Google Cloud 시스템에서 데이터 이동을 보고하기 시작합니다. 각 통합 시스템은 다양한 데이터 소스의 계보 정보를 제출할 수 있습니다. 지원되는 모든 제품에 대한 자세한 내용은 다음 섹션을 참조하세요.

BigQuery

BigQuery 프로젝트에서 데이터 계보를 사용 설정하면 Dataplex가 다음 항목에 대한 계보 정보를 자동으로 기록합니다.

BigQuery 복사, 쿼리, 로드 작업은 프로세스(계보 시각화 그래프에서 돋보기 아이콘 을 클릭하여 프로세스 세부정보 확인)로 표현됩니다. 각 프로세스에는 최신 BigQuery 작업의 속성 목록의 BigQuery job_id가 포함되어 있습니다.

기타 서비스

데이터 계보는 다음 Google Cloud 서비스와의 통합을 지원합니다.

커스텀 데이터 소스의 데이터 계보

Dataplex의 Data Lineage API를 사용하여 통합 시스템에서 지원하지 않는 모든 데이터 소스의 계보 정보를 수동으로 기록할 수 있습니다.

기존 Data Catalog 항목의 정규화된 이름과 일치하는 fullyQualifiedNames를 사용하면 Dataplex에서 수동으로 기록된 계보에 대한 시각화 그래프를 만들 수 있습니다. 커스텀 데이터 소스의 계보를 기록하려면 먼저 커스텀 Data Catalog 항목을 만듭니다

커스텀 데이터 소스의 각 프로세스에는 속성 목록에 sql 키가 포함될 수 있습니다. 이 키의 값은 데이터 계보 그래프의 세부정보 패널에서 코드 강조표시를 렌더링하는 데 사용됩니다. SQL 문은 제공된 대로 표시됩니다. 사용자는 민감한 정보를 필터링할 책임이 있습니다. 키 이름 sql은 대소문자를 구분합니다.

OpenLineage

이미 OpenLineage를 사용하여 다른 데이터 소스에서 계보 정보를 수집하는 경우 OpenLineage 이벤트를 Dataplex로 가져와 Google Cloud 콘솔에 이러한 이벤트를 표시할 수 있습니다. 자세한 내용은 OpenLineage와 통합을 참조하세요.

현재 기능 제한사항

  • 모든 계보 정보는 30일 동안만 시스템에 보관됩니다.
  • 계보 정보는 관련 데이터 소스를 삭제한 후에도 유지됩니다. 즉, BigQuery 테이블과 해당 Data Catalog 항목을 삭제해도 API를 사용하여 해당 테이블의 계보를 최대 30일 동안 반환합니다.

데이터 계보 액세스

다음을 사용하여 데이터 계보 기능에 액세스할 수 있습니다.

다음 단계