SQLも叩けない、クラウドも触ったことがない三十代元インフラエンジニアの私。今やクラウドでなんでも出来、データに価値を見出す時代に危機感を覚え、エンジニアなら発信するべきだろという信念のもとに綴る

やましーデータ活用クラウドエンジニアになる

クラウド データ基盤

【ベストプラクティス】ビッグデータ活用のために必要なデータ基盤とは

更新日:

こんにちは。やましーです。

ビッグデータ活用が叫ばれるようになってから久しいですが、未だに多くの企業ではビッグデータの活用が進んでいません。

売り上げ促進、経費削減など様々なビジネス課題を解決する可能性を秘めているビッグデータの活用。

なぜビッグデータ活用が進まないのでしょうか。

あなたはこんなことを思ったことはありませんか。

  • あのデータってどこにあったっけ?
  • これいつ時点のデータだ?
  • 同じようなデータをあっちの部署でも作ってたぞ
  • あの部署で集計していたデータを見たいんだけど

データ活用が進まないひとつの答えとして、各部署、各業務、各システムそれぞれでデータがバラバラの場所に保管されていて、どこにどんなデータがあるのかがわからない状態となってしまっています。これをデータのサイロ化といいます。

しかもこのサイロ化したデータが、時系列に整理されていなかったり、フォーマットが違ったり、欠損していたり、重複していたり、とカオスで使いづらい状況となっているためデータ活用の妨げになっているのです。

今日はこのカオスでサイロ化した状態に陥らないために有効なデータ基盤とはどんなものなのか、その鉄板アーキテクチャとともに説明したいと思います。

この記事は次のような方を読者として想定し知ます。

  • 初めてデータ基盤構築を行うことになったエンジニア
  • ビッグデータ活用したいんだけど何が必要なのか知りたい方
  • 単純にデータ基盤に興味がある方

データ基盤とは

結論です。データ基盤とは

  • データを蓄積し
  • データを活用する

ための基盤です。

では、さらに詳しく説明したいと思います。

データを蓄積するとは

各業務システム等で生成したサイロ化されたデータ(購買履歴や生産数量や広告、監視カメラの映像)を1か所に集めることでデータを活用しやすくします。

近年ではAIなどマシンラーニングを取り入れるため膨大なデータを必要とします。しかし必要になってから溜め始めては、遅いですよね。

使える状態にしておくことが大切です。

そして、この蓄積で最も大切なのは「データを消さない」ということです。

当たり前だと感じたかもしれませんが、通常の業務データベースであればその瞬間の状態を保存していて、状態が変われば上書きされてしまいます。

そういった過去どのような状態を経てきたのかそういう、過去の状態を時系列で残しておくいうことがデータ基盤として大切なんです。

過去のデータとはその企業におけるノウハウの蓄積であり、生きた証。

人間でいうと知識や経験ということになります。人間は経験や知識を忘れてしまいますが、データ基盤に保存しておけば忘れることはありません。

データを活用するとは

集まったデータを分析、解析をすることで、売り上げ向上、コスト削減、人員最適化、リスク回避、マーケティングなどさまざまな角度からビジネスを有利に進めることを言います。

データは溜めて置くだけではゴミです。その中からしっかりと分析を行いビジネスの成長につなげていくことで初めてデータ基盤を構築した価値が生まれます。

人間でいうと経験豊富な人が集まりイノベーションを起こすことにより一人の知識ではなしえなかったような新たな発見や気づきが得られます。

つぎにデータ基盤の現在における鉄板アーキテクチャの構成要素を説明します。

データ基盤の構成

データ基盤は次の3つの要素で構成するのが定番のアーキテクチャとなっています。

  • データレイク
  • データウェアハウス
  • データマート

すべてデータを貯めておく場所ですが、データの目的や用途、種類によって場所が異なります。データの流れとしては

各業務システム

データレイク

データウェアハウス

データマート


分析ツール

となります。

これらをクラウド上で実現することでスケールアウトが素早く容易に行え、初期費用が小さく導入を容易なものにすることができます。

データレイクとは

データレイクには各業務システムから得られるすべてのデータをそのままの形で置いておく場所になります。 すべてのデータをそのまま という所が大切です。

この後、分析をするために整形していくのですが、その元データがどこにも残っていないと整形しなおすことが困難になってしまいますし、整形には工数もかかってしまうので、まずは何もせず、とりあえず溜めておく場所になります。

データレイクに溜めるデータの形式は特に問われることはありません。

  • 非構造化データ(画像、動画、音声、テキスト等)
  • 半構造化データ(JSON、XML、キーバリューストア等)
  • 構造化データ(CSV、Excel、リレーションデータベース、等)

を溜めていくことになります。

対応するデータレイクのクラウドサービス

データレイクの具体的なクラウドサービスの例はこちら。

AWS Amazon S3( Amazon Simple Storage Service)
Azure ADLS(Azure Data Lake Storage)
GCPGCS(Google Cloud Storage)

データウェアハウスとは

データウェアハウスはデータを取り出しやすいようにデータレイクに溜めたデータを構造化データとして整形して溜める場所になります。

すなわちSQLで処理できるようにする場所ということです。

そしてデータを統合するために項目名やコードを統一して溜めることになります。

さらに過去のデータもすべて 時系列で溜める場所になります。

まとめると

  • 構造化データを溜める
  • 項目名やコードを統一して溜める
  • 時系列で溜める

そんな場所です。

対応するデータウェアハウスのクラウドサービス

データウェアハウスの具体的なサービス例はこちら。

AWSAmazon Redshift
AzureAzure SQL Data Warehouse
GCPBigQuery

データマートとは

データマートにはデータウェアハウスから特定の用途や部門向けに必要なデータだけを取り出して結合や削除、集計などあらかじめ加工してデータを溜めておく場所になります。

また、ユーザーはデータマートに分析ツールを接続してデータを参照する場所になります。

データマートはデーウェアハウスに比べて溜めてあるデータ量が少なくレスポンスが早いのが特徴です。

さらにデータウェアハウスは大規模なデータを高速に処理するために複数台のコンピュータを分散して処理を行います。そのため、小さなデータを処理しようとすると逆に時間がかかってしまいます。

ユーザーがアクセスをデータマートにすることで、データウェアハウスへアクセスが集中するを避けることができるので負荷も分散されます。

まとめると

  • 特定部門向けのデータを溜める
  • 分析しやすいようにデータを溜める
  • 分析ツールで接続してユーザーが直接使う

対応するデータマートのクラウドサービス

データマートの具体的な対象製品の例はこちら。

AWSAmazon RDB
AzureAzure SQL DataBase
GCPBigQuery

データ基盤の活用

このようにデータ基盤の構成要素を見ればどのようにデータを蓄積しているかがわかると思います。

では、次にデータ基盤に溜めたデータはどのように活用するのでしょうか。

主に次の4つがあります。

  • AI・機械学習
  • レポーティング分析
  • アドホック分析
  • 監視・ストリーミング

AI・機械学習

最近はこれをやりたいがための基盤構築というケースが非常に多くなってきています。

機械学習を行うために大量なデータを用いてモデルを作り、それを使って予測をすることでビジネスの優位性を高めます。

モデル作成には何度も何度もトライ&エラーを積み重ねる必要があり時間がかかります。

そのため、多くのコンピューターをその瞬間だけ使うことに長けているクラウドとは非常に相性が良いです。

レポーティング分析

毎月の売り上げ集計やなど財政状況を的確に把握するために収集したデータをBI(ビジネスインテリジェンス)ツールなどを使ってグラフにするなど可視化します。

または、データアナリストが分析を行い定期的にレポートとして表示させます。

そうすることで、企業として継続的な意思決定の指標に用いることができます。

アドホック分析

レポーティング分析は定期的に同じ切り口で分析するのに対して、アドホック分析は様々な切り口で、見る角度を変えて分析することで、それまで見えていなかった課題等を見つけ出す手法です。

どのデータとどのデータに関連があるかを見つけるためなので、データ基盤にデータが集約されているとデータアナリストやデータサイエンティストの負担が軽減されます。

監視・ストリーミング

システムを稼働させると何かしらのログが出力されます。このログを逐次(ストリーミング)分析することで、リアルタイム対応をすることができ損失(機会損失)を最小限に抑えることができます。

例えば不正侵入検知であったり、IoTとして機器に取り付けたセンサーにより、故障予測検知であったり、またはユーザーの動作によって広告の内容を変るなどの動作が可能になります。

まとめ 

データ基盤とはどのようなものなのか、なんとなくではあるものの理解できたのではないでしょうか。

おさらいです。

データ基盤とは

  • 「データを蓄積し」
  • 「データを活用する」

ための基盤でした。

定番の構成要素としては

  • 「データレイク」
  • 「データウェアハウス」
  • 「データマート」

の3つがあります。

活用例としては

  • AI・機械学習
  • レポーティング分析
  • アドホック分析
  • 監視・ストリーミング

最後に、今回鉄板アーキテクチャを紹介しましたが、IT、特にクラウドサービスは本当に日進月歩どんどん進化していて、その時正解だった構成も1年後にはさらに良いアーキテクチャで作ることが可能となります。

例えばMicrosoftのAzure Synapse Analyticsが2019年11月に発表されサービスインしました。これは Azure SQL Data Warehouse上位版でデータウェアハウスの在り方を変える可能性を秘めていたりします。

このように日々新しい技術をキャッチアップして常に何が最適なデータ基盤なのか考えて続けることが大切だと思います。

以上、最後までお読みいただきありがとうございました。

少しでもクラウドやデータ活用について理解が深まったのであれば嬉しく思います。

やましーでした。

-クラウド, データ基盤

Copyright© やましーデータ活用クラウドエンジニアになる , 2019 All Rights Reserved Powered by STINGER.