第10章. データ可観測性デザインパターン
この作品はAIを使って翻訳されている。ご意見、ご感想をお待ちしている:translation-feedback@oreilly.com
前章のデータ品質デザインパターンは、データセットの関連性を保証するために極めて重要である。しかし、これらは主にデータそのものに焦点を当てているため、データ品質ソリューションだけに頼っていては、データエンジニアリングスタックをエンド・ツー・エンドでコントロールすることはできない。
これをよりよく理解するために、例を見てみよう。AWAP(Audit-Write-Audit-Publish)パターンは、質の悪いデータの処理に対する素晴らしい保護メカニズムである。残念なことに、AWAPジョブがすべての問題を完璧に検出したとしても、トラブルに巻き込まれる可能性がある。この例として、上流のフローが中断されたためにAWAPジョブが実行されず、それに気づかない場合がある。
この章のデータ可観測性デザインパターンは、システムにモニタリングとアラート機能を追加することで、データ品質が残したギャップを埋める。これらの余分な問題に対処するために、可観測性パターンのソリューションは、検出と追跡という2つの柱に依存している。
検出デザインパターンは、データや時間に関連するあらゆる問題を発見する。前述したAWAPのデータフロー中断問題を処理するのに最適な候補となるだろう。また、バッチジョブの完了に時間がかかりすぎる場合に、それを通知するのにも役立つだろう。
トラッキング・デザイン・パターンは、データセット、カラム、データ処理レイヤーの関係を理解することに重点を置いている。大規模な組織では、しばしば異なるチームにまたがるデータ生成グラフを発見するのに役立つ。また、特に複数の入力から作成されたカラムに関しては、個々のカラムの変換ロジックを理解するのにも役立つ。
この短い紹介で、可観測性デザインパターンは「運用チームがやるべきこと」のように聞こえるかもしれないが、我々データエンジニアにとっても重要であることを納得してもらえるだろう。そして、この点をさらに深く理解するために、最初の可観測性デザインパターンであるデータ・ディテクターに目を向けてみよう。
データ検出器
データエンジニアはデータを処理する。当然のことながら、最初の可観測性カテゴリーは、データの観点からシステムの正常性を分析するのに役立つ。
パターンフロー中断検出器
データ関連の深刻な問題の第一は、データセットが利用できないことである。この問題はシステムに強い影響を与える。なぜなら、データがなければデータ処理ジョブは実行できず、その下流の依存関係にあるデータも利用できなくなるからだ。
問題
ストリーミングジョブの1つの、オブジェクトストアにデータを同期する。同期されたデータセットは、異なるチームが管理する多くのバッチジョブ( )のデータソースである。ある日、入力レコードをオブジェクトストアに書き込むことなく処理してしまった。
ジョブが失敗しなかったので、あなたは問題に気づかなかった。コンシューマの一人が、処理する新しいデータがないと苦情を言ったときに初めて、何かが間違っていることに気づいたのだ。コンシューマからのフィードバックに頼るのではなく、このデータ利用不能のシナリオを検出するための新しい可観測性メカニズムを導入したい。
解決策
データ利用不能エラーを捕捉し、結果としてデータの信頼性を高めるには、フロー中断検出パターンに頼ることができる。 ...