湖、作ってますか?やまさきです。
データ分析について調べていると必ず出てくる、「データウェアハウス」「データマート」「データレイク」。
今回はデータレイクについて調べて見ましたので、忘れないようにメモ的にまとめておこうと思います。
データレイクが生まれた背景
ビッグデータ、IoTという言葉が流行りましたが、世の中はデータで溢れかえっています。
あふれるデータは集めて分析することでその価値を高めることが出来ます。
顧客のニーズを発見したり、異常を検知したり、機械学習してみたり・・・。
さらに最近は分析のスピードが求められるようになり、「分析できるまで1日かかるよ。」というのは問題外な世の中です。
それくらい要求は高まっています。
膨大なデータ、多様なデータ形式、高まる要求。。それに答えるためにデータレイクという考え方が生まれました。
各クラウドベンダーが考えるデータレイク
手当たり次第にしらべても仕方ないので、主要なクラウドベンダーがデータレイクにどのようにアプローチしているのか調べてみましょう。
AWS
- 膨大な量のデータをまとめて管理しよう
- データウェアハウスの代替品ではなく保管するものとして活用している(多くの会社が)
- 非構造化、構造化のデータを使用できる
- to データウェアハウスも、アドホックな分析にも使える
- AWSなら安く、どんなデータもどんな規模でも対応できる
- スケーラブルな設計
- データの暗号化、検索、分析、クエリ(アドホック)をサポート
- アクセスコントロールが出来る
- データの取込方法が豊富
- Amazon Kinesis, Amazon Snowball, AWS Direct Connect
- 分析方法が豊富
- Amazon EMR, AWS Data Pipeline, Amazon Elasticsearch Service
参考URL
GCP
GCP + Data Lake で調べてみたけど、公式で Data Lake という言葉は使っていない(真剣に探してはいないけど)ようでした。
言葉は出てきませんが、考え方はそんなに違いはなくBigQueryを中心に構成するのかな?というイメージです。
参考URL
Azure
- さまざまなサイズ、形状、スピードのデータを容易に格納
- 複数のプラットフォームと言語であらゆる種類の処理と分析を実行
- データの格納も簡単、バッチ、ストリーミング、対話型で実行
- Azure Data Lake というサービスがある
- Data Lake Analytics、Data Lake Store と冠をもつサービスもある
- Data Lake Store → HDFS ベース?
- Data Lake Analytics → ジョブの作成と管理
- IDEとの相性よく、デバッグ、開発が楽々
- Visual Studio
- Eclipse
- IntelliJ
- コスト効率がよい
- オンプレでHadoopを管理するなら、HDInsight
- セキュリティ、監査、サポート
参考URL
IBM
- ガートナー的にはビッグデータは「幻滅期」で、これから「回復期」→「安定期」に進んでいくので正しく理解し、恩恵を受けよう
- データを活用したいと思った時にデータを集め始めても遅いので、とにかく集めて活用出来るようにする
- 集めるだけのデータが増える可能性もあり、データレイクが「湖」ではなく「沼地(データスワンプ)」になってしまう
- ひとまず生のデータを集めましょうだけだとこうなる
- 集めたデータのデータカタログを作る
- データカタログを元にユーザーが自分でデータを引き出せるように使用
- 「CUSTOMER」だけでは一般のユーザーには分からない、ビジネス用語として使えるカタログが必要
- データカタログはメンテしないとすぐに使い物にならなくなる
- 使われないデータを探す仕組み、データのライフサイクルを管理する仕組みが必要
- 「名寄せ」「クレンジング」「マスキング」を行った状態のデータを溜め込む
- これらの「ETL」を高速な実行が必要
- 処理の流れを効率的に定義する仕組みが必要
参考URL
まとめ
それぞれ、言葉は違えど似たような考え方で、似たようなサービスがあるようですね。
しっかりと比較したわけではないのですが、好きなやつを使ってみてしっくりこないならやめるでいいと思います。クラウドなんで!
また、調べ始める前までは言葉の意味から湖(レイク)そのものをイメージしていましたがそうでは無いことがわかりました。(調べてよかったw)
テラデータのブロブストさんの言葉を引用すると、 「天然のレイクではなく、本来はガバナンスの効いた人造の貯水池(Reservoir)だからだ」。
データレイクはただ単にデータを貯める場所ではなく、データが取出しやすいよう整理整頓され、データの使用目的が分かるように管理された統制の取れた場所。
そして、それを管理したり、データを抽出するための周辺技術をまとめて「データレイク」と言うようです。
なぜ、S3,Glacier select、 Amazon Athena、Redshift Specturm のような似たようなサービスが出てくるのか疑問でしたが、すこしイメージ湧いてきました。
次は各環境でデータレイクを構築してみても楽しいかも。
それではみなさん、良い湖作って下さい。