네테자 데이터 계보 Netezza SQL에서 데이터가 이동하는 방식을 열 수준에서 보여주는 맵입니다. 즉, 어떤 소스 열이 각 대상 테이블, 뷰 및 추출에 데이터를 제공하는지, 그리고 어떤 조인, 필터, 형변환 및 집계를 통해 데이터가 처리되는지를 나타냅니다. Gudu SQLFlow 이 도구는 전용 Netezza 방언 파서를 사용하여 Netezza 코드를 분석하고, 제공되는 39가지 방언별 파서 중 하나를 통해 해당 맵을 자동으로 생성합니다. 대부분의 Netezza 팀에게 있어 이러한 작업의 동기는 거버넌스 문서 작업이 아니라, 어플라이언스의 수명 종료가 임박했기 때문에 눈에 보이지 않는 부분을 마이그레이션할 수 없다는 점입니다.
30초 안에 시도해 보세요: Netezza 쿼리를 여기에 붙여넣으세요. 무료 온라인 SQL 계보 시각화 도구, select the Netezza dialect, and get an interactive column-level lineage diagram. The Cloud free tier is enough to test it.
지금 Netezza 데이터 계보가 중요한 이유
Netezza 기기는 거의 20년 동안 은행, 통신사, 보험사, 소매업체의 물류 창고에 전력을 공급했습니다. 이러한 환경에서는 수천 개의 뷰가 겹겹이 쌓이는 동일한 현상이 발생했습니다. nzsql cron에 의해 실행되는 배치 스크립트, 삽입 ... 선택 데이터 마트와 CTAS 작업에 데이터를 공급하는 방식이 바뀌었고, 그 작업들은 원래 작성자가 몇 년 전에 떠났습니다. 이제 하드웨어는 노후화되고 있고, 많은 회사에서 플랫폼의 수명이 다했으며, 대부분은 Snowflake, Amazon Redshift 또는 Google BigQuery로의 마이그레이션을 계획하거나 이미 실행하고 있습니다.
모든 마이그레이션은 동일한 문제에 부딪힙니다. 바로 정확한 종속성 그래프를 가진 사람이 없다는 것입니다. 문서가 존재하더라도 설계 당시의 데이터 웨어하우스를 설명하는 데 그치고, 실제 확장된 모습은 반영하지 못합니다. 데이터 계보 없이 마이그레이션을 진행하면 두 가지 실패 모드 중 하나가 발생합니다. 모든 데이터를 옮기는 것(더 이상 읽지 않는 테이블을 재구축하는 데 비용을 지불하는 것)이거나, 중요하다고 생각되는 데이터만 옮기고 새 플랫폼에서 월말 보고서가 제대로 작동하지 않을 때 비로소 문제점을 발견하는 것입니다.
SQL에서 직접 추출한 컬럼 수준의 계보가 해결책입니다. 이는 실제로 실행되는 코드에서 파생되므로 문서처럼 현실과 동떨어질 염려가 없습니다. 또한 SQLFlow는 SQL 텍스트에 대한 정적 분석을 수행하므로 어플라이언스에 에이전트가 필요하지 않으며 행 데이터에는 전혀 접근하지 않습니다. 코드와 선택적으로 스키마 메타데이터만 읽습니다.
실제 Netezza 변환에서 계보가 어떻게 보이는지
이것은 그런 종류입니다. nzsql-매일 밤 수천 대의 Netezza 기기에 마트 테이블을 채우는 시대적 변화:
INSERT INTO mart.customer_revenue (customer_id, region_code, fiscal_month, net_revenue, order_cnt) SELECT c.customer_id, SUBSTR(c.region, 1, 2) AS region_code, TO_CHAR(o.order_date, 'YYYY-MM') AS fiscal_month, SUM(o.amount - o.discount) AS net_revenue, COUNT(*) AS order_cnt FROM stage.orders o JOIN dim.customer c ON o.cust_key = c.cust_key WHERE o.order_status = 'SHIPPED' GROUP BY c.customer_id, SUBSTR(c.region, 1, 2), TO_CHAR(o.order_date, 'YYYY-MM');
SQLFlow를 통해 이 코드를 실행하면 대상 테이블에 대해 두 가지 유형의 종속성이 나타나는 다이어그램이 표시됩니다.
- 직계 혈통 — 실제로 출력에 포함되는 데이터:
마트.고객_수익.순수익~에 의해 공급됩니다단계.주문.금액그리고단계.주문.할인뺄셈과 a를 통해합집합;지역 코드~에 의해 공급됩니다dim.customer.region~을 통해서브스트르;회계월~에 의해단계.주문.주문_날짜~을 통해TO_CHAR. - 간접적 (영향) 계보 — 출력 결과에는 나타나지 않지만 출력 결과를 형성하는 열:
o.order_status에서어디조항 및o.cust_key/c.cust_key조인 조건에서 해당 조건 중 하나라도 삭제하거나 재정의하세요.순수익가치가 발생하지 않더라도 변화는 계속된다.
SQLFlow는 직접 및 간접 계보를 별도의 전환 가능한 관계 유형으로 모델링합니다. 대부분의 계보 도구는 이러한 구분을 전혀 하지 않습니다. 마이그레이션 작업에서 예상치 못한 문제가 발생하는 곳은 바로 간접적인 계보입니다. 일반적인 도구가 무시하는 필터 열이 대상 플랫폼에서 의미론이 변경되어 수치를 조용히 바꾸는 바로 그 열일 수 있습니다. SQLFlow는 또한 CTE, 서브쿼리, 뷰 등을 통한 열 참조도 해결합니다. 선택하다 * 확장으로 인해 오랜 역사를 자랑하는 네테자 와이너리에서 흔히 볼 수 있는 뷰온뷰 레이어링을 통해 계보가 정확하게 유지됩니다.
계보를 기반으로 구축된 마이그레이션 워크플로
Netezza를 폐기하는 팀은 네 단계에 걸쳐 계보를 활용합니다.
- 부지의 지도를 그려보세요. SQLFlow에 DDL, 뷰 정의 및 ETL 스크립트를 제공하세요. SQL을 붙여넣거나, 파일을 업로드하거나, JDBC를 통해 메타데이터를 가져올 수 있습니다. 엔터프라이즈 환경에서는 100개 이상의 데이터베이스와 백만 개 이상의 열을 포함하는 대규모 환경을 일괄 스캔하여 영구적인 데이터 계보 저장소에 저장하고, 마이그레이션 기간 동안 코드 변경이 발생할 때마다 증분 스캔을 수행합니다.
- 이사하기 전에 가지치기를 하세요. 계보 그래프에서 하위 소비처가 없는 테이블이나 뷰는 마이그레이션하는 대신 폐기하는 것이 좋습니다. 이동하지 않는 모든 객체는 번역, 테스트 또는 저장 비용을 지불할 필요가 없는 코드입니다.
- 전환 순서를 정하세요. 종속성 그래프는 함께 이동해야 하는 항목을 보여줍니다. 각 소스 테이블에서 하위 항목들을 추적하여 이동 시 발생하는 전체 영향 범위를 파악하고, 각 중요 보고서에서 상위 항목들을 추적하여 해당 보고서가 대상 시스템으로 전환되기 전에 대상 시스템에서 반드시 활성화되어야 하는 최소한의 객체 집합을 확인하십시오.
- 고아 항목이 없는지 확인하십시오. 번역 후, 대상 측 SQL 쿼리를 SQLFlow를 사용하여 해당 방언 파서(Snowflake, Redshift, BigQuery 등 39개 방언 지원)로 실행합니다. 두 그래프를 JSON 또는 CSV 형식으로 내보내고 비교합니다. Netezza 그래프의 모든 열 연결선은 대상 그래프에도 대응되는 연결선이 있어야 합니다. Netezza에는 있지만 대상에는 없는 연결선은 번역된 코드에서 누락된 종속성으로, 프로덕션 환경이 아닌 검토 단계에서 발견된 것입니다.
마이그레이션 전후 검증 단계는 수동 마이그레이션 체크리스트로는 수행할 수 없는 부분입니다. 대상 시스템에 모든 테이블이 존재하는지 확인하는 것은 쉽지만, 모든 열 수준 종속성이 여전히 유지되는지 확인하는 것은 두 그래프가 동일한 엔진으로 추출된 경우에만 실질적으로 가능합니다.
SQLFlow가 Netezza SQL을 파싱하는 방법
SQLFlow는 다음을 기반으로 구축되었습니다. 일반 SQL 파서는 2000년대 중반부터 개발되어 약 13,600개의 방언별 SQL 테스트 픽스처를 통해 검증된 상용 SQL 컴파일러 프런트엔드(렉서, 파서, 시맨틱 리졸버 및 데이터 흐름 분석기)입니다. Netezza는 이 스택에서 일반적인 ANSI 근사치가 아닌 자체 문법을 사용하므로 Netezza 관련 구문은 오류가 발생하거나 조용히 건너뛰어지지 않고 Netezza가 의도한 대로 구문 분석됩니다.
출력 결과는 단순한 그림 그 이상입니다. 상호 작용이 가능하고 드릴다운되는 다이어그램과 함께 구조화된 계보 데이터(JSON 및 CSV 내보내기, 문서용 PNG), 자동화를 위한 REST API, 그리고 DataHub, Microsoft Purview, OpenMetadata용 내보내기 어댑터를 제공합니다. 이는 마이그레이션 대상 아키텍처에 추출한 계보를 상속해야 하는 카탈로그가 포함된 경우 유용합니다. 버전 8.2.3부터는 일반적인 영어 질문("어떤 피드가 있나요?")도 할 수 있습니다. 마트.고객_수익.순수익그리고 AI가 인용하는 모든 표와 열은 표시되기 전에 분석된 그래프와 비교하여 유효성을 검사합니다.
이 고객층에게는 배포 방식이 중요합니다. Netezza 자산은 은행과 보험사에 집중적으로 배치되어 있습니다. 온프레미스 SQLFlow SQLFlow Cloud는 네트워크 내 Docker 또는 Kubernetes 환경에서 실행되며, 필요한 경우 에어갭 방식으로 격리하여 SQL 텍스트가 인프라 외부로 유출되지 않도록 합니다. SQLFlow Cloud는 브라우저에서 쿼리를 테스트할 수 있는 무료 티어를 제공하며, 프리미엄 티어는 월 $49.99, 온프레미스 티어는 월 $500 또는 선택한 데이터베이스 유형별로 일회성 $4,800입니다(참조). 가격).
Netezza와 그 형제 모델들 비교: 하나의 엔진, 일관된 계보
Netezza는 단독으로 사용되는 경우가 드뭅니다. 많은 기업에서 Teradata와 함께 Netezza를 운영하며, 마이그레이션 대상은 대개 클라우드 웨어하우스입니다. SQLFlow는 39개 모든 방언에서 동일한 데이터 흐름 엔진을 사용하기 때문에 추출된 데이터 계보는 플랫폼 간에 직접 비교할 수 있습니다.
| 플랫폼 | 일반적인 네테자 매장에서의 역할 | 계보 페이지 |
|---|---|---|
| 네테자 | 구형 가전제품 단종 예정 | 이 페이지 |
| 테라데이터 | 다른 기존 MPP 웨어하우스는 종종 동일한 프로그램 내에서 마이그레이션됩니다. | 테라데이터 데이터 계보 |
| 눈송이 | 가장 일반적인 마이그레이션 대상입니다. SQLFlow는 Snowflake 쿼리 기록도 읽습니다. | 스노우플레이크 데이터 계보 |
| 아마존 레드시프트 | 일반적인 AWS 측 대상입니다. SQLFlow는 Redshift 쿼리 로그도 읽습니다. | 레드시프트 데이터 계보 |
오픈소스 파서를 사용하면 안 될까요?
주류 언어로 된 개별 검색어의 경우, 다음과 같은 오픈 소스 프로젝트를 활용할 수 있습니다. sqllineage 그리고 sqlglot 실제로 훌륭한 도구이며, 만약 여러분의 데이터베이스가 몇 백 개의 깔끔한 SELECT 문으로 구성되어 있다면 충분할 수도 있습니다. 하지만 Netezza를 폐기할 때 발생하는 워크로드에서 차이가 드러납니다. 일반적인 ANSI 문법에 맞춰 조정되지 않은 레거시 언어, 실제 스키마 메타데이터에 대한 의미 해석 및 스타 확장이 필요한 뷰 스택, 필터 및 조인 조건을 통한 간접적인 계보, 그리고 수천 개의 스크립트와 두 플랫폼에 걸쳐 계보를 시각화하고 비교해야 하는 필요성 등이 그 예입니다. 카테고리별로 보면, 카탈로그 우선 플랫폼과 런타임 로그 기반 계보 도구는 여기서 다른 한계에 직면합니다. 폐기하려는 어플라이언스는 새로운 컬렉션 인프라를 설치하고 싶지 않은 바로 그곳입니다. 공정한 테스트는 간단합니다. 가장 복잡한 프로덕션 변환을 가져와 두 도구를 모두 사용하여 실행하고 열 경계를 비교해 보세요. SQLFlow가 추출하는 내용에 대한 전체적인 그림은 다음과 같습니다. SQL 데이터 계보 도구 핵심 페이지.
자주 묻는 질문
SQLFlow에는 실제 Netezza 파서가 있나요, 아니면 일반 SQL 파서가 있나요?
진짜입니다. Netezza는 SQLFlow에 포함된 39개의 방언별 파서 중 하나로, 일반 SQL 파서 엔진을 기반으로 구축되었으며 약 13,600개의 SQL 픽스처로 구성된 방언별 회귀 코퍼스를 사용하여 검증되었습니다. Netezza 구문은 ANSI로 근사화되지 않고 Netezza 구문 그대로 파싱됩니다.
리니지(Lineage)를 사용하면 마이그레이션 전에 삭제해도 안전한 Netezza 테이블을 알 수 있나요?
네, 분석하는 SQL 내에서, 계보 그래프에 하위 소비자가 없는 테이블이나 뷰는 모두 폐기 대상입니다. 데이터 웨어하우스와 관련된 모든 SQL(뷰, ETL 스크립트, 보고서 쿼리)을 SQLFlow에 입력하여 그래프가 모든 소비자를 포함하도록 한 다음 작업을 수행하세요.
SQLFlow는 Netezza 어플라이언스의 데이터에 접근해야 하나요?
아니요. SQLFlow는 SQL 코드에 대한 정적 분석을 수행하고 선택적으로 스키마 메타데이터(테이블 및 열 정의)를 읽습니다. 테이블 행은 절대 읽지 않습니다. 온프레미스 에디션의 경우 SQL 텍스트조차도 네트워크 내에 유지됩니다.
마이그레이션이 모든 종속성을 유지했는지 어떻게 확인할 수 있나요?
Netezza의 원본 SQL과 Snowflake, Redshift 또는 BigQuery로 변환된 SQL을 각각의 방언 파서를 사용하여 분석하고, 두 계보 그래프를 JSON 또는 CSV 형식으로 내보낸 다음, 열 수준의 엣지를 비교합니다. Netezza에는 있지만 대상 시스템에 없는 엣지는 변환 과정에서 누락된 종속성입니다.
Netezza 마이그레이션 프로젝트에서 SQLFlow를 사용하는 데 드는 비용은 얼마인가요?
SQLFlow 클라우드는 무료로 시작하며, 프리미엄 버전은 월 $49.99입니다. SQLFlow 온프레미스는 선택한 데이터베이스 유형당 월 $500 또는 일회성 $4,800이며, 두 대의 서버에 설치할 수 있습니다. 추가 데이터베이스 유형은 각각 월 $100 또는 일회성 $1,000에 추가됩니다.
Netezza 부동산을 옮기기 전에 지도를 확인하세요.
Netezza 변환 결과를 무료 시각화 도구에 붙여넣거나, 마이그레이션 전에 전체 어플라이언스를 스캔하는 것에 대해 저희와 상담해 보세요.