Verticaデータリネージ これは、Vertica SQL 内でデータがどのように流れるかを示す列レベルのマップです。どのソース列が各ターゲットテーブル、プロジェクション、レポートにデータを提供し、どの結合、フィルタ、集計、分析関数が途中でデータを変換するかを示します。 Gudu SQLFlow Vertica専用のダイアレクトパーサーを使用して、そのマップを自動的に構築します。SQLを静的に読み込み、すべての列参照を解決し、テーブルの行に一切手を加えることなく、インタラクティブな系統図をレンダリングします。
今すぐお試しください: Vertica クエリを貼り付ける 無料オンラインSQL系統可視化ツールVertica方言を選択すると、数秒で列レベルの系統図を取得できます。
Verticaの系統管理がSQL解析の問題である理由
Verticaは、物理設計の大部分がSQLで表現されている点で、分析データベースの中でも珍しい存在です。Verticaの中核となるストレージ構造であるプロジェクションは、 CREATE PROJECTION ... AS SELECT ステートメント。フラット化されたテーブルは、ディメンション属性を非正規化します。 デフォルト使用 と 設定方法 他のテーブルに対するクエリである列式。イベントデータに対するギャップフィルと補間は、 時系列 条項、 選択.
その設計はデータ系列に影響を与えます。ツールがVerticaの言語を正しく解析できれば、ETLスクリプトやビューだけでなく、ストレージ層自体を通してデータフローを復元できます。解析できない場合は、Vertica環境をVertica環境たらしめるステートメントを黙って破棄します。一般的なANSI文法パーサーは、 時系列射影定義をノイズとして扱い、クエリが内部に隠されているのを決して見ない 設定方法 表現。
SQLFlowには、方言固有のVerticaパーサーが同梱されています。 39の言語解析器それぞれが共有のANSI近似ではなく独自の文法を持ちます。SELECT、フラット化されたテーブル式、およびによって定義される射影を処理します。 時系列 句を第一級の SQL として扱い、CTE、サブクエリ、ビュー、および を通じて列参照を解決します。 選択 * 拡大。
実際の Vertica ステートメントからの列レベルの系統
典型的な Vertica パターンを考えてみましょう。 挿入...選択 事実データを集約し、分析関数を用いて順位付けする。
INSERT INTO mart.region_daily_rank (sale_date, region_name, total_amount, region_rank) SELECT s.sale_date, r.region_name, SUM(s.amount) AS total_amount, RANK() OVER (PARTITION BY s.sale_date ORDER BY SUM(s.amount) DESC) AS region_rank FROM fact.sales s JOIN dim.regions r ON s.region_id = r.region_id WHERE s.sale_date >= '2026-01-01' GROUP BY s.sale_date, r.region_name;
SQLFlowは、出力列ごとに、その列に入力されるソース列と、それらが通過する関数を識別します。
地域日次ランキング合計金額直接供給される事実.売上金額を通して和().region_daily_rank.region_rankから派生する売上金額経由RANK() オーバーウィンドウ、売上.販売日パーティションの形状を整える。販売地域IDとリージョンズ.リージョンID出力には表示されませんが、結合を通じてどの行が一致するかを決定します。SQLFlow はそれらを次のように記録します。 間接的な系統と共にどこフィルター販売日そしてグループ分け鍵。
直接的か間接的かという区別は、一見したよりも重要である。誰かが意味論を変えれば、 リージョンIDデータフローのみの系統追跡ツールではフラグを立てられません 地域別日別ランキング 影響を受けるが、その中のすべての数値が変わる。SQLFlow モデルは間接的な影響 (使用される列) をモデル化する どこ, 参加する、 と グループ分け 条件や内部集計など)を、図の中で切り替え可能な別の関係タイプとして表示します。競合するツールのほとんどは、このような区別を全く行っていません。
Verticaは方言パーサーのカバー範囲を構築します
| Verticaコンストラクト | 血統が隠されている場所 |
|---|---|
予測(CREATE PROJECTION ... AS SELECT) | 定義となるSELECT文は、アンカーテーブルの列を射影の列にマッピングします。これには、SQLで表現されたソートやセグメンテーションの選択肢も含まれます。 |
| 平らなテーブル | デフォルト使用 / 設定方法 式は、ディメンションテーブルに対するクエリをDDLに直接埋め込むため、DMLのみをスキャンするツールからは非正規化ロジックが見えなくなります。 |
時系列 句 | ギャップフィルと補間によって出力の形状が書き換えられます。句はSQLとして解析されるため、補間された列は本来のソースまで遡ることができます。 |
| 解析関数 | ランク, 行番号, 遅れ、およびウィンドウ集計: SQLFlow は、関数の入力と、結果を形成するパーティション/順序列の両方を追跡します。 |
ビュー、CTE、サブクエリ、 選択 * | 列参照はすべてのレイヤーを通して解決されるため、レポート列は最初のビュー境界で停止するのではなく、物理的なソース列までトレースされます。 |
老朽化したVertica環境の監査と移行計画
Verticaのインストールのほとんどは新規ではありません。10年以上蓄積されたSQLが毎晩実行されます。 挿入...選択 負荷、重ね合わせたレポートビュー、既に退職したエンジニアによって調整された予測。2つの状況により、チームは最終的にそれらすべてをマッピングせざるを得なくなった。
監査およびコンプライアンス。 規制当局や内部監査担当者は、列レベルの質問を投げかけます。どのソースフィールドからこの規制対象の数値が導き出され、どのような変換を経ているのか、といった質問です。経験則に基づく回答では、厳密な検証に耐えられません。SQLFlowは、あらゆる出力列の来歴チェーンを生成します。レポート内の数値から、すべてのビューとロードスクリプトを経て、物理的なソース列まで遡り、その証拠をJSON、CSV、またはPNG形式でエクスポートします。
移住計画。 VerticaワークロードをSnowflake、Databricks、またはBigQueryに移行するチームは、移行の順序を決定する前に、真の依存関係グラフ(どのテーブルが負荷を担っているか、どのビューが不要になったか、どのダウンストリームジョブが各ターゲットを使用しているか)を把握する必要があります。SQLFlowはこれらのすべての方言を同じエンジンで解析するため、移行前にVertica環境をマッピングし、移行後にターゲットプラットフォームで再構築されたリネージを検証し、途中で孤立したデータがないことを確認できます。他のMPPプラットフォームからの統合にも同じことが当てはまります。関連ページを参照してください。 Greenplumのデータ系統 と Netezzaのデータ系統.
SQLからVerticaのデータリネージを生成する方法
- SQLを収集する。 個々のクエリを貼り付けたり、スクリプト ファイルをアップロードしたり、JDBC 経由でスキーマ メタデータをリアルタイムで取得したり、Grabit/ を使用したりします。SQLFlow インジェスター メタデータを一括抽出するためのユーティリティがあります。単発の質問であれば、無料のビジュアライザーに単一のステートメントを貼り付けるだけで十分です。
- Vertica方言を選択してください。 SQLFlow は Vertica 固有の文法で SQL を解析し、結果として得られる意味モデルに対してデータフロー分析を実行します。その基盤となるエンジンは 汎用SQLパーサー, developed commercially since the mid-2000s and validated against roughly 13,600 per-dialect SQL test fixtures.
- 探索してエクスポートする。 インタラクティブな図をドリルダウンして、任意の列を上流または下流にトレースし、間接的な系統表示をオンまたはオフに切り替え、グラフをJSON、CSV、またはPNG形式でエクスポートしたり、独自のツールからREST APIを介してクエリを実行したりできます。
バージョン8.2.3以降では、次のような質問でグラフを平易な英語で調べることもできます。 「どの出力が売上金額に依存するのか?」また、AIが引用するすべての表と列は、表示される前に分析された系統図に対して検証されます。
どこで実行するか
SQLFlow Cloudには、ブラウザにクエリを貼り付けるための無料プランがあり、プレミアムプランは月額$49.99です。規制業界のVerticaの顧客は通常、 SQLFlow オンプレミス: お客様独自のネットワーク内でDockerまたはKubernetesを使用でき、エアギャップに対応しています。料金は選択したデータベースタイプごとに月額$500または1回限りの$4,800で、2台のサーバーにインストール可能です。いずれの場合も、分析は静的です。SQLFlowはSQLテキストとスキーマメタデータを読み取り、テーブル内のデータを読み取ることはありません。
エンタープライズ規模では、SQLFlowは100以上のデータベースと100万以上の列からなる環境をバッチスキャンし、増分スキャンによる永続的なリネージリポジトリを保持し、DataHub、Microsoft Purview、およびOpenMetadataにエクスポートするため、Verticaのリネージは組織が既に運用しているカタログに取り込まれます。
オープンソースの系統追跡ツールはどうでしょうか?
オープンソースのパーサーなど SQL Lineage と sqlglot これらは、標準的な SELECT および INSERT ステートメントから履歴を抽出するのに本当に役立ち、資産にそれしか含まれていない場合は、それで十分かもしれません。特に Vertica では、コミットする前に次の 4 つの点を確認する価値があります。ツールが次のような方言構造を解析するかどうか。 時系列 また、射影DDLについても、スキーマメタデータを使用してディープビュースタックを介して列を解決するか、結合条件とフィルタ条件を介して間接的な系統をモデル化するか、クエリごとにタプルを出力するのではなく、数千のスクリプトにわたってナビゲート可能な図を表示するかなど、様々な点が挙げられます。公平な評価は安価に行えます。最も複雑なVerticaロードスクリプトを用意し、両方の方法で実行して、それぞれが実際に何を解決するかを比較してみてください。
よくある質問
SQLFlowはVerticaの投影法を理解しますか?
はい。VerticaのプロジェクションはSELECT文で定義され、SQLFlowのVertica方言パーサーはその定義をSQLとして読み取ります。そのため、アンカーテーブルの列からプロジェクションへと、他のクエリ定義オブジェクトと同様にデータの流れが流れます。
TIMESERIES句と分析関数を解析できますか?
はい。Verticaパーサーは 時系列 句とウィンドウ/分析関数はネイティブ文法として扱われ、解析不可能な拡張機能としては扱われません。出力列は以下によって生成されます。 RANK() OVER (...) または、補間によって実際のソース列まで遡り、パーティション列と順序列を間接的な系統としてキャプチャします。
SQLFlowをVerticaクラスタに接続する必要がありますか?
いいえ。SQL を貼り付けるかスクリプト ファイルをアップロードすれば、データベース接続なしでリネージを取得できます。JDBC 経由で接続するか Grabit メタデータ エクストラクタを使用すると、スキーマ メタデータが追加され、解像度が向上します。 選択 * そして、大規模な不動産全体にわたって、修飾語のない列名が使われている。
SQLFlowは私のVerticaテーブルのデータを読み取りますか?
絶対にありません。SQLFlowはSQLコードの静的解析を行い、必要に応じてテーブルと列の定義を読み取ります。行データへのクエリは行いません。オンプレミス版では、SQLテキストもネットワーク内に留まります。
SQLFlowはVerticaからの移行計画に役立ちますか?
はい。まず、Vertica 環境の列レベルの依存関係グラフ全体をマッピングし、それを使用して移動順序を決定し、不要なオブジェクトを特定します。次に、ターゲットプラットフォーム (Snowflake、Databricks、BigQuery、およびその他 35 種類のプラットフォームが同じエンジンでサポートされています) でリネージを再実行して、再構築を確認します。
SQLFlowの料金はいくらですか?
SQLFlow Cloudは無料からスタート。プレミアムプランは月額$49.99。オンプレミスプランは、選択したデータベースタイプごとに月額$500または1回限りの$4,800で、最大2台のサーバーで利用可能。追加のデータベースタイプはそれぞれ月額$100または1回限りの$1,000。詳細は 価格ページ.
Verticaの不動産を地図上に表示
Verticaのクエリを無料のビジュアライザーに貼り付けるか、監査や移行のために数年分のSQLをスキャンすることについてご相談ください。