Netezzaのデータ系統 これは、Netezza SQL 内でデータがどのように移動するかを示す列レベルのマップです。どのソース列が各ターゲットテーブル、ビュー、および抽出にデータを提供し、どの結合、フィルタ、キャスト、および集計を経由するかを示します。 Gudu SQLFlow Netezza 専用の方言パーサー (同梱されている 39 種類の方言専用パーサーの 1 つ) を使用して Netezza コードを解析し、マップを自動的に構築します。ほとんどの 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への移行を計画(または既に実行)しています。
こうした移行はどれも同じ壁にぶつかります。それは、誰も正確な依存関係グラフを持っていないということです。ドキュメントが存在するとしても、それはウェアハウスの設計段階の説明であって、成長過程の説明ではありません。データリネージなしで移行すると、2つの失敗モードのいずれかが発生します。すべてを移行する(何も読み取れないテーブルを再プラットフォーム化するために費用を支払う)か、重要と思われるものだけを移行し、新しいプラットフォームで月末レポートが失敗したときにギャップに気づくかのどちらかです。
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で実行すると、図には対象テーブルに対する2種類の異なる依存関係が示されます。
- 直系の血統 —実際に出力に表示されるデータ:
mart.customer_revenue.net_revenue供給源はステージ注文数とステージ注文割引引き算と和;地域コード供給源はdim.customer.regionを通してサブストラ;会計月によるステージ.注文.注文日を通してTO_CHAR. - 間接的(影響)系統 — 出力には含まれないものの、出力に影響を与える列:
o.注文ステータスでどこ条項およびo.cust_key/c.cust_key結合条件で。それらのいずれかを削除または再定義し、純収益変化は起こるが、そこから何の価値も生み出されない。
SQLFlow は直接的および間接的なリネージを、切り替え可能な別々の関係タイプとしてモデル化します。ほとんどのリネージ ツールでは、この区別はまったく行われません。移行作業では、間接的なエッジに予期せぬ問題が潜んでいます。汎用ツールが無視するフィルタ列は、ターゲット プラットフォームで意味が変更され、数値が静かに変化する列です。SQLFlow はまた、CTE、サブクエリ、ビュー、および 選択 * 拡張により、ネテッツァの長期にわたる農園に典型的な、複数の視点を重ね合わせることで、系譜の正確さが保たれる。
系統に基づいて構築された移行ワークフロー
Netezzaを引退させるチームは、4つの段階を経て系譜を継承していく。
- 敷地の地図を作成する。 SQLFlowにDDL、ビュー定義、ETLスクリプトを供給します。SQLの貼り付け、ファイルのアップロード、JDBC経由でのメタデータの取得などが可能です。エンタープライズ環境では、100以上のデータベースと100万以上の列からなる環境をバッチスキャンして永続的なリネージリポジトリに格納し、移行期間中はコード変更に応じて増分スキャンを実行します。
- 引っ越す前に剪定しておきましょう。 系統グラフにおいて下流のコンシューマーが存在しないテーブルやビューは、移行するよりも廃止する方が望ましい。移動しないオブジェクトはすべて、翻訳、テスト、保存費用を支払う必要のないコードとなる。
- 切り替えの手順を順序立てて実行してください。 依存関係グラフは、どの要素が一緒に移動する必要があるかを示します。各ソーステーブルから下流をたどって、そのテーブルを移動させた場合の影響範囲全体を把握し、各クリティカルレポートから上流をたどって、そのレポートが切り替わる前にターゲット上で稼働していなければならない最小限のオブジェクトセットを把握します。
- 孤立したファイルが存在しないことを確認してください。 翻訳後、対応する方言パーサー(Snowflake、Redshift、BigQueryなど、サポートされている39の方言すべてが含まれます)を使用して、ターゲット側のSQLをSQLFlowで実行します。両方のグラフを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 以降では、平易な英語で質問することもできます(「フィードは mart.customer_revenue.net_revenue?)そして、AIが引用するすべての表と列は、表示される前に分析されたグラフに対して検証されます。
この顧客層にとって、導入状況は重要です。Netezzaの資産は、銀行や保険会社に偏って集中しています。 SQLFlow オンプレミス 必要に応じてエアギャップされたネットワーク内でDockerまたはKubernetesで実行されるため、SQLテキストがインフラストラクチャから出ることはありません。SQLFlow Cloudには、ブラウザでクエリを試せる無料ティアがあります。プレミアムは月額$49.99、オンプレミスは月額$500、または選択したデータベースタイプごとに1回限りの$4,800です(参照)。 価格設定).
Netezzaと兄弟機との比較:1つのエンジン、一貫した系譜
Netezzaは単独で使用されることは稀です。多くの企業はTeradataと併用しており、移行先は通常クラウドウェアハウスです。SQLFlowは39のすべての方言で同じデータフローエンジンを使用しているため、抽出されるデータリネージはプラットフォーム間で直接比較可能です。
| プラットフォーム | Netezzaの典型的な店舗における役割 | 系譜ページ |
|---|---|---|
| ネテッツァ | 旧型機器が廃止されます | このページ |
| テラデータ | もう一方のレガシーMPPウェアハウスは、多くの場合同じプログラム内で移行されます。 | Teradataデータリネージ |
| スノーフレーク | 最も一般的な移行対象。SQLFlowはSnowflakeのクエリ履歴も読み取ります。 | Snowflakeのデータ系統 |
| Amazon Redshift | AWS側の一般的なターゲット。SQLFlowはRedshiftのクエリログも読み取ります。 | Redshiftデータの系譜 |
オープンソースのパーサーを使えばいいんじゃないですか?
主流の言語での個々のクエリについては、次のようなオープンソースプロジェクトがあります。 SQL Lineage と sqlglot これらは本当に優れており、数百のクリーンなSELECT文しかない環境であれば十分かもしれません。ギャップは、Netezzaの廃止によって発生するワークロードにまさに現れます。汎用ANSI文法では調整されていないレガシー方言、実際のスキーマメタデータに対して意味解決とスター展開が必要なビュースタック、フィルタと結合条件による間接的なリネージ、そして数千のスクリプトと2つのプラットフォーム間で同時にリネージを視覚化して差分比較する必要性です。カテゴリ別に見ると、カタログファーストのプラットフォームとランタイムログベースのリネージツールは、ここで別の制限に直面します。廃止するアプライアンスは、新しいコレクションインフラストラクチャをインストールしたくない場所の1つです。公平なテストは安価です。最も見苦しい本番変換を取り出し、両方で実行して、列のエッジを比較します。SQLFlowが抽出するものの全体像は、 SQLデータリネージツール 柱となるページ。
よくある質問
SQLFlowには、Netezza専用のパーサーが搭載されているのでしょうか、それとも汎用的なSQLパーサーなのでしょうか?
正真正銘のNetezzaです。NetezzaはSQLFlowに搭載されている39種類の言語固有のパーサーの1つで、汎用SQLパーサーエンジンをベースに構築され、約13,600個のSQLフィクスチャからなる言語ごとの回帰テストコーパスで検証されています。Netezza構文はANSIとして近似されるのではなく、Netezzaとして解析されます。
Lineageは、移行前に削除しても安全なNetezzaテーブルを教えてくれますか?
はい、分析対象のSQL内で、リネージグラフに下流のコンシューマーが存在しないテーブルやビューは、すべて廃止候補となります。SQLFlowには、データウェアハウスにアクセスするすべてのSQL(ビュー、ETLスクリプト、レポートクエリなど)を供給し、処理を実行する前にグラフがすべてのコンシューマーを網羅するようにしてください。
SQLFlowは、私のNetezzaアプライアンス上のデータにアクセスする必要がありますか?
いいえ。SQLFlowはSQLコードの静的解析を行い、必要に応じてスキーマメタデータ(テーブルと列の定義)を読み取ります。テーブルの行を読み取ることはありません。オンプレミス版では、SQLテキストもネットワーク内に留まります。
移行によってすべての依存関係が保持されたことを確認するにはどうすればよいですか?
元の Netezza SQL と、翻訳された Snowflake、Redshift、または BigQuery SQL をそれぞれの方言パーサーで解析し、両方のリネージグラフを JSON または CSV 形式でエクスポートして、列レベルのエッジを比較します。Netezza には存在するがターゲットには存在しないエッジは、翻訳によって削除された依存関係です。
SQLFlowを使ったNetezza移行プロジェクトの費用はいくらですか?
SQLFlow Cloudは無料で利用開始でき、プレミアムプランは月額$49.99です。SQLFlow On-Premiseは、選択したデータベースタイプごとに月額$500または1回限りの$4,800で、2台のサーバーにインストール可能です。追加のデータベースタイプは、それぞれ月額$100または1回限りの$1,000です。
引っ越し前にネテッツァの不動産を地図に描いてみましょう。
Netezzaの変換ファイルを無料のビジュアライザーに貼り付けるか、移行前にアプライアンス全体をスキャンすることについてご相談ください。