데이터 계보 정보

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

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

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

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

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

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

데이터 계보는 다음과 같은 작업을 실용적인 방법으로 수행할 수 있는 솔루션입니다.

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

데이터 계보 정보 모델

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

프로세스

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

실행

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

이벤트

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

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

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

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

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

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

계보 시각화 그래프

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

샘플 그래프는 변환하여 새 테이블로 병합된 두 테이블의 데이터를 보여줍니다. 하단에 SQL 코드를 보여주는 세부정보 패널이 고정되어 있습니다.
그림 2. Dataplex Google Cloud 콘솔의 계보 시각화 그래프 예시

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

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

  • 계보 정보를 계보 이벤트의 소스 또는 대상으로 구성하는 데 사용되는 항목을 나타내는 넙적한 직사각형 버튼

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

계보 목록 보기

계보 목록 보기는 단일 테이블의 항목에 대한 상세 계보 정보를 표시합니다.

상대적으로 작은 계보 그래프를 보는 데 더 적합한 계보 시각화 그래프와 달리 계보 목록 보기를 사용하면 연결이 많은 항목의 계보 정보를 볼 수 있습니다.

다음 이미지에서는 Google Cloud 콘솔의 계보 목록 보기 예시를 보여줍니다. 목록에서는 이미지를 자세히 설명합니다.

Google Cloud 콘솔의 계보 목록 보기 예시
그림 3. Google Cloud 콘솔의 계보 목록 보기 예시
  • 테이블의 각 행은 두 항목 간의 단일 계보 링크를 나타냅니다. 그래프에서 이러한 이름은 두 항목 간의 계보 링크로 표시되며, 여기에는 두 항목 간의 프로세스 노드도 포함됩니다. 예를 들어 SourceTarget은 애셋 노드이며 이 사이에 여러 프로세스 노드가 있을 수 있습니다.

  • 방향 옵션은 루트 애셋과 관련하여 목록에 표시할 데이터 흐름 부분을 지정합니다.

    • 업스트림: 선택한 항목의 데이터 소스인 항목에 대한 계보 정보를 표시합니다. 계보 그래프에서 이러한 항목은 선택한 항목 왼쪽에 표시되는 항목입니다.

    • 다운스트림: 선택한 항목을 사용하거나 선택한 항목에서 파생된 항목의 계보 정보를 표시합니다. 계보 그래프에서 이러한 항목은 선택한 항목 오른쪽에 표시되는 항목입니다.

  • 시간 범위 옵션을 사용하면 계보가 발생한 시간을 기준으로 계보 정보를 필터링할 수 있습니다.

    • 시작 시간: 시작 시간 이후에 발생한 계보를 표시합니다.

    • 종료 시간: 종료 시간 전에 발생한 계보를 표시합니다.

  • 깊이는 소스 또는 파생 리소스가 루트 리소스에서 얼마나 멀리 떨어져 있는지를 나타냅니다. 목록 보기에는 계보 링크가 최대 1,000개까지 표시되며 루트에서의 최대 깊이는 계보 링크 10개입니다. 이 범위를 벗어난 계보가 있으면 알림이 전송됩니다. 목록 보기에서 다른 항목 이름을 선택하여 이 범위를 벗어난 계보를 확인할 수 있습니다.

  • 세부정보 패널에는 링크의 소스, 링크의 타겟, 이 링크를 만든 모든 프로세스에 대한 정보가 표시됩니다.

  • 테이블에 표시되는 열을 맞춤설정하고 결과를 필터링할 수 있습니다. 또한 결과를 CSV 파일로 내보낼 수 있습니다.

자동화된 데이터 계보 추적

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일 동안 계속 읽을 수 있습니다.

데이터 계보 액세스

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

  • Google Cloud 콘솔의 Dataplex 웹 인터페이스에 있는 항목 세부정보 페이지 계보 그래프 보기를 참조하세요.
  • Google Cloud 콘솔의 BigQuery 웹 인터페이스에 있는 테이블 세부정보 페이지 계보 그래프 보기를 참조하세요.
  • Google Cloud 콘솔의 Vertex AI 웹 인터페이스에 있는 데이터 세트 및 Model Registry 페이지 계보 그래프 보기를 참조하세요.
  • Data Lineage API

가격 책정

  • Dataplex는 프리미엄 처리 SKU를 사용하여 데이터 계보 요금을 청구합니다. 자세한 내용은 가격 책정을 참조하세요.

  • 데이터 계보 요금을 Dataplex 프리미엄 처리 SKU의 다른 요금과 구분하려면 Cloud Billing 보고서에서 goog-dataplex-workload-type 값과 함께 LINEAGE 라벨을 사용합니다.

  • CUSTOM이 아닌 값으로 Data Lineage API Origin sourceType을 호출하면 추가 비용이 발생합니다.

다음 단계