AWS上でのデータレイク構築の概要を紹介している『Building a Data Lake on AWS』を読んでみた

2016.10.29

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

先日、『データレイク』で情報を調べてみたら『Building a Data Lake on AWS』というeBookの資料(PDF)がある事を知りました。比較的ボリューム短めで読み易かったので、当エントリではその読んでみた内容をご紹介してみたいと思います。

building-data-lake-on-aws_01

『データレイク』とは何か

今日、組織では様々なソースからなる複数種別のデータを管理する業務が行われています。大規模なデータボリューム、様々なデータの種類に直面し、組織はタイムリーに洞察力を組織内に提供する為に、従来のデータ管理システム以上の敏捷性と柔軟性を備えるデータストレージと分析ソリューションを必要としています。

"データレイク"は、最近注目されるようになってきた新しい方法です。これら課題の多くに対応するデータを格納し、分析する事が出来ます。データレイクを構築する事で、組織は構造化されたもの、非構造化されたもの含めた全てのデータを一元化したリポジトリ内に保存する事が出来るようになります。データを在るべき姿で格納する為に、定義済のスキーマにデータを変換する必要はありませんし、知っている必要はありません。データについて事前に何か聞いておくべきか、といった事を知る必要もありません。

データレイクは、以下の機能をサポートする必要があります。

  • 任意のスケール且つ低コストであらゆる種類のデータを収集及び格納出来る事
  • 全てのデータをセントラルリポジトリに確保し、格納されているデータを保護出来る事
  • セントラルリポジトリ内の関連データを検索出来る事
  • 迅速且つ用意に新しいデータセットの分析を実行出来る事
  • 使用(スキーマ読み取り)時にデータの構造を定義する事でデータが照会出来る事

ちなみに、データレイクは『既存のデータウェアハウスを置き換える』という事は意味していません。むしろそれらを補足する形となります。既にデータウェアハウスを使用しているか、またはデータウェアハウスに必要となる要件のいずれかを満たしている場合、データレイクは構造化及び非構造化データのソースとして使用する事が出来ます。

データウェアハウスにデータを取り込む前に、明確に定義されたスキーマに簡単に変換出来ます。また、データレイクは非構造化データや詳細が不明なデータセットのアドホック分析にも使用する事が出来るので、明確に定義されたスキーマに変換する事無く、新たな洞察を見つける事が出来ます。

AWS上でデータレイクを構築する事で得られるメリット

AWS上でデータレイクを構築する事で得られるメリットには以下のようなものが挙げられます。

コスト効果の高いデータストレージ

Amazon S3は費用対効果と高い耐久性を誇るストレージを提供します。任意のソースから任意の型のデータをほぼ無制限、保存する事が出来ます。Amaozn S3にデータを格納する事で事前のデータ変換が不要となり、オンデマンド分析のためのスキーマを適用する柔軟性を持つことが出来ます。これにより、作業の効率UPの要望に容易に応える事が出来ます。

容易なデータ収集

AWSではデータレイクにデータを取り込む様々な方法が提供されています。

Amazon Kinesis:
リアルタイムでデータを収集。
Amazon Kinesis Streams とは? - Amazon Kinesis Streams
AWS Import/Export Snowball:
バッチで収集したデータをセキュリティで保護されたAWSアプライアンスで発送。
AWS Import/Export Snowball (ペタバイト規模のデータ転送ソリューション) | AWS
AWS Storage Gateway:
オンプレミスのソフトウェアアプライアンスとAWSクラウドベースストレージを接続する事が可能。
AWS Storage Gateway(オンプレミスからクラウドへの接続) | AWS
AWS Direct Connect:
既存所有のデータセンターとAWSを専用線で接続。
AWS Direct Connect(専用線接続サービス) | AWS

AWS上にデータレイクを構築

building-data-lake-on-aws_02

AWSでの『データレイク』ソリューションは、その中核に、安全性、耐久性、コスト効率に長けているAmazon S3を活用します。AWS Import/Export SnowballAmazon Kinesis Firehoseデリバリーストリームといったものに代表される多種多様のAWSサービスを活用する事で迅速且つ簡単にAmazon S3にデータを収集出来ます。Amazon S3はまた、データレイクに於ける強力なセキュリティをサポートする為に、アクセスコントロールやポリシー、SSL通信、暗号化、ロギングはモニタリングといった豊富な機能群を提供しています。

データ管理においては、Amazon DynamoDBAmazon ElasticSearchといった、Amazon S3にデータのインデックスを作成するサービスを活用する事が出来ます。『新しいデータがアップロードされた』というようなイベントに反応させる形でトリガーを仕掛けるLambdaファンクションを使う事で、カタログ情報を最新に保つ事ができます。Amazon API Gatewayを使う事で、AWS IAMAmazon Cognito経由を使って承認を行う事で迅速かつ安全なデータアクセスを行うアプリケーションの"フロントドア"として機能するAPIを作成する事が出来ます。

Amazon S3に格納されているデータにアクセスして分析を行う為に、AWSはAmazon EMRAmazon RedshiftAmazon Machine Learningといった柔軟で低コストなサービスへの高速アクセスを提供しています。これらのサービスを使う事で、あらゆる分析ソリューションを急速にスケールさせる事が可能となります。AWSを活用する事で、必要となる規模のリソースを迅速・簡単に用意出来ます。

事例発表

ホワイトペーパーではデータレイクパートナー企業として海外企業3社が紹介されていた他、事例としてMLB(米国メジャーリーグ)が紹介されていました。詳細な内容についてはAWS公式サイトでも紹介されていますので興味のある方は是非ご覧頂ければと思います。

参考情報

その他、当エントリの内容に関する詳細は以下の情報となります。直近、AWSで『Data Lake on AWS』というWebinarが開催されるようで(下記リンクの上から2つ目)、開催時間が太平洋沿岸標準時間(PST) 2016/11/03 11:00 - 12:00 → 日本標準時(JST) 2016/11/04 03:00となっています。だいぶ遅い時間帯ではありますが、興味のある方は視聴申込の上、ご覧になってみてはいかがでしょうか。こちらからは以上です。