데이터 계보 정보

데이터 계보는 데이터의 전체 수명 주기를 추적하는 시각적 지도입니다. 데이터 출처, 이동 경로(대상), 이동 중에 발생하는 모든 변경사항 또는 변환을 보여줍니다.

Knowledge Catalog (이전 명칭: Dataplex Universal Catalog), BigQuery (Iceberg REST 카탈로그용으로 생성된 외부 테이블 포함), Vertex AI와 같은 제품에서 생성된 애셋의Google Cloud 콘솔에서 데이터 여정의 전체 지도를 직접 볼 수 있습니다. 워크플로는 여러 리전에 걸쳐 있는 경우가 많으므로 Knowledge Catalog는 전역 Google Cloud 생태계에서 데이터의 여정을 통합적으로 볼 수 있는 멀티 리전 계보를 지원합니다. 고급 사용자는 Data Lineage API를 사용하여 이 정보를 검색할 수도 있습니다.

데이터 계보가 필요한 이유

현대 기업은 대량의 데이터를 지속적으로 이동하고 변경합니다. 예를 들어 원시 고객 구매를 보고서, 대시보드, 머신러닝 모델로 변환합니다. 이러한 복잡성으로 인해 팀에 다음과 같은 심각한 문제가 발생합니다.

  • 신뢰 및 확인 데이터 사용자는 자신이 보고 있는 보고서와 숫자가 정확하고 신뢰할 수 있는 소스에서 제공되는지 확인하기 어려운 경우가 자주 있습니다.

  • 문제 해결 최종 보고서에 오류가 표시되면 데이터팀에서 모든 단계를 거쳐 문제 근본 원인을 추적하는 데 곤란함을 겪고 시간이 오래 걸릴 수 있습니다.

  • 변경 관리 테이블의 열과 같은 데이터를 변경하거나 삭제하기 전에 팀은 중요한 시스템이 중단되지 않도록 이 데이터를 사용하는 모든 다운스트림 보고서나 모델을 알아야 합니다.

  • 규정 준수. 리더는 규제 요구사항을 충족하기 위해 조직 전체에서 민감한 정보 (예: 고객 또는 금융 정보)가 사용되는 방식을 파악해야 합니다.

데이터 계보는 데이터의 명확하고 시각적이며 문서화된 여정을 제공함으로써 이러한 문제를 해결합니다. 이를 통해 데이터 소스를 파악하고 오류를 추적하고 변경사항의 영향을 평가하며 규정 준수를 유지할 수 있습니다.

데이터 계보 작동 방식

데이터 계보 워크플로에는 다음 단계가 포함됩니다.

  1. 데이터 소스 및 수집: 데이터 소스의 계보 정보에서 전체 프로세스를 시작합니다.

    • Google Cloud 서비스: Data Lineage API가 사용 설정되면 BigQuery 및 Dataflow와 같은 지원되는 서비스에서 데이터가 이동하거나 변환될 때마다 계보 이벤트를 자동으로 보고합니다.

    • 커스텀 소스:Google Cloud 통합에서 자동으로 지원하지 않는 시스템의 경우 Data Lineage API를 사용하여 계보 정보를 수동으로 기록할 수 있습니다. OpenLineage 표준에 따라 형식이 지정된 이벤트를 가져오는 것이 좋습니다.

  2. 계보 플랫폼: 이 중앙 플랫폼은 모든 계보 데이터를 수집, 모델링, 저장합니다.

    • Data Lineage API: 이 API는 모든 수신 계보 정보의 단일 진입점 역할을 합니다. 프로세스, 실행, 이벤트 등 세 가지 핵심 개념으로 구성된 계층적 데이터 모델을 사용합니다.

    • 처리 및 스토리지: 플랫폼은 수신 데이터를 처리하고 쿼리에 최적화된 신뢰할 수 있는 데이터베이스에 저장합니다.

  3. 사용자 경험: 다음 두 가지 기본 방법으로 저장된 계보 정보와 상호작용할 수 있습니다.

    • 시각적 탐색: Google Cloud 콘솔에서 프런트엔드 서비스가 계보 데이터를 가져와 대화형 그래프나 목록으로 렌더링합니다. Knowledge Catalog, BigQuery, Lakehouse(Iceberg REST 카탈로그 테이블의 경우), 실제 레이어(Cloud Storage), Vertex AI(모델, 데이터 세트(파이프라인을 통해), Feature Store 뷰, 특성 그룹)에 지원됩니다. 데이터 여정을 시각적으로 탐색하는 데 적합합니다.

    • 프로그래매틱 방식으로 액세스: API 클라이언트를 사용하면 Data Lineage API와 직접 통신하여 계보 관리를 자동화할 수 있습니다. 이렇게 하면 커스텀 소스에서 계보 정보를 작성할 수 있습니다. 또한 다른 애플리케이션에서 사용하거나 맞춤 보고서를 빌드할 수 있도록 저장된 계보 데이터를 읽고 쿼리할 수 있습니다.

데이터 계보에 어떤 방법을 사용해야 하나요?

즉각적인 단일 수준 조회를 실행하려면 SearchLinks 메서드를 사용하세요. 전체 계보 그래프를 빌드하거나 심층 영향 분석 (최대 100개 수준)을 실행하려면 SearchLineageStreaming 메서드를 사용하세요.

사용 사례에 따라 가장 적합한 방법을 선택하세요.

기능 SearchLinks SearchLineageStreaming
깊이 1단계 (직접 이웃) 최대 100개 레벨
실행 동기식 실시간 스트리밍
사용 사례 직접 소스 또는 타겟의 간단한 조회 전체 계보 그래프 빌드 또는 영향 분석 실행

방향 식별

  • 업스트림 (출처):
    • SearchLinks에서 target 필드를 애셋의 FQN으로 설정합니다.
    • SearchLineageStreaming에서 directionUPSTREAM로 설정합니다.
  • 다운스트림 (대상):
    • SearchLinks에서 source 필드를 애셋의 FQN으로 설정합니다.
    • SearchLineageStreaming에서 directionDOWNSTREAM로 설정합니다.

데이터 계보 정보 모델

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

개념 설명
프로세스 데이터 변환 정의입니다.
실행 프로세스의 실행입니다.
이벤트 실행 중 데이터 이동 기록

계보 프로세스란 무엇인가요?

프로세스는 특정 시스템의 데이터 변환 작업 정의입니다. BigQuery 계보에서 프로세스는 지원되는 작업 유형 작업입니다. 같은 SQL 쿼리의 모든 실행은 단일 프로세스에 연결되므로 특정 변환 로직이 사용되는 모든 인스턴스를 추적할 수 있습니다.

예를 들어 다음 SQL 쿼리는 프로세스입니다. 이 쿼리는 두 소스 테이블에서 각 공급업체의 총 주행 수를 집계하여 테이블을 만듭니다.

  CREATE TABLE `dataplex-docs.data_lineage_demo.total_green_trips_22_21`
  AS
  SELECT
      vendor_id,
      COUNT(*) AS number_of_trips
  FROM
      (
          SELECT vendor_id
          FROM `dataplex-docs.data_lineage_demo.nyc_green_trips_2022`
          UNION ALL
          SELECT vendor_id
          FROM `dataplex-docs.data_lineage_demo.nyc_green_trips_2021`
      )
  GROUP BY
      vendor_id;

프로세스의 REST 리소스 이름 형식은 projects/PROJECT_NUMBER/locations/LOCATION/processes/PROCESS_ID입니다.

예를 들면 다음과 같습니다. projects/123456789123/locations/us/processes/sh-0548bbf4ff3c8072a6c7372ba1acafb6

process 리소스에 대한 자세한 내용은 프로세스 리소스 참조를 확인하세요.

계보 실행이란 무엇인가요?

실행은 프로세스의 단일 실행입니다. 프로세스는 여러 번 실행될 수 있습니다.

각 실행은 startTime, endTime, 최종 상태(예: COMPLETED, FAILED, ABORTED)로 특성화된 고유한 작업입니다.

예를 들어 오전 9시에 프로세스 섹션에서 SQL 쿼리를 실행하면 특정 실행이 생성됩니다. 오전 10시에 같은 쿼리를 다시 실행하면 새로운 별도의 실행이 생성됩니다. 두 실행 모두 같은 상위 프로세스에 연결됩니다.

실행의 REST 리소스 이름 형식은 실행이 projects/PROJECT_NUMBER/locations/LOCATION/processes/PROCESS_ID/runs/RUN_ID 프로세스의 하위 요소임을 보여줍니다.

예를 들면 다음과 같습니다. projects/123456789123/locations/us/processes/sh-0548bbf4ff3c8072a6c7372ba1acafb6/runs/83dd03a51cd2ac80f465c9e267a950b1

run 리소스에 대한 자세한 내용은 실행 리소스 참조를 확인하세요.

계보 이벤트란 무엇인가요?

이벤트는 데이터 변환에서 소스와 대상 항목 간에 데이터를 이동하는 특정 시점을 나타냅니다. 이벤트는 특정 실행의 소스 테이블과 대상 테이블을 연결하는 특정 데이터 이동의 세부 레코드입니다. 이벤트에는 소스와 대상이 여러 개 있을 수도 있습니다.

예를 들어 실행에서 프로세스 섹션에 설명된 SQL 쿼리를 실행하면 계보 이벤트는 nyc_green_trips_2021nyc_green_trips_2022 소스 테이블이 total_green_trips_22_21 대상 테이블을 만드는 데 사용된다고 기록합니다.

계보 이벤트에는 소스와 대상을 정의하는 링크 목록이 포함됩니다. 이벤트는 계보 그래프를 만드는 데 사용됩니다. Google Cloud 콘솔에는 이러한 계보 그래프가 표시되지만 개별 이벤트는 직접 표시되지 않습니다. Data Lineage API를 사용하여 이벤트를 만들고 읽고 삭제할 수 있지만 업데이트할 수는 없습니다.

이벤트에 있는 각 링크는 소스 항목에서 대상 항목으로의 단일 데이터 흐름 경로를 정의합니다. 항목은 BigQuery 테이블과 같은 데이터 애셋에 대한 참조이며 정규화된 이름(FQN)으로 식별됩니다. 단일 이벤트에 링크가 여러 개 포함될 수 있습니다. 이는 여러 소스가 대상 하나에 기여하는 테이블 조인과 같은 작업에서 흔히 발생합니다.

이벤트가 열 수준 계보를 지원하는 방법에 대한 자세한 내용은 열 수준 계보를 참고하세요.

데이터 계보에 지원되는 데이터 소스는 무엇인가요?

다음과 같은 방법으로 Knowledge Catalog에 계보 정보를 채울 수 있습니다.

  • 통합 Google Cloud 서비스에서 자동으로 채웁니다.
  • 커스텀 소스용 Data Lineage API를 사용하여 수동으로 채웁니다.
  • OpenLineage에서 이벤트를 가져와 채웁니다.

BigQuery

BigQuery 프로젝트에서 데이터 계보를 사용 설정하면 Knowledge Catalog에서 다음 계보 정보를 자동으로 기록합니다.

BigQuery 복사, 쿼리, 로드 작업은 프로세스로 표현됩니다.

프로세스 세부정보를 보려면 계보 그래프에서 프로세스 세부정보 아이콘 세부정보를 처리합니다.을 클릭합니다.

각 프로세스에는 최신 BigQuery 작업에 대한 속성 목록의 BigQuery job_id가 포함되어 있습니다.

기타 서비스

데이터 계보는 다음Google Cloud 서비스와 통합될 수 있습니다.

  • Cloud Data Fusion

    프로젝트에서 Data Lineage API가 사용 설정된 경우 계보 추적을 Cloud Data Fusion으로만 제한할 수 없습니다.

  • Dataflow

    Dataflow 작업으로 계보 이벤트를 캡처하여 Data Lineage API에 게시할 수 있습니다.

  • Iceberg REST 카탈로그 테이블용 레이크하우스

  • Looker (Google Cloud 핵심 서비스) (미리보기)

    데이터 계보를 사용하여 BigQuery 소스에서 Looker (Google Cloud 핵심 서비스) 메타데이터를 시각화하는 기능이 지원됩니다. 데이터 계보는 Looker (Google Cloud 핵심 서비스) 리소스 수준과 데이터 계보 서비스 수준에서 사용 설정해야 합니다.

  • Managed Service for Apache Airflow

    Managed Airflow는 환경 수준 데이터 계보 통합 제어를 사용합니다. 요구사항을 충족하는 모든 새 Managed Airflow 환경에 데이터 계보가 자동으로 사용 설정됩니다. 기존 환경의 경우 환경 설정을 사용하여 데이터 계보 통합을 사용 설정하거나 사용 중지합니다. Managed Airflow의 데이터 계보 수집을 구성하여 자동 데이터 계보 수집을 사용 설정하거나 비활성화할 수 있습니다.

  • Managed Service for Apache Spark: Apache Hive 클러스터

    Managed Service for Apache Spark Hive 작업을 사용하여 계보 이벤트를 캡처하고 Data Lineage API에 게시할 수 있습니다. Managed Service for Apache Spark의 데이터 계보 수집을 구성하여 자동 데이터 계보 수집을 사용 설정하거나 비활성화할 수 있습니다.

  • Managed Service for Apache Spark: Apache Spark 클러스터

    Managed Service for Apache Spark Spark 작업으로 계보 이벤트를 캡처하고 Data Lineage API에 게시할 수 있습니다. Managed Service for Apache Spark의 데이터 계보 수집을 구성하여 자동 데이터 계보 수집을 사용 설정하거나 비활성화할 수 있습니다.

  • Managed Service for Apache Spark: 서버리스 배포

    Managed Service for Apache Spark 서버리스 작업으로 계보 이벤트를 캡처하고 Data Lineage API에 게시할 수 있습니다. Managed Service for Apache Spark의 데이터 계보 수집을 구성하여 자동 데이터 계보 수집을 사용 설정하거나 비활성화할 수 있습니다.

  • Vertex AI Feature Store

    데이터 계보는 Feature Store 뷰 및 특성 그룹의 메타데이터를 추적합니다.

  • Vertex AI Pipelines

    데이터 계보는 Vertex AI Pipelines 파이프라인에 자동으로 사용 설정되어 입력 아티팩트와 실행 매개변수 (예: 모델, 데이터 세트, 구성요소)는 물론 다운스트림 파생 애셋을 추적합니다.

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

Data Lineage API를 사용하여 통합 시스템에서 지원하지 않는 데이터 소스(예: 외부 데이터베이스 또는 온프레미스 파이프라인)의 계보 정보를 수동으로 기록할 수 있습니다. 기존 Knowledge Catalog 항목의 정규화된 이름과 일치하는 fullyQualifiedName을 사용하면 Knowledge Catalog에서 수동으로 기록된 계보에 대한 계보 그래프를 만들 수 있습니다. 커스텀 데이터 소스의 계보를 기록하려면 먼저 커스텀 항목을 만들어야 합니다.

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

예를 들어 맞춤 sql 속성이 있는 프로세스 리소스 페이로드는 다음과 같습니다.

{
  "displayName": "custom-sql-query",
  "attributes": {
    "sql": "SELECT user_id, SUM(amount) FROM `project.dataset.purchases` GROUP BY user_id"
  }
}

자세한 내용은 외부 시스템 계보 정보 추적을 참고하세요.

OpenLineage

이미 OpenLineage를 사용하여 다른 데이터 소스에서 계보 정보를 수집하고 있으면 OpenLineage 이벤트를 Knowledge Catalog로 가져와 Google Cloud 콘솔에서 이러한 이벤트를 볼 수 있습니다. 자세한 내용은 OpenLineage와 통합을 참조하세요.

자동화된 데이터 계보 추적

Data Lineage API를 사용 설정하면 데이터 계보를 지원하는 Google Cloud 시스템에서 데이터 이동을 보고하기 시작합니다. 각 통합 시스템에서 다양한 데이터 소스의 계보 정보를 제출할 수 있습니다.

계보 수집 제어

계보 데이터 생성을 제어하면 비용과 거버넌스 정책을 관리하는 데 도움이 됩니다. 예를 들어 계보 추적이 필요하지 않은 개발 프로젝트나 대량 워크로드의 계보 수집을 사용 중지할 수 있습니다.

계보 수집을 구성하고 제어하는 방법은 서비스의 계보 수집 제어를 참고하세요.

멀티 리전 데이터 계보

데이터 계보는 본질적으로 지역화된 서비스입니다. 링크, 프로세스, 이벤트를 포함한 계보 메타데이터는 기본 데이터 변환 또는 애셋 수정이 발생하는 특정 지리적 위치 내에 안전하게 기록되고 격리됩니다.

최신 엔터프라이즈 데이터 아키텍처가 확장됨에 따라 파이프라인 워크플로가 프로젝트 및 지역 경계를 넘는 경우가 많습니다. 예를 들어 us-central1에서 실행되는 BigQuery 변환 파이프라인은 us-east1의 소스 테이블을 읽고 europe-west1에 있는 Cloud Storage 버킷에 집계된 측정항목을 출력할 수 있습니다.

이러한 독립적인 지리적 공간에서 데이터 수명 주기에 대한 포괄적인 엔드 투 엔드 뷰를 설정하려면 멀티 리전 계보 검색 방법을 사용하세요.

자세한 내용은 멀티 리전 계보 검색 정보를 참고하세요.

데이터 계보 고려사항 및 제한사항

데이터 거버넌스 전략을 계획할 때는 다음 계보 통합, 규정 준수 매개변수, 서비스 제한사항을 고려하세요.

제품 수준 계보 관리

Data Lineage API가 사용 설정되면 지원되는 시스템은 제품 수준 제어에 따라 계보를 보고합니다. 지원되는 시스템과 제어의 전체 목록은 데이터 계보에 지원되는 시스템을 참고하세요.

데이터 계보 규정 준수

  • 데이터 계보는 데이터 이동에 대한 메타데이터를 기록하지만 데이터 자체를 캡처하지는 않습니다. 메타데이터에 포함된 필드에 대한 자세한 내용은 데이터 계보 정보 모델Data Lineage API 참조를 확인하세요.
  • Knowledge Catalog의 일부인 데이터 계보는 VPC-SC 지원을 제공합니다.
  • Knowledge Catalog는 고객 관리 암호화 키 (CMEK)를 사용하여 수집된 계보 메타데이터를 보호하는 기능을 제공하지 않습니다.

데이터 계보 제한사항

데이터 계보에는 다음과 같은 제한사항이 있습니다.

  • 모든 계보 정보는 30일 동안만 시스템에 보관됩니다.

  • 계보 정보는 개발자가 관련 데이터 소스를 삭제한 후에도 유지됩니다. 예를 들어 BigQuery 테이블을 삭제해도 API와 콘솔을 통해 최대 30일 동안 계보를 계속 볼 수 있습니다.

  • 데이터 계보는 BigQuery 루틴의 직접 계보 정보를 자동으로 기록하지 않습니다. 쿼리에서 루틴이 사용되면 데이터 계보는 루틴에서 읽는 테이블 간 계보를 쿼리가 작성하는 테이블의 종속 항목으로 기록합니다.

다음과 같은 경우 계보 그래프에서 노드를 선택해도 노드 세부정보 측면 패널이 비어 있습니다.

  • 리소스가 다른 조직에 있습니다.
  • 사용자가 리소스를 호스팅하는 조직의 구성원이 아닙니다.

열 수준 계보 제한사항

열 수준 계보에는 다음과 같은 추가 제한사항이 있습니다.

  • BigQuery 로드 작업이나 루틴에 대한 열 수준 계보는 수집되지 않습니다.

  • 외부 테이블에 대한 업스트림 열 수준 계보는 수집되지 않습니다.

  • 작업에서 1,500개가 넘는 열 수준 링크를 만들면 열 수준 계보는 수집되지 않습니다. 이러한 경우에는 테이블 수준 계보만 수집됩니다.

  • 열 수준 계보 지원은 BigQuery 테이블의 최상위 열로 제한됩니다. 복잡한 유형 (예: STRUCT 또는 JSON) 내의 중첩 필드는 지원되지 않습니다.

  • 필드 매개변수를 사용한 검색 기능은 열 간 관계를 명시적으로 정의하는 링크에서만 작동합니다. 테이블 수준에서만 정의된 결과나 링크는 반환하거나 탐색하지 않습니다. 테이블 수준 링크와 열 수준 링크 간 검색은 지원되지 않습니다(예: 테이블 수준 링크와 관련된 모든 열을 찾거나 그 반대의 경우). API는 소스와 타겟 모두 필드를 지정하는 링크만 반환합니다.

  • _PARTITIONDATE_PARTITIONTIME과 같은 파티셔닝 열은 계보 그래프에서 인식되지 않으므로 파티션을 나눈 테이블에 대한 지원이 제한됩니다.

  • 콘솔 제한사항은 다음과 같습니다.

    • 계보 그래프 탐색은 각 방향으로 깊이 20단계와 링크 10,000개로 제한됩니다.

가격 책정

Knowledge Catalog는 프리미엄 처리 SKU(데이터 컴퓨팅 단위(DCU)로 측정)를 사용하여 데이터 계보 요금을 청구합니다. 요금 세부정보는 Knowledge Catalog 가격 책정을 참고하거나 Google Cloud 가격 계산기를 사용하세요.

비용 요인 및 청구 영향

데이터 계보 구현을 계획할 때는 다음 비용 요인을 고려하세요.

  • 프로젝트별 사용 설정 Data Lineage API는 프로젝트별로 실행됩니다. 데이터가 많은 프로젝트 워크플로에서 사용 설정하기 전에 청구 영향을 검토하세요.
  • 메타데이터 스토리지 및 검색 30일 보관 기간 동안 저장된 계보 메타데이터 (프로세스, 실행, 이벤트, 링크)는 메타데이터 스토리지 SKU에 따라 청구됩니다. Google Cloud 콘솔에서 계보를 보면 BigQuery 쿼리 또는 스캔 요금이 발생하지 않습니다.
  • BigQuery Omni. 계보 처리가 특정 리전에 분산되며 비용은 처리 과정이 수행되는 리전에 따라 달라집니다.
  • BigQuery 멀티 리전 데이터 세트. 멀티 리전 데이터 세트 (예: US 멀티 리전)를 사용하는 경우 BigQuery는 실제 데이터 센터 영역 간에 쿼리를 동적으로 라우팅합니다. 데이터 계보는 작업이 실행된 실제 위치 (예: us-east1)에서 쿼리 실행과 함께 실행됩니다. 따라서 Cloud Billing 인보이스에 리전 계보 DCU SKU 항목이 표시됩니다.
  • 맞춤 원본 소스 유형. CUSTOM 이외의 값으로 Data Lineage API Origin sourceType을 호출하면 추가 비용이 발생합니다.

비용 모니터링 및 제어

  • Cloud Monitoring 측정항목 제한 데이터 계보 DCU 소비는 서버리스 컴퓨팅에서 실행되며 dataplex.googleapis.com/* 아래의 실시간 시계열 측정항목을 Cloud Monitoring에 내보내지 않습니다.
  • Cloud Billing에서 비용 필터링 및 속성 지정 Knowledge Catalog 프리미엄 처리 SKU의 데이터 계보 요금을 다른 요금과 구분하고 귀속시키려면 Cloud Billing 보고서 또는 Cloud Billing을 BigQuery로 내보내기에서 LINEAGE 값과 함께 goog-dataplex-workload-type 라벨을 사용합니다. 자세한 쿼리 예시는 Cloud Billing 내보내기로 Knowledge Catalog DCU 비용 모니터링 및 기여도 분석을 참고하세요.
  • 개발 프로젝트에서 사용 중지 불필요한 처리 비용을 방지하려면 계보 추적이 필요한 프로젝트에서만 Data Lineage API를 사용 설정하세요.
  • 요금 청구 중지 Data Lineage API는 Dataplex API와 별도로 요금이 청구됩니다. Dataplex API를 사용 중지해도 Data Lineage API가 사용 중지되거나 요금이 청구되지 않는 것은 아닙니다. 데이터 계보 요금이 청구되지 않도록 하려면 Data Lineage API를 사용 중지하여 데이터 계보를 사용 중지해야 합니다.

다음 단계