第5章. データバリューのデザインパターン
この作品はAIを使って翻訳されている。ご意見、ご感想をお待ちしている:translation-feedback@oreilly.com
不評な意見かもしれないが、ストレージのどこかに眠っているデータは本当の資産ではない。ほとんどの場合、システムにインジェストされた後、それは貧弱で、様々な品質の問題を抱えている。我々のユースケースアーキテクチャから、ストリーミングブローカーに取り込まれた訪問イベントを例にとってみよう。
ストリーミング・レイヤーのデータ・プロデューサはウェブ・ブラウザであり、ユーザのブラウザ・バージョン、言語、or演算子など、あらゆる貴重な技術情報を得ることができる。あなたのシステムで各訪問の技術的な部分を分析したいのであれば、それで十分だろう。しかし、特定のブラウザを使用している訪問者の共通点のような、より多くのことを知る必要がある場合はどうだろうか?各訪問イベントは、明示的な関係なしに個別のアイテムとして取り込まれるため、余分な労力をかけずにデータを関連付けることは不可能だ。
これは、データ価値のデザインパターンが役立つ典型的なシナリオである。その目的は、エンドユーザにとっての有用性を向上させるためにデータセットを補強することである。どうやって?この章で学ぶさまざまな解決策がある。
2つのデータセットを組み合わせたり、個々の属性を計算したりすることで、付加価値を増やす方法は、次のセクションで説明する「Data Enrichment」と「Data Decoration」パターンを使えばわかるだろう。とはいえ、これらのパターンはコンテキストを拡張するのには最適だが、先に引用した例のように、膨大な量のデータを持っていて概要が必要な場合には役に立たない。そのため、次はデータ集約やセッション化のパターンを見ていくことになる。さらに、レコードの順序が最も重要な状況で使用するデータ順序パターンについても説明する。
ウェブブラウザの問題やその他多くの問題を解決する方法に興味がある?データバリューのデザインパターンを実際に見てみよう!
データの充実
非常に 、技術的な制約から生データが貧弱になることがよくある。イベントはその最たる例だ。時間的、空間的属性を完璧に表現しているが、拡張コンテキストを欠いていることが多い。確かに、イベントの作成者を特定することはできるが、最終接続日やユーザプロファイルのスコアなど、追加情報を提供できることは稀である。データエンリッチメントパターンは、この制限を克服し、データを様々なステークホルダーにとってより有用なものにする。
パターンスタティック・ジョイナー
、エンリッチメント・データセットが静的な性質を持っている場合、つまり最も簡単な状況であれば、ここで紹介するStatic Joinerパターンを選ぶことになる。
問題
あなたのチームが開発したデータセットは、ビジネス関係者に広く利用されている。新しいプロジェクトで、あなたは、ユーザの登録日と日々の活動の間の依存関係の理解を単純化するためのデータセットを作成するように頼まれた。
残念ながら、あなたの生のデータセットにはユーザのコンテキストが含まれていない。静的なユーザ参照データセットでしか発見できない。ビジネス要求に答えるために、あなたは参照データをユーザのアクティビティに持ってくる方法を発見したい。
解決策
結合されたデータセットが休止状態であることは、Static Joinerパターンを使うのに最適な条件付きである。驚くことに、このデータは静止状態であるにもかかわらず、このパターンはストリーミング・パイプラインでも機能する。 ...