データ分析基盤の運用で失敗しないためのルールとは?

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

こんにちは、データデザイン部の尾崎です。

昨今、データに基づいたビジネスの意思決定を行うため、社内データを活用するプロジェクトを推進している企業が非常に多いです。

そのためにはデータ分析基盤を構築するのが定石ですが、その運用に失敗してしまい、効率的にプロジェクトが推進できていないケースがあります。

そのような事態を避けるためには、データ分析基盤における運用の秩序を保つことが大切になります。今回はそのポイントについて、お伝えしたいと思います。

データ分析基盤運用にて発生する問題

一般的にデータ活用プロジェクトにおいては、「データ分析基盤」にビジネスデータを蓄積し、それらのデータを「BIツール(ダッシュボード)」で可視化するという方法が取られます。

1. データ分析基盤とは

様々なシステムから日々連携されるデータを蓄積する基盤です。また、必要に応じてそれらのデータの整形を行い、保存する基盤としても利用します。
「データ分析基盤」の詳細については、以下の記事を参考にしてください。
 

データ分析基盤の基本と構築のポイント

 

2. BIツール(ダッシュボード)とは

データ分析基盤に集約されたデータを、グラフや表などを用いて可視化するためのツールです。
Tableau、Looker、AWS QuickSight、 Google Data Portal等が有名かと思います。

データ分析基盤に集約したデータをBIツールにて可視化する際、データ量が多いと読み込みとグラフ等の描画に時間がかかり、しばらく待たないとダッシュボードが表示されないという問題が発生します。

ダッシュボードの表示が遅いというのは、データ推進プロジェクトにとって致命的な問題です。
なぜなら、ダッシュボードを確認する必要のある関係者が、次第にそのボードを確認することを煩わしく感じて、利用しなくなってしまうためです。

通常、この問題を解決するためには「中間テーブル」を作成します。
中間テーブルとは、元データからダッシュボード描画のために必要最低限なデータを抽出・集約して作成される、データテーブルのことです。

 

 

ダッシュボードは社内の多くのステークホルダーが確認するものです。
従ってこのようなプロジェクトでは時を経るに連れて、ダッシュボードの数が段々と増えていきます。

勿論、それに合わせて必要となる中間テーブルも指数関数的に増えていきます。その際に運用ルールや体制などが整っていないと、様々な面で非効率が発生してしまいます。

データ分析基盤運用を成功させるためのルール

中間テーブルの増加に伴う、データ分析基盤運用の煩雑さや非効率性が高まることを防ぐためのいくつかのルールを以下に記載します。

中間テーブルの命名規則を定める

先述の通り、データ活用プロジェクトにおいては、中間テーブルの数が指数関数的に増えていきます。

限られた人のみが中間テーブルを作成するのであれば問題ないですが、様々な人が中間テーブルを作成する場合には、命名規則が存在しないと名前を見ただけでは用途が分からないテーブルが増えていってしまいます。

その結果、異なる名前で同じ内容の中間テーブルが作成されてしまったり、データ基盤責任者の運用保守作業が煩雑になったりします。

従って、テーブル名の接頭に用途に応じた単語を必ず入れるなど、業務内容に適した命名規則を設けることが大切です。

ドキュメント化を義務付けること

中間テーブルの作成を行った際には、作成した担当者がテーブル定義をドキュメントとして残すことを徹底することが重要です。加えて、ドキュメントは関係者が誰でも簡単に確認できる状態にしておくことが大切です。

他の担当者がその中間テーブルを利用して新たなデータを作成しようと検討した際に、ドキュメントが残っていないと毎度システムにログインしてテーブル仕様を確認する必要があり、非常に時間的な非効率が発生してしまいます。

合わせて、中間テーブル更新を行う定期ジョブの依存関係をドキュメントに記録しておくことも大切です。
データ分析基盤内のテーブル数が増えていくと、下図のような依存関係のある定期ジョブも増えていきます。

 

 

これらのジョブの実行が順番通りでなく誤って前後してしまうと、データの整合性に問題が生じたりジョブが失敗して落ちてしまったりするなど、問題が発生します。
よって、依存関係のあるジョブについてはドキュメント化して関係者に共有されていることが必須となります。

定期ジョブの実行時間に上限を定めること

多くのプロジェクトでは、中間テーブル更新の定期ジョブが実行できる時間帯が限られています。
例えば、ほとんどの人がダッシュボードにアクセスすることのない、毎朝3時~5時などです。

仮にこの時間の内に依存関係にある6つの定期ジョブを完了させるとした場合、それぞれの処理に20分以上かかってしまうと、該当の時間内に処理を終えることができません。

このように、処理時間の長い定期ジョブが溜まっていくと定められた時間内に、一連の処理を終了することが出来なくなってしまいます。
そのため、「1つの処理は5分以内」などのルールを定める事が重要になります。
そして、定めた時間内に終了しないジョブについては、より効率的なクエリを検討します。

最後に

データ活用プロジェクトを成功させるためには、運用ルールも重要であることをお伝えしたく、本稿を書きました。

もし、貴社のデータ活用プロジェクトでお困りのことがございましたら、お気軽にご相談いただければと思います。

お気軽にご相談ください

データ活用からAI開発まで、お客様の事業課題を解決するお手伝いをいたします。
どうぞお気軽にご相談ください。

お問い合わせ・ご相談はこちらから

WRITER
Kenta Ozaki

データエンジニア

尾崎   健太 Kenta Ozaki

不動産やメディア系の案件にて、AIアプリケーションにおけるシステム構築やデータ整形を担当。 Google Cloud Associate Cloud Engineer認定, JDLA Deep Learning for GENRAL 2019#2

最新記事

ページTOPへ