
こんにちは。やましー@データ活用クラウドエンジニアです。
売り上げ促進、経費削減など様々なビジネス課題を解決する可能性を秘めているビッグデータの活用。
しかしその活用が進んでいないのもまた事実です。
今日はビッグデータ活用に欠かせないデータ基盤の構成要素でもある「データレイク」について説明したいと思います。
データ活用の波は今後ますます大きなものになっていきます。
競合他社は次々とデータ基盤を導入してく中で、この波に乗り遅れてしまうとどうなるでしょう。
- あなたの会社は他社にシェアを奪われ、
- その理由もわからず、
- 根性論による業務効率化を押し付けられて
- 疲弊したサラリーマンとして一生を終えてしまうかもしれません。
逆に今のうちにデータレイクやデータ基盤知ることで
- データ基盤構築を社内で提案し、
- あなたの会社の業績にインパクトを与え
- 同僚に差をつけ
- 上司へアピールすることで
- 待遇が上がり最高な人生を歩むことができるかもしれません。
データ基盤について以前の記事で解説をしていますので併せてご覧ください。
今回の記事は次のような読者を想定しています。
- データレイクの概念について知りたい方
- ビッグデータを活用するために必要な情報収集がしたい方
- データ基盤を構築したい方
それではデータレイクについて説明していきたいと思います。
データレイクとは

まず結論です。データレイクとは一言でいうと
「すべての生データを置いておく場所」
です。
データ基盤の構成要素であるデータレイクですが、「すべての生データ」とは何でしょうか。
会社では営業部、製造部、販売部、人事部など組織が分かれており、それぞれの組織で様々な業務システムを使って仕事をしていると思います。
そしてそれぞれの業務システムでは様々なデータが作られます。
- 購買履歴
- 生産数量
- 顧客情報
- 人事情報
- 広告
- 監視カメラの映像
- SNS
これら以外にも多種多様な情報があると思います。
企業活動の中で生み出されたデータを余すことなく「すべての」情報を溜めておく場所となります。
そして溜めたデータは分析をしやすいように加工、整形していきます
しかし、加工の方法が間違っていたり、違う形に整形したデータも欲しいといった場合、その元データがどこにも残っていないとやり直すことが困難になってしまいます。
そのため加工することなく「生データを」溜めておく場所ということになります。
加工する場合はここから取り出すします。
なぜデータレイクが必要なのか

データ活用、データ分析をする場合に必要になるのはデータです。
通常、各業務システムで生み出されたデータははその業務システム中だけに存在していて外から入手することは困難です。
このような状態をデータのサイロ化といいます。
このサイロ化している状態では複数の情報を使っていろんな角度から分析することができません。
他部署のデータを活用したい場合、その都度各業務担当者に問い合わせてやり取りをしなくてはなりません。
心理的にも業務的にも負担が大きくなってしまい、データ活用は捗りませんよね。

そこでデータを一か所に集め、だれでも取り出せるようにして活用できるようにしておく場所がデータ基盤となります。
そのデータ基盤を構成するのがデータレイクです。
データレイクに溜めるデータの種類

生データを入れるということは様々なデータの種類が存在することになります。
一般的には次の3つに分類できます。
- 構造化データ
- 半構造化データ
- 非構造化データ
構造化データ

データが行と列で構成された表形式になっているか、データの一部を見ただけで二次元の表形式への変換方法が分かるデータです。
例 : CSV、Excel、リレーションデータベース等
半構造化データ

データ内に規則性に関する区切りはあるものの、データの一部を見ただけ
では、二次元の表形式への変換方法が分からないデータです。
例: JSON、XML、キーバリューストア等
非構造化データ

データ内に規則性に関する区切りがなく、データ(の一部)を見ただけ で、二次元の表形式に変換できないことが分かるデータ です。
例: 画像、動画、音声、PDFドキュメント、等
スキーマ・オン・リードという考え方

データレイクの特徴としてスキーマ・オン・リードがあります。
データを溜めるときにそのデータの型(スキーマ)を意識せず、読み出す時にどのようなスキーマなのかを意識する考え方を「スキーマ・オン・リード」といいます。
反対にデータウェアハウスなどリレーショナルデータベースを使ってデータを溜める場合は、ある決まった型(スキーマ)に データを整形した後にデータを溜めることをスキーマ・オン・ライトといいます。
スキーマを定義するには通常時間がかかるため、あらゆるすべてので業務データを保存するにはこのスキーマ・オン・リードという考え方が最適です。
アンチパターン「データスワンプ」

「データレイク:データの湖」に対して「データスワンプ:データの沼」という言葉があります。
湖と沼のイメージ通りデータレイクは澄んだきれいな状態を指します。
データスワンプはゴミで使えないデータが無造作に置かれている状態を指します。
あらゆるシステムからすべての生データをとりあえず置いておくと、汚い沼と化してしまう恐れがあります。
ゴミで使えないデータとは、欠けていたり、重複したり、ファイル名から何のデータかわからない、そもそもどんなデータが置かれているかすらわからない。
そんな無秩序な状況になってしまうとそれは湖ではなくゴミで汚れた沼となり、せっかくの集めたデータも無駄になってしまいます。
そうならないように定期的に掃除をしたり、何をどこに置くかを整理して、データの見えるか化行うなど、 データガバナンスを整備して、データレイクを運用していく必要があります。
Microsoft Azureにおけるデータレイク

データレイクはすべてデータを溜める必要があるので当然容量は莫大に増えていきます。そのため、従量課金でかつ拡張性が高いクラウドと相性が良いです。
Microsoft Azureについてデータレイクを実現するサービスは
「Azure Data Lake Storage Gen2 (ADLS Gen2)」を使うのがよいでしょう。
ADLS Gen2は2019年2月7日に一般公開されたBlob(Binary Large Object)ストレージの後継です。
Blobストレージとはデータレイクの要件であるどんなデータでも溜めることのファイルシステムとなっています。
コスト効率が良く、容量に上限はありません。また、分析処理にも最適化された階層型名前空間をサポートしています。
まとめ

まとめです。
データレイクとは「すべての生データを置いておく場所」 でした。
データを活用するには一か所に集めておく方が都合がよいからというのがデータレイクの必要性でした。
溜められるデータの種類は「構造化データ」、「半構造化データ」、「非構造化データ」すべての型のデータを溜めることができるのは「スキーマ・オン・リード」の概念があるからでした。
データスワンプに陥らないようにするためにデータガバナンスを整備しておく必要がありました。
Azureでデータレイクを実現するサービスは「 Azure Data Lake Storage Gen2 (ADLS Gen2) 」でした。
以上のようにデータレイクの概要についてまとめてみました。
データレイクだけとってみても奥が深く、書ききれいまいことも多々ありますが、データ基盤を構成するデータレイクの理解の一助になればうれしく思います。
最後までお読みいただきありがとうございました。
以上、 やましー@データ活用クラウドエンジニア でした。