Snowflake 데이터 계보: 쿼리 기록에서 열 수준 계보 확인

스노우플레이크 데이터 계보 이는 Snowflake 계정을 통해 데이터가 이동하는 방식을 열 수준에서 보여주는 지도입니다. 즉, 어떤 소스 테이블과 열이 각 대상 테이블, 뷰 또는 대시보드에 데이터를 제공하는지, 그리고 어떤 변환(조인, 단조롭게 하다 확장, 창 함수, 필터 등은 그 과정에서 추가됩니다. Snowflake는 계정 사용량 뷰는 어떤 객체에 접근했는지 알려주지만, 테이블 수준의 접근 기록까지만 보여줍니다. 한 열이 다른 열을 어떻게 계산했는지 알아보려면 SQL 쿼리 자체를 분석해야 합니다. Gudu SQLFlow 이 도구는 정확히 그러한 기능을 수행합니다. Snowflake 쿼리 기록, DDL 및 뷰를 수집하고 Snowflake 전용 문법을 사용하여 모든 문장을 구문 분석한 다음 대화형 열 수준 계보 다이어그램을 생성합니다.

지금 바로 확인하세요: Snowflake 쿼리를 여기에 붙여넣으세요. 무료 온라인 스노우플레이크 계보 시각화 도구 — Snowflake 방언을 선택하면 대화형 열 수준 다이어그램을 볼 수 있습니다. 클라우드 버전은 무료 티어를 제공합니다.

Snowflake가 기본적으로 제공하는 기능과 그 한계는 무엇일까요?

Snowflake는 이미 많은 것을 기록하고 있습니다. 계정 사용량 스키마는 계정 활동에 대한 개요를 제공하며, 이를 통해 쿼리가 어떤 테이블을 읽었고 어떤 객체를 수정했는지 재구성할 수 있습니다. 이는 액세스 감사 및 대략적인 종속성 파악에 매우 유용하며, Snowflake의 모든 계보 전략은 이러한 원격 측정 데이터를 무시하는 대신 이를 기반으로 시작해야 합니다.

계정 사용량 원격 측정 데이터에서 알 수 없는 정보는 다음과 같습니다. 변환 컬럼 단위의 데이터 계보. 쿼리가 어떤 부분을 건드렸는지 알 수 있습니다. raw.orders 그리고 썼다 분석.수익 그것은 당신에게 말해주지 않습니다 총 수익 ~이다 SUM(주문 수량) 상태 필터 이후에 또는 자격 절이 출력에 전혀 나타나지 않는 열을 기준으로 행을 조용히 삭제했습니다. 해당 정보는 정확히 한 곳, 즉 문의 SQL 텍스트에만 존재합니다. 이를 추출하려면 실제 Snowflake SQL 파서, 즉 해당 열을 이해하는 파서가 필요합니다. 단조롭게 하다, 자격반구조화된 변종 경로, 다단계 CTE 및 선택하다 * 실제 스키마에 대한 확장.

QUERY_HISTORY에서 빌드 계보: 실제로 실행된 항목

SQLFlow는 지원합니다. Snowflake 쿼리 기록을 기본 입력으로 사용합니다.문서나 예약된 작업 구성을 보고 파이프라인을 추측하는 대신, Snowflake가 실제로 실행한 문장을 SQLFlow에 입력합니다. 테이블을 SELECT 형식으로 생성합니다., 끼워 넣다, 병합, 그리고 복사 쿼리 기록의 명령문과 해당 명령문에 스키마 컨텍스트를 제공하는 DDL 및 뷰 정의를 함께 보여줍니다. 결과적으로 실제 상황에 기반한 계보를 확인할 수 있습니다.

  • 임시 SQL 쿼리로 인한 사각지대가 없습니다. 일회성 백필, 분석가가 작성한 CTAS 문, 노트북이나 BI 도구에서 실행된 쿼리는 모두 쿼리 기록에 나타나므로 데이터 계보에 표시됩니다. 오케스트레이터의 리포지토리만 스캔하는 구성 기반 접근 방식은 이러한 쿼리를 완전히 놓칩니다.
  • 뷰가 올바르게 표시됩니다. SQLFlow는 쿼리 기록과 함께 뷰 정의를 수집하므로, 뷰 정의를 대상으로 하는 쿼리는 다음과 같습니다. vw_customer_360 뷰 본문을 따라 기본 테이블과 열까지 추적합니다.
  • 스타 확장은 실제 스키마를 사용합니다. DDL이 로드된 상태입니다. 선택하다 * 실제 열 목록으로 확장되므로 열 수준의 경계가 테이블 수준의 추측으로 축소되지 않고 정확하게 유지됩니다.

SQLFlow는 붙여넣은 SQL 및 업로드된 파일 외에도 JDBC 및 dbt 매니페스트 파일을 통한 실시간 메타데이터를 허용하므로 실행된 쿼리 계보와 모델 정의 계보를 하나의 그래프로 결합할 수 있습니다. 여러 웨어하우스를 운영하는 경우 Redshift 쿼리 로그도 동일한 방식으로 처리됩니다.

실제 Snowflake SQL을 통한 열 수준 계보

Snowflake SQL은 일반적인 ANSI 표준이 아닙니다. 반정형화된 품목을 풀어서 각 고객의 상위 3개 주문만 남기는 파이프라인 단계를 생각해 보세요.

CREATE OR REPLACE TABLE analytics.top_customer_orders AS SELECT o.customer_id, f.value:sku::STRING AS sku, f.value:qty::NUMBER AS quantity, o.order_total FROM raw.orders o, LATERAL FLATTEN(input => o.line_items) f QUALIFY ROW_NUMBER() OVER ( PARTITION BY o.customer_id ORDER BY o.order_total DESC ) <= 3;

이 하나의 진술에 대한 정확한 계보 분석을 위해서는 다음 사항을 입증해야 합니다. 스쿠 그리고 수량 ~에서 파생되다 raw.orders.line_items VARIANT 컬럼을 통해 단조롭게 하다 테이블 함수와 형변환; 고객 ID 그리고 주문 총액 직접 흐른다는 것; 그리고 그것은 자격 조항은 다음과 같습니다 고객 ID 그리고 주문 총액 결과 집합을 두 번째로 구성합니다. 데이터 흐름이 아니라 행 필터링이 영향을 미치기 때문입니다. SQLFlow의 Snowflake 파서는 이 모든 것을 모델링합니다. 왜냐하면 그 아래에 있는 계보 엔진(동일한) 때문입니다. 일반 SQL 파서 (약 13,600개의 방언별 테스트 픽스처를 통해 검증된) 엔진은 문의 전체 의미 모델을 통해 모든 열 참조를 해결합니다.

직계 혈통 vs. 간접 혈통: QUALIFY가 중요한 이유

저것 자격 이 조항은 대부분의 계보 분석 도구가 간과하는 차이점을 보여줍니다. 직계 혈통 데이터 흐름입니다: 주문 총액 땅에 최고 고객 주문 수.총 주문량. 간접 혈통 영향력이 있습니다: 주문 총액 또한 윈도우 필터를 통과하는 행을 결정하므로 계산 방식이 변경되면 필터에 전혀 영향을 받지 않는 열의 출력에도 영향을 미칩니다. SQLFlow는 직접 및 간접 계보를 서로 다른, 별도로 전환 가능한 관계 유형으로 기록합니다. Snowflake에 대한 영향 분석은 다음과 같습니다. 자격, 어디참여 조건 및 그룹화 기준 키에는 실제 비즈니스 로직이 담겨 있습니다. 이는 정확한 폭발 반경과 안심할 수 있는 과소평가 사이의 차이와 같습니다.

Snowflake의 dbt

Snowflake 변환이 dbt를 통해 실행되는 경우 SQLFlow는 다음을 가져옵니다. dbt 매니페스트 SQLFlow는 dbt 문서에서 제공하는 모델 간 그래프보다 더 심층적인 열 수준의 모델 계보를 직접 생성합니다. 또한 SQLFlow는 웨어하우스 측 데이터(DDL, 뷰, 쿼리 기록)도 수집하므로 dbt 프로젝트에서 선언한 내용과 Snowflake 계정에서 실제로 실행되는 내용을 대조할 수 있습니다. 예를 들어, 누군가가 dbt를 사용하여 실행한 임시 CTAS 쿼리도 모델과 함께 동일한 그래프에 표시됩니다.

Snowflake 데이터 계보를 얻는 방법: 세 가지 경로

입력~에 가장 적합함
SQLFlow 클라우드SQL 붙여넣기, 파일 업로드, 브라우저에서 소스 연결오늘 한번 사용해 볼게요. 개별 문의 및 프로젝트 처리가 가능합니다. 무료 버전, 프리미엄 버전은 월 $49.99달러입니다.
온프레미스 SQLFlow쿼리 기록, DDL, dbt 매니페스트 등 모든 정보가 네트워크 내에 있습니다.SQL 텍스트가 인프라 외부로 유출되어서는 안 되는 규제 환경. Docker/Kubernetes; 데이터베이스 유형별 월 $500 또는 일회성 $4,800.
REST API / 자바 라이브러리 / 자바스크립트 위젯프로그램 분석 및 임베디드 다이어그램플랫폼이나 카탈로그에 계보 기능을 구축하세요.

SQLFlow는 엔터프라이즈 규모에서 100개 이상의 데이터베이스와 백만 개 이상의 열을 포함하는 환경을 증분 스캔 및 영구적인 데이터 계보 저장소를 사용하여 일괄 스캔하고 결과를 내보냅니다. DataHub, Microsoft Purview 및 OpenMetadata — 이를 통해 Snowflake의 데이터 계보를 기존에 운영 중인 카탈로그 플랫폼으로 통합할 수 있습니다. 카탈로그 플랫폼은 전체 스택에 걸쳐 인벤토리, 소유권 및 검색 기능을 제공하며, 복잡한 SQL 쿼리를 정확한 열 수준의 정보로 파싱하는 데에는 특수 엔진을 활용하면 더욱 효과적입니다. SQLFlow는 엄격한 개인정보 보호 정책을 준수하며, SQL 코드와 스키마 메타데이터에 대한 정적 분석만 수행하고 Snowflake 테이블의 행은 절대 읽지 않습니다.

스노우플레이크를 넘어서: 39개 방언에 걸친 하나의 계보 그래프

Snowflake 계정이 단독으로 운영되는 경우는 드뭅니다. 일반적으로 기존 Oracle 또는 SQL Server 시스템이 데이터 웨어하우스에 데이터를 제공하고, Spark 또는 Databricks 작업이 그 옆에 있으며, 그 위에 BI 레이어 SQL이 있는 환경이 많습니다. SQLFlow는 39개의 데이터베이스 및 쿼리 엔진에 대한 방언별 파서를 제공하므로 Snowflake 쿼리 기록을 읽는 데 사용되는 동일한 엔진이 다른 작업도 처리합니다. BigQuery 데이터 계보 그리고 Databricks와 Spark SQL 계보또한 Oracle PL/SQL 및 T-SQL과 같은 저장 프로시저 중심의 소스(프로시저 내 동적 SQL 포함)도 지원합니다. 이는 특히 Snowflake로 마이그레이션할 때 중요한데, 레거시 시스템의 종속성 그래프를 마이그레이션 전에 정확하게 매핑해야 하기 때문입니다. 엔진 작동 방식에 대한 자세한 내용은 다음을 참조하십시오. SQL 데이터 계보 도구 개요.

자주 묻는 질문

Snowflake의 ACCOUNT_USAGE 뷰만으로 컬럼 수준의 데이터 계보를 얻을 수 있나요?

아니요. 계정 사용량 원격 측정은 테이블 수준의 액세스 기록, 즉 쿼리가 어떤 객체를 읽고 썼는지에 대한 정보를 제공합니다. 열 수준의 변환 내역(어떤 소스 열이 어떤 함수와 필터를 거쳐 어떤 출력 열로 전달되는지)을 확인하려면 SQL 문 자체의 SQL 텍스트를 구문 분석해야 하는데, SQLFlow가 바로 이 작업을 수행합니다.

SQLFlow는 Snowflake 계정 정보를 어떻게 수집하나요?

여러 가지 방법이 있습니다. Snowflake 쿼리 기록을 기본 입력으로 사용하거나, JDBC를 통해 실시간 스키마 메타데이터를 전송하거나, DDL 및 뷰 정의를 업로드하거나, SQL 문을 붙여넣거나, dbt 매니페스트 파일을 사용하는 방법 등이 있습니다. 쿼리 기록과 DDL을 함께 사용하는 것이 가장 강력한 조합입니다. 실제로 실행된 문장을 기반으로 구축된 계보와 스타 확장 및 뷰 해석을 위한 전체 스키마 컨텍스트를 제공하기 때문입니다.

SQLFlow는 FLATTEN 및 QUALIFY와 같은 Snowflake 고유 구문을 이해합니까?

네. SQLFlow는 일반적인 ANSI 파서가 아닌 Snowflake 전용 문법을 사용합니다. 측면으로 평평하게, 자격VARIANT 경로 표현식은 다음과 같습니다. 값:sku::문자열, 그리고 테이블을 SELECT 형식으로 생성합니다. 열 수준에서 구문 분석 및 추적이 수행되며 필터 절은 간접 계보로 캡처됩니다.

SQLFlow는 Snowflake 테이블의 데이터를 읽을 수 있나요?

아니요. SQLFlow는 SQL 코드에 대한 정적 분석을 수행하고 선택적으로 스키마 메타데이터(테이블 및 열 정의)를 읽습니다. 테이블 행은 절대 읽지 않습니다. 온프레미스 에디션의 경우 SQL 텍스트조차 네트워크 내에 유지되므로 쿼리 기록에 민감한 리터럴이 포함된 경우 특히 중요합니다.

Snowflake 데이터 계보를 내 데이터 카탈로그로 내보낼 수 있나요?

예. 엔터프라이즈 배포에는 DataHub, Microsoft Purview 및 OpenMetadata용 내보내기 어댑터와 JSON, CSV 및 PNG 내보내기, 그리고 사용자 지정 통합을 위한 REST API가 포함됩니다.

SQLFlow를 사용한 Snowflake 계보 추적 비용은 얼마인가요?

SQLFlow Cloud는 무료로 시작하며, 프리미엄 버전은 월 $49.99입니다. SQLFlow On-Premise는 월 $500 또는 선택한 데이터베이스 유형(Snowflake는 하나의 유형으로 간주)당 일회성 $4,800이며, 두 대의 서버에 설치할 수 있습니다. 자세한 내용은 다음을 참조하십시오. 가격 자세한 내용은 다음을 참조하세요.

오늘 바로 당신의 스노우플레이크 가계도를 그려보세요.

Snowflake 쿼리를 무료 시각화 도구에 붙여넣거나, 쿼리 기록 및 전체 자산에 대한 분석 서비스를 문의해 주세요.