データの依存関係をマップすることが重要な理由とその実行方法
公開: 2022-12-18編集者注: この記事は、もともと 2021 年 2 月 8 日に Iteratively ブログで公開されたものです。
ある時点で、乱雑でまとまりのない技術スタックで作業することになります。 おそらく、あなたの組織は、他の人とどのようにやり取りするかを考える前に、新しい製品を使い始めました。 または、他の誰かのコードを継承しました。 データの依存関係をマッピングすると、データがどのように流れ、スタック内のシステムと相互作用するかがあなたとあなたのチームに示されます。
企業はデータの急増によって損失を被り、セキュリティの脆弱性や費用のかかる規制の影響を受けやすくなります。
データ依存関係マップを持つことは、技術スタックをよりよく理解するのに役立つだけでなく、より多くの情報に基づいた意思決定を行うことも可能にします。
物事をきれいにするためにできることは次のとおりです。
依存関係マッピングの利点
最初は、セットアップに多くの余分な作業が必要に思えるかもしれませんが、そうなる可能性もありますが、データ依存関係マップを作成する必要がある明確な理由があります。
データ依存関係マップは、データの全体像を提供し、データ チームがより優れた追跡計画を設計できるようにします。 また、分析コードが更新または削除されたときに追跡システムが壊れないようにすることもできます。 これは、ソースでコードを変更し、下流のシステムに影響を与える場合に特に重要です。 変更が依存するシステムに与える可能性のある影響を追跡すると、変更によって依存するシステムが壊れる可能性がある場所を確認できるため、チームの時間を節約できます。
いいですね。 データ依存関係マップを作成すると、多くの利点が得られます。
テクノロジー環境の理解を深める
適切に設計されたマップを使用すると、誰でもシステムがどのように相互作用するかを簡単に確認でき、どのシステムがデータと相互作用し、データがどこに移動するかを段階的に追跡できます。
これは、将来の製品やコンポーネントの計画にも役立ちます。データの統合や移行をどこで支援できるかがわかります。
精度の向上
データの依存関係をマッピングすると、データがソースから宛先に移動するときにデータの正確性を維持するのに役立ちます。 これは、データセンターの品質に対する信頼を築く上で大いに役立ちます。
チームにインフラストラクチャと依存関係の完全なビューを提供することで、各コンポーネントが他のコンポーネントとどのように連携するかを追跡できます。
また、データ依存マップを使用して、アプリケーションの中断の根本原因を特定することもできます。 アプリケーションに問題がある場合は、問題が発生した場所から開始し、マップに沿って戻って、特定の根本原因があるかどうかを確認できます。 それはインフラストラクチャにありますか? アプリケーション? 外からの脅威?
リスクの特定が容易
データの依存関係をマッピングすることで、ユーザーは技術スタックを明確に把握できるようになり、ビジネスを危険にさらす可能性のある障害点を特定するのに役立ちます。 通常、データ マッピングは次の分野で企業を支援するため、適切に行われれば、組織にとって効果的なツールとなります。
- データ品質:データ ソースの膨大な量が増加するにつれて、データ マッピングはこれまで以上に複雑になります。 データの依存関係をマッピングすることで、データ モデル間のギャップを埋め、意思決定者がスタック全体でデータがいつ移動するかを分析できるようにします。
- サイバー攻撃とデータ侵害:企業がデータから洞察を得るにつれて、ユーザーの情報を保護することが必須になっています。 データ マップは、組織が主要なデータ セットを保存、処理、送信する場所を特定するのに役立ちます。 組織がこれを理解すると、機密情報が悪意のある人の手に渡るのを防ぐために必要な措置を講じることができます。
依存関係マッピングの前に考慮すべきこと
もちろん、付箋を使って物理的な地図を作成することもできますが、デジタル バージョンを作成するのに役立つデジタル ツールがたくさんあります。 ただし、データ マッピングを開始する前に、次の 2 つの点を考慮する必要があります。
まず、依存関係の方向性を決定します
依存関係マッピングを開始するときは、どのように失敗するかを知ることが重要です。 どこで障害が発生するかを判断することで、スタック内の脆弱性を特定します。 組織内の障害をより迅速に特定できれば、目前の問題を解決する最も迅速な方法を見つけることができます。 これは、従業員の時間を節約するだけでなく、長期的には組織のお金も節約します。
単純にする
データ マップは、多くのデータ ソースを考慮して包括的である必要がありますが、理解するのが複雑であってはなりません。 データ マップには、組織に関連する情報が含まれており、定期的に更新する必要がありますが、依存関係をマッピングする際にやりすぎる必要はありません。 複雑なデータ マップは、組織にとって役立つどころか、害を及ぼす可能性があります。
データ マップは素人が理解できるほど単純であるべきです。そうすれば、次にスタック内で問題が発生したときに、同僚が問題の根本を簡単に見つけて、妥当な時間内に解決できます。
最も一般的な 3 つのデータ依存関係マッピング手法
データ マッピングは組織の技術スタックの複雑さによって異なりますが、これら 3 つのデータ依存関係マッピング手法は企業間で最も一般的です。
1.手動マッピング
ほとんどのデータ システムは、手動で追跡するには複雑すぎるところまで成長しています。 ただし、データ システムが小さく、システムの拡張が見込めない場合は、手動マッピングから始めることをお勧めします。
手動マッピングでは、開発者は SQL、C++、XSLT、Java などの言語を使用します。 このソリューションには事前に多くの作業が必要ですが、実行することはできますが、スキーマや自動マッピングほど効果的ではありません。
2. スキーマ マッピング
スキーマ マッピング ソフトウェアは、データ ソースをターゲット スキーマと比較し、接続を生成します。 それが完了したら、開発者は手動でソフトウェアに入り、情報が正しいことを確認し、必要に応じて変更を加える必要があります。
データ マップが完成すると、ソフトウェアはデータをロードするコードを生成します。 これは、先に進む前にソフトウェアによって行われた作業をチームが再確認することに依存しているため、半自動戦略と呼ばれることがよくあります。
3. 自動マッピング
自動化されたソリューションは、コーディングの経験を必要としないため、ますます人気が高まっています。 これらのソフトウェア ユーザーは、データベース間で線をドラッグ アンド ドロップすることで、適切な時間内に関係を簡単にマッピングできます。 これらのソリューションは面倒な作業のほとんどを行いますが、ユーザーは人的エラーをチェックすることをお勧めします。
データの依存関係をマッピングするためのツール
幸いなことに、データの依存関係をマッピングする際に役立つツールが多数用意されています。 以下にいくつかの推奨事項を示します。
- Datafold: このデータ リネージ企業は、企業がデータ エコシステムを視覚化するのに役立ちます。 これにより、あるテーブルのスキーマを変更しても他の機能には影響しないことが保証されます。 同社は企業向けに無料版を提供していますが、有料のソリューションには、Slack の統合や製品内のライブ チャット サポートなど、さまざまなメリットがあります。
- モンテカルロ: データ スタック全体をカバーする完全に自動化されたデータ リネージ ソリューションであるモンテカルロは、データが破損したときに組織に警告を発します。 つまり、問題がエンド ユーザーに届く前に修正できるということです。 これは、データ スタック全体をカバーする完全に自動化されたソリューションです。 モンテカルロは、企業が無料トライアルを開始できる有料ソリューションです。
- Datadog : Datadog の APM ツールを使用すると、組織はサービスの依存関係を把握しながらリアルタイムで監視し、システムがダウンしたときにユーザーに警告することができます。 同社は、最大 14 日間の無料トライアルを提供しています。
- Prometheus: このオープンソース ソリューションを使用すると、アプリケーションのパフォーマンスを監視できます。 このソリューションは、高い信頼性とアップタイムで知られています。 Prometheus は、アプリケーションの動作に大きな変化があればアラートを出すので、すぐに原因を調査できます。
データ依存関係マッピングが適している理由
真のデータ駆動型の企業は、データの依存関係を明確にする必要があります。 適切にマッピングされていない、またはまったくマッピングされていないデータは、データが組織内を端から端まで移動するときに、最終的に下流の問題につながります。 データの依存関係をマッピングすることは、特にデータに依存して情報に基づいたビジネス上の意思決定を行う場合、ビジネスにとって恐ろしい作業です。
データの依存関係をマッピングすることは、後で感謝するタスクと考えてください。 私たちは完璧ではありません。現在のソリューションがどれほど完璧であると考えていても、データはある時点で壊れるものです。 それはオッケーです。 データの依存関係をマッピングするプロセスにより、データが破損した場合に、後で大きな問題が発生することはありません。 時間をかけてデータの依存関係を計画してください。 障害の影響を受けた他のシステムを探し出す時間を大幅に節約できます。 データ マッピングを正しく行うと、組織のデータが正しいだけでなく、信頼できるものになります。
あなたの組織は、データの依存関係のマッピングを開始しましたか? 共有したい教訓はありますか? 振幅コミュニティに参加してください。