SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

【デブサミ2017】セッションレポート(AD)

メタデータ管理は全ての事業の基礎となる――多彩なサービスを提供するYahoo! JAPANが立ち向かう、データ管理についての課題と挑戦【デブサミ2017】

【16-A-1】「データテクノロジースペシャル」Yahoo! JAPANにおけるメタデータ管理の試み

  • このエントリーをはてなブックマークに追加

データマネジメントのためのフレームワークとYahoo! JAPANが抱える課題

 データマネジメントに役立つフレームワークは主に2つある。

 1つはプロジェクト管理の知識体系であるPMBOKを元に作られた「DMBOK(Data Management Body of Knowledge)」で、これはデータマネジメントを包括的に進めるための共通の認識や規範を作ることを目的にした知識体系だ。

 もう1つは、ソフトウェア開発時に企業のプロセスの成熟度を定義したモデル「CMMI(Capability Maturity Model Integration)」を作った団体がデータにフォーカスして作成した、データプロセスの成熟度モデルである「DMM(Data Management Maturity)」だ。

 しかし、Yahoo! JAPANのように多くのサービスを提供している企業の場合、データマネジメントには難しいポイントがいくつかあるという。

データ構造の問題

 Yahoo! JAPANで取り扱っているデータは、構造がまちまちだ。その中でもログデータは多くの割合を占めるが、それらは形式が定まっていない準構造化データだ。また、画像や音声などの非構造化データも多い。そのため、管理するデータが構造化データのみであるケースと比較すると管理が煩雑になりがちだ。

事業構造の問題

 Yahoo! JAPANの事業領域は多岐にわたり、それぞれが独立した部門でサービスを提供している。そのため、全社横断でデータを取り扱うことが難しいという問題がある。

企業文化の問題

 Yahoo! JAPANには自立的な社員が多く、ボトムアップで物事を進めていく事も数多い。そのため、各自がデータマネジメントの必要性を理解してモチベーションを上げていく必要がある。

データマネジメントの優先領域を定義

 このような課題がある中、吉野氏のチームはDMBOKやDMMを参考にマネジメント領域を定義した。そして、現時点で「できていること」「できていないこと」を分析し、領域ごとに「やるべきこと」を整理していった。さらに、「いつまでにどれくらいの優先度で行うか」と、いうことをまとめていった。

Yahoo! JAPANの考えるデータマネジメント領域
Yahoo! JAPANの考えるデータマネジメント領域

 吉野氏は、現在注力している領域を具体例として4つ紹介した。

データスチュワードシップ

 全社横断的にデータの課題を議論する枠組みが存在しない中、全社規模でデータに関する課題の共有、解決をできるようにするための組織・役割の検討を行う活動だ。各サービスに従事して実際にデータを扱う人にも参加してもらい、意見を聞くこともある。

データ標準化

 全社に共通した「データ設計」「用語集」「KPI」などの標準がないため、その策定を目指している。そして、決めた標準を基にして達成度や成熟度を計測し、評価まで行いたいと考えている。

 さらに、データを標準化することで意志決定のスピードが上がることを狙う。各サービスの事業部門に対しては「標準にのっとると楽になる」という意識を定着させていく。最終的には全社が最適化されることを目指す。

データライフサイクル/エコシステム

 現在のYahoo! JAPANではデータの保管・運用コストと活用による効果のバランスが十分に把握しきれていない。そのため、蓄積しているデータの利用状況を可視化し、把握することでより良いサイクルを回していくことを目指している。

 例えばHadoopのアクセス回数を蓄積した時期別に確認すると、半年以上前のデータへのアクセスは少ないことが分かる。この情報があることにより、「半年以上前のデータは遅いが安価なストレージに置く」と、いった方針を立てやすくなる。

メタデータ管理

 メタデータとはデータに付随しているデータのことだ。例えば図書館や書店にある本に書かれていることはデータそのもので、その本のタイトルやあらすじ、著者、出版社、版、価格など、その本を管理するのに必要なデータがメタデータということになる。

 データを資産と捉える上で、「どこにどのようなデータが存在しているのか」という情報を管理することは非常に重要だ。

メタデータの分類

 吉野氏は、企業に関わるメタデータを以下のように分類している。

メタデータの種類
メタデータの種類

 「データの価値」はデータの利用価値そのものである。資産としてのデータの活用を進めていく中で管理が必要になってくる項目であり、例を挙げると、データによる意思決定や利用の実績、そのデータの持つポテンシャルの試算値などが該当する。

 「データ品質」は、データの品質の良しあしを判断するためのメタデータだ。例えば「NULL」が含まれてはいけないデータの精度を可視化したい場合、一定の割合を超えると品質が悪い、といった判断ができる。

 「データフロー」(データリネージとも呼ばれる)はデータの加工元から加工先の関連を示す情報である。データの利用が活性化し、データの連携や加工が高度化してくると重要性が高まるものだ。

 「運用メタデータ」は、SLAや連絡先、データのオーナーなどの情報が該当する。

 「ビジネスメタデータ」は、ビジネスとして利用する上で必要となるデータのことを指す。日本語の説明やコード体系、例えば性別を「男性=0、女性=1」と定義した情報が当てはまる。

 「テクニカルメタデータ」は、プラットフォームの処理系に依存するフィジカルなメタデータだ。テーブルやカラムの定義、ファイルパス、サーバなどが該当する。

メタデータ取得とデータ資産把握、それぞれの課題

 上述のようにメタデータには多くの種類があり、自動で取得できるものと人の手を必要とするものがある。テクニカルメタデータに関しては自動で取得できることも多いが、ビジネスメタデータの場合はコード値の定義などを手動で行う必要がある。

 また、種類が多く、取得範囲も多岐に渡るメタデータにおいては、適切な範囲、種類においての取得選択が必要となってくる。どのデータを取得するのか、課題ベースで考えて選ぶことが重要となる。

 現在Yahoo! JAPANでは、データ資産の全体像が完全に把握できていないことで、データ資産の全てを活用しきれていないという課題を抱えている。「どのようなデータがあるのか、という事実だけでもいいので、一通りデータの存在を把握したい」と、吉野氏は語る。データを入力した本人しか把握できないものを社内で横断的に利用することは難しいからだ。また、人的リソースの問題が「人力で全てのデータを入力する」ということを困難にしている。その上、社内のWikiやExcelでバラバラに管理されているものを、管理しやすい状態に移行してもらうための動機付けも不十分なのだという――このように、さまざまな問題が積み重なっているという現状がある。

 では、このような問題をどのように改善していけばいいのだろうか。

 吉野氏は「自動的に取得可能なデータについては全て取得し、網羅率100%を目指す。データの充実度については、ルールとして取得する範囲をあらかじめ決めておく」と、改善策を述べた。

データ資産把握のイメージ。図の縦軸/横軸を共に伸ばしていく
データ資産把握のイメージ。図の縦軸/横軸を共に伸ばしていく

 さらに、構想段階の具体案を2点説明した。1つ目は、構造化/準構造化/非構造化といったデータの種類を問わず、100%取得する、ということ。

 2つ目は、課題に対して必要な範囲を決め、データを集める際の明確なルールを作っていく必要があるということ。例えばデータサイズの大きいもの、Hadoopのデータであれば上位10%を占めるサイズのものを取得することで全体の80%の量をカバーできるとする。すると、取得の優先度を決定しやすくなる。

 さらに、メタデータ管理については「定量的で明快なルールを定める」「全社的にデータの管理がしやすい組織を作っていく」の2段構えで取り組んでいく、とした。

 吉野氏は最後に、「データを資産と考えるのであれば、メタデータ管理は最初に基礎としてやらなければいけないこと。ひいては全ての事業の基礎、というつもりでやり遂げる必要がある」と、強調した。さらに、「技術的なノウハウを積みあげ、ビッグデータにおけるデータマネジメントに関してはグローバル基準でも模範となるような活動を目指したい」と展望を語り、セッションを締めくくった。

お問い合わせ

 ヤフー株式会社

この記事は参考になりましたか?

  • このエントリーをはてなブックマークに追加
【デブサミ2017】セッションレポート連載記事一覧

もっと読む

この記事の著者

CodeZine編集部(コードジンヘンシュウブ)

CodeZineは、株式会社翔泳社が運営するソフトウェア開発者向けのWebメディアです。「デベロッパーの成長と課題解決に貢献するメディア」をコンセプトに、現場で役立つ最新情報を日々お届けします。

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

【AD】本記事の内容は記事掲載開始時点のものです 企画・制作 株式会社翔泳社

この記事は参考になりましたか?

この記事をシェア

  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/10034 2017/04/14 21:32

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング