SAP HANA 데이터 계보 이는 HANA SQL에서 데이터가 이동하는 방식을 열 수준에서 보여주는 지도입니다. 즉, 각 SQL 뷰, 계산 열 및 하위 보고서에 어떤 소스 테이블과 열이 사용되는지, 그리고 그 과정에서 어떤 조인, 필터, 형변환 및 함수가 데이터를 변환하는지를 나타냅니다. Gudu SQLFlow 이 기능은 전용 SAP HANA 방언 파서(일반 ANSI 문법이 아닌 39개의 방언별 파서 중 하나)를 사용하여 HANA SQL을 구문 분석함으로써 해당 맵을 자동으로 구축하고, 개별 열까지 자세히 살펴볼 수 있는 대화형 계보 다이어그램을 렌더링합니다.
지금 바로 시도해 보세요: HANA를 붙여넣으세요 뷰 생성 체인을 무료 SQLFlow 계보 시각화 도구SAP HANA 방언을 선택하면 몇 초 만에 열 수준 다이어그램을 얻을 수 있습니다. 무료 티어이며 설치가 필요 없습니다.
계보 관련 질문이 HANA에 집중되는 이유는 무엇일까요?
HANA는 단독으로 존재하는 경우가 드뭅니다. 일반적으로 S/4HANA 및 BW 환경 아래에 나란히 배치되어 재무 및 감사 기능이 의존하는 데이터 마트와 보고 계층을 구성합니다. 감사자가 질문할 때 “이 수치는 어떤 소스 필드에서 가져온 것입니까?” 또는 컨트롤러가 묻습니다 "지난달 발표 이후 이 KPI가 변경된 이유는 무엇인가요?"답은 SQL의 여러 계층, 즉 뷰 위에 구축된 뷰, 계산 열, 통화 변환 및 스키마 간 조인에 숨겨져 있습니다.
SQL 문을 수동으로 읽어 이러한 질문에 답하는 방식은 뷰의 수가 몇 개에 불과하면 확장성이 떨어집니다. SQL 수준의 계보 추적 기능을 사용하면 이 과정을 자동화할 수 있습니다. 모든 뷰 정의와 스크립트를 한 번만 파싱하면 테이블에서 뷰, 뷰에서 보고서로 이어지는 종속성 그래프를 열 단위까지 세분화하여 필요에 따라 영향 분석, 근본 원인 디버깅 및 감사 증거로 활용할 수 있습니다.
SQLFlow는 어떻게 SAP HANA 데이터 계보를 구축하는가
SQLFlow는 다음을 기반으로 구축되었습니다. 일반 SQL 파서(GSP)2000년대 중반부터 개발되어 약 13,600개의 방언별 SQL 테스트 픽스처를 통해 검증된 상용 SQL 컴파일러 프런트엔드입니다. SAP HANA 파서는 HANA의 SQL 구문을 특별히 이해합니다. "스키마"."객체" 식별자, HANA 함수 및 형변환, HANA 조인 및 집합 연산자 형식을 사용하는 것이지, 일반 문법으로 근사화하는 것이 아닙니다.
GSP는 각 문장에 대해 완전한 의미 모델을 구축합니다. 모든 열 참조는 CTE, 서브쿼리, 뷰 등을 통해 해석됩니다. 선택하다 * 확장 과정에서 데이터 흐름 분석기는 각 출력 열에 대해 어떤 소스 열이 어떤 함수와 표현식을 통해 해당 열로 데이터를 전달하는지 정확하게 추출합니다. 그 결과, 테이블 수준의 개략적인 정보가 아닌, 스키마 변경에 대해 신뢰할 수 있는 열 수준의 데이터 계보를 얻을 수 있습니다.
HANA SQL을 SQLFlow에 입력하는 방법은 세 가지입니다. SQL 문을 직접 붙여넣거나, 뷰 정의 및 스크립트 파일을 업로드하거나, JDBC를 통해 연결하여 SQLFlow가 데이터베이스 카탈로그에서 객체 정의를 가져오도록 할 수 있습니다. 모든 작업은 SQL 텍스트에 대한 정적 분석이며, SQLFlow는 테이블의 행을 읽지 않습니다.
예시: 계층형 HANA SQL 뷰 체인 추적
계층형 SQL 뷰는 표준 HANA 패턴입니다. 원시 테이블 위에 클렌징 뷰가 있고, 그 위에 보강 뷰가 있으며, 보고를 위한 집계 뷰가 있습니다. 다음은 일반적인 3계층 구조입니다.
CREATE VIEW "FIN"."V_ORDERS_CLEAN" AS SELECT ORDER_ID, CUSTOMER_ID, TO_DECIMAL(GROSS_AMOUNT, 15, 2) AS GROSS_AMOUNT, IFNULL(CURRENCY, 'EUR') AS CURRENCY, ORDER_DATE FROM "FIN"."ORDERS_RAW" WHERE STATUS <> 'CANCELLED'; CREATE VIEW "FIN"."V_ORDERS_EUR" AS SELECT o.ORDER_ID, o.CUSTOMER_ID, o.GROSS_AMOUNT * r.RATE AS AMOUNT_EUR, o.ORDER_DATE FROM "FIN"."V_ORDERS_CLEAN" o JOIN "FIN"."FX_RATES" r ON r.CURRENCY = o.CURRENCY AND r.RATE_DATE = o.ORDER_DATE; CREATE VIEW "FIN"."V_REVENUE_MONTHLY" AS SELECT CUSTOMER_ID, YEAR(ORDER_DATE) AS FISCAL_YEAR, MONTH(ORDER_DATE) AS FISCAL_MONTH, SUM(AMOUNT_EUR) AS REVENUE_EUR FROM "FIN"."V_ORDERS_EUR" GROUP BY CUSTOMER_ID, YEAR(ORDER_DATE), MONTH(ORDER_DATE);
SQLFlow에 문의하세요 V_월간수익.수익유로 출처에서 유래하며 자동으로 체인을 따라갑니다. 수익_유로 ~이다 합계(금액_유로)즉, 총액 * 비율, 어디 총액 ~이다 주문_원가.총액 통과했다 소수점 변환소스 열 두 개, 뷰 깊이 세 개, 모든 중간 계산 이름 지정. 추적을 반대로 실행하면 영향 분석이 표시됩니다: 다시 입력 주문_원가.총액 SQLFlow는 변경 사항을 상속받는 모든 하위 열을 나열합니다.
SQL 뷰의 계산 열 — 소수점 변환 캐스팅, IFNULL 기본적으로 곱셈은 계보 그래프에서 일급 객체이므로 다이어그램은 단순히 뿐만 아니라 저것 기둥이 흐르지만 그것에 무슨 일이 일어나는가 각 층마다.
직계 혈통 vs. 간접 혈통
예시를 다시 살펴보세요. ORDERS_RAW.STATUS 어떤 출력 열에도 나타나지 않지만, 상태가 '취소됨'이 아닌 경우 필터는 매출액 수치에 절대적으로 영향을 미칩니다. 다른 필터도 마찬가지입니다. 통화, 요금_날짜, 그리고 주문일 결합 조건에서 그리고 그룹화 기준.
SQLFlow는 이러한 것들을 다음과 같이 모델링합니다. 간접적 (영향) 계보이는 직접적인 데이터 흐름과는 구별되는 관계 유형으로, 다이어그램에서 별도로 켜고 끌 수 있습니다. "이 규제 분야가 이 보고서에 영향을 미치는가?"와 같은 감사 질문의 경우, 간접적인 연결이 전체 해답이 되는 경우가 많지만, 대부분의 경쟁 계보 도구는 직접/간접 연결을 구분하지 않습니다.
SQLFlow는 SAP 기본 도구와 어떻게 조화를 이룰까요?
SAP 자체 모델링 및 카탈로그 도구는 개발 목적에 맞게 SAP 모델링 레이어 내에서 생성된 아티팩트를 추적하는 데는 탁월합니다. 하지만 SQL 레벨에서 문제가 발생합니다. 수동으로 작성된 SQL 뷰, 마이그레이션 스크립트, 예약된 작업의 DML, 그리고 HANA를 SAP 이외의 시스템에 연결하는 SQL은 모델링된 아티팩트로 등록되지 않았기 때문에 모델 기반 계보 추적에서 보이지 않습니다.
SQLFlow가 다루는 영역은 바로 이 부분입니다. SQLFlow는 SQL 자체를 파싱하므로 어떤 도구로 작성했는지에 관계없이 SQL 텍스트로 표현된 모든 것을 추적합니다. 알아두어야 할 두 가지 중요한 한계점이 있습니다.
- 그래픽 계산 보기 해당 데이터는 SQL이 아닌 XML 모델로 저장되므로 SQL 구문 분석 범위에서 제외됩니다. 하지만 해당 데이터를 감싸는 SQL 뷰와 이를 쿼리하는 모든 SQL 문은 완벽하게 추적됩니다.
- SQLScript 프로시저: SQLFlow의 전용 절차 문법은 현재 Oracle PL/SQL 및 SQL Server T-SQL을 지원합니다. HANA의 경우 실질적인 접근 방식은 SQLScript 본문 내의 SQL 문을 분석하는 것입니다.
선택하다,끼워 넣다그리고 계보가 실제로 존재하는 뷰 정의는 표준 HANA SQL입니다.
두 가지 접근 방식을 함께 사용하면 서로를 보완합니다. 모델링된 계층에는 SAP 네이티브 툴을 사용하고, SQL로 작성된 모든 항목에는 SQL 수준의 계보를 제공합니다. 또한 SQLFlow는 39개의 방언을 지원하므로 동일한 계보 그래프가 HANA를 넘어 Oracle, DB2 또는 Snowflake 시스템까지 확장됩니다. 자세한 내용은 다음을 참조하십시오. Oracle 데이터 계보 그리고 DB2 데이터 계보 해당 언어에 대한 페이지가 제공됩니다. 엔터프라이즈 배포 환경에서는 내장된 내보내기 어댑터를 통해 결과를 DataHub, Microsoft Purview 또는 OpenMetadata로 내보낼 수도 있습니다.
SAP 환경을 위한 배포 옵션
| 판 | ~에 가장 적합함 | 메모 |
|---|---|---|
| SQLFlow 클라우드 | 평가, 임시 보기 추적 | 무료 티어; 프리미엄 $49.99/월; HANA SQL을 브라우저에 붙여넣거나 업로드하세요 |
| 온프레미스 SQLFlow | 규제 산업 분야의 SAP 생산 환경 | 네트워크 내부에 Docker/Kubernetes 환경을 구축할 수 있으며, 에어갭(air-gap) 환경도 지원합니다. 월 $500 또는 데이터베이스 유형별 일회성 $4,800 요금으로 이용 가능합니다. |
| REST API / 자바 라이브러리 | CI 또는 데이터 플랫폼에서 데이터 계보 자동화 | 동일한 분석 엔진을 사용하며, 파이프라인 및 JVM 애플리케이션에서 호출할 수 있습니다. |
대부분의 HANA 환경에서는 기능만큼이나 개인정보 보호 정책이 중요합니다. SQLFlow는 SQL 코드와 스키마 메타데이터에 대한 정적 분석만 수행하며, 온프레미스 환경에서는 SQL 텍스트조차 네트워크를 벗어나지 않습니다. 배치 스캔은 100개 이상의 데이터베이스와 백만 개 이상의 열을 가진 환경을 처리할 수 있으며, 증분 재스캔 및 영구적인 데이터 계보 저장소를 제공합니다. 자세한 내용은 다음에서 확인할 수 있습니다. 가격 페이지그리고 SQL 데이터 계보 도구 개요 모든 기능을 다룹니다.
자주 묻는 질문
SQLFlow는 SAP HANA를 지원합니까?
예. SAP HANA는 SQLFlow에서 자체 방언별 파서를 제공하는 39개 데이터베이스 중 하나이며, 따옴표로 묶인 스키마 한정 식별자를 포함한 HANA SQL 구문과 HANA 함수 등을 지원합니다. IFNULL 그리고 소수점 변환정의를 확인하세요.
SQLFlow는 계층형 HANA SQL 뷰를 통해 추적 계보를 확인할 수 있습니까?
예. 컬럼 참조는 뷰, CTE, 서브쿼리 등을 통해 해결됩니다. 선택하다 * 확장성이 뛰어나므로 최상위 보고 보기의 열은 모든 중간 보기를 거쳐 물리적 소스 열까지 추적되며 경로를 따라 각 계산이 표시됩니다.
SQLFlow는 HANA 계산 뷰를 지원합니까?
그래픽 계산 뷰는 SQL이 아닌 XML 모델이므로 SQL 구문 분석 범위에서 제외됩니다. SQLFlow는 SQL로 표현된 모든 것을 추적합니다. 즉, 계산 뷰를 둘러싼 SQL 뷰와 이를 쿼리하는 모든 SQL 문을 추적합니다.
SQLFlow는 HANA 테이블의 데이터에 접근해야 하나요?
아니요. SQLFlow는 SQL 코드에 대한 정적 분석을 수행하고 선택적으로 JDBC를 통해 스키마 메타데이터를 읽습니다. 테이블 행 데이터는 절대 읽지 않으며, 온프레미스 버전은 SQL 텍스트조차도 네트워크 내부에 보관합니다.
HANA SQL을 SQLFlow로 가져오려면 어떻게 해야 하나요?
세 가지 방법이 있습니다. SQL 쿼리를 브라우저에 직접 붙여넣거나, 뷰 정의 및 스크립트 파일을 업로드하거나, JDBC를 통해 HANA에 연결하여 SQLFlow가 카탈로그에서 객체 정의를 가져오도록 할 수 있습니다. 결과는 JSON, CSV, PNG 형식으로 내보내거나 REST API를 통해 전송할 수 있습니다.
SQLFlow 가격은 얼마인가요?
SQLFlow Cloud는 무료로 시작하며, 프리미엄 계정은 월 $49.99입니다. SQLFlow On-Premise는 선택한 데이터베이스 유형당 월 $500 또는 일회성 $4,800이며, 두 대의 서버에 설치할 수 있습니다. 추가 데이터베이스 유형은 각각 월 $100 또는 일회성 $1,000에 추가됩니다.
지금 HANA 뷰를 추적하세요
뷰 체인을 무료 시각화 도구에 붙여넣어 열 수준의 계보를 확인하거나, 온프레미스 HANA 환경 전체를 스캔하는 것에 대해 문의해 주세요.