この記事の目次
AWSデータレイクとは?
AWSデータレイクとは、あらゆる形式のデータを一元化して保存することができるリポジトリのことです。
SNSなどのメッセージデータ、画像、音声、目的に応じた加工済データなど、いろいろなデータを一つの場所に保存することで、さまざまなタイプの分析に役立てることができます。
リレーショナルデータベースとデータレイクの違い
リレーショナルデータベースとデータレイクでは、保持できるデータ容量に違いがあります。
データの蓄積や分析には一般的にリレーショナルデータベースが広く利用されており、分析ソフトも数多くあります。このリレーショナルデータベースを管理するシステムがRelational Database Management System(RDBMS)です。
1つのサーバーのRDBMSにつき、保持できるデータはおよそ数百GBから1TB程度とサイズが限られていますが、AWSデータレイクは容量が無制限のため、容量を気にせずデータを蓄積することができます。
データウェアハウスとデータレイクの違い
データウェアハウスとデータレイクでは、保存するデータの形式に違いがあります。
データウェアハウスは、複数のRDBMSのデータを統合し保存することで分析に特化した作りになっており、RDBMS単体では扱うことが難しい、1TBを超えるような大きなサイズのデータ分析にも利用されています。
また、データウェアハウスは分析の目的に合わせて扱いやすい形に加工したデータを保存しているため、分析でのデータの利用はスムーズですが、その反面、新しい分析要件への対応が難しいというデメリットがあります。
AWSデータレイクは、さまざまな形式のデータを保存しておくことができるため、新たな分析要件にも対応が可能です。
AWSデータレイクの特徴
AWSデータレイクの主な特徴として、「加工前の生データをそのままの形で保存できる」「ストレージ容量の上限を気にせずデータを保存できる」という点があります。
それぞれについて解説します。
生データをそのまま保存できる
AWSデータレイクには、加工していない状態の生データを保存することができます。
そのためデータを保存する段階では、データの利用目的や分析の要件を決めておく必要がありません。加工されていないデータはいろいろな目的で使用することができるので、新しい分析の要件が増えた場合でも柔軟な対応が可能です。
また、異なる組織に所属する担当者であっても、各自の目的に合わせてデータを整形することができるため、組織をまたいだデータの有効利用が可能です。
サイズ上限なし
AWSで提供されているAmazon S3(Amazon Simple Storage Service)は、データの保存と取得を行えるストレージで、格納できるデータ総量とオブジェクト数には制限がありません。
クラウド環境以外でこれを実現することは難しいため、データレイクはクラウドの成長に伴って普及したといえるでしょう。
AWSデータレイクのアーキテクチャ
AWSデータレイクを構築する際には、データを蓄積する以外に、収集、分析などの複数の仕組みを組み合わせることが必要です。
AWSデータレイクによく用いられる一般的な構造について解説します。
収集、変換、保存、分析
AWSデータレイクを構築する際のアーキテクチャとして一般的に用いられるのは、データを保存するストレージと、収集、変換、分析の各機能を持つコンポーネントの組み合わせです。
データはストレージに保存します。収集、変換、分析の各コンポーネントではデータを保存せず、必要なタイミングでストレージのデータを読み書きします。
このように、コンピューティングの部分とストレージの部分を分離した構造にすることで、分析要件や扱うデータ量に変化があった場合に、必要な方だけを増減させることが可能になります。
また、収集、変換、分析のコンポーネントは互いに影響を与えることなく置き換えることができるため、各機能に新しい技術がでてきた際に、それぞれの置き換えを容易に行うことができます。
AWSデータレイクでストリームデータを扱うには?
ストリームデータを扱う場合には、AWSデータレイクの拡張が必要です。
ストリームデータとは、SNSのツイートや株取引情報などの継続的に大量に発生するデータを指します。
基本的に、AWSデータレイクでは日次や月次などのバッチ処理がベースとなっているため、ストリーム処理を行うためには「ラムダアーキテクチャ」という概念でデータレイクの拡張を行います。
ラムダアーキテクチャとは?
ラムダアーキテクチャは、新たに投入されるストリームデータを処理しながら、従来のバッチ処理で蓄積されたデータの集計結果と組み合わせて処理できるようにするための概念です。
ラムダアーキテクチャは、全データを保持してバッチ処理を行う「バッチレイヤー」、新しく入ってきたストリームデータを処理する「スピードレイヤー」、両者を組み合わせて利用する「サービングレイヤー」の3つで構成されます。
この形をとることで、リアルタイムの値をダッシュボードで確認しながら、蓄積されたデータに対してクエリを実行するといった作業が可能になります。
AWSデータレイクを構成するサービスは?
AWSデータレイクは、データレイクを構成する収集、変換、保存、分析のそれぞれのコンポーネントに対して、AWSのサービスを組み合わせて構築します。
それぞれのコンポーネントに対応するサービスをいくつかご紹介します。
収集コンポーネント
データ収集のためのAWSサービスには、AWS Database Migration ServiceやAmazon Kinesisがあります。
AWS Database Migration Serviceは、データベースのデータ移行のためのサービスで、同じ種類のデータベース間での移行も、異なるデータベース間での移行もサポートされています。
Amazon Kinesisはストリーミングデータの収集や分析などが容易に行えるサービスで、動画やアプリケーションなどのさまざまな規模のデータを効率よく処理することが可能になります。
変換コンポーネント
変換のためのAWSサービスには、AWS Glueがあります。
AWS Glueは、ETLと呼ばれるデータの抽出(Extract)、変換(Transform)、書込(Transform)の一連の処理を行うサービスで、分析や開発のためのデータ検出や結合が可能です。
Glueとは接着剤を意味し、各AWSサービス同士を連携させる役割であることを表しています。
保存コンポーネント
保存のためのAWSサービスには、Amazon S3(Amazon Simple Storage Service)があります。
AWS S3は、クラウドのオブジェクトストレージサービスで、容量が無制限、耐久性が高い、従量課金によりコストパフォーマンスがよい、といったメリットがあります。
また、暗号化機能やアクセス管理なども用意されており、セキュリティの面でも優れています。
分析コンポーネント
分析のためのAWSサービスには、Amazon QuickSight、Amazon Athena、Amazon Redshiftがあります。
Amazon QuickSightはクラウドのBI(ビジネスインテリジェンス)サービスで、ブラウザで全ての機能が利用可能です。分析結果をダッシュボードに表示することにより、分析結果を可視化して共有できます。
Amazon Athenaは、Amazon S3に保存されているデータに対して、SQLを実行して分析が行えるサービスです。Amazon S3に対して直接クエリを実行することができ、データロードを事前に行う必要はありません。
さまざまなデータソースに対応しており、標準SQLが使用できます。
Amazon Redshiftはデータウェアハウスのサービスで、データの収集や統合、保管を行い、分析に必要なデータを蓄積します。並列コンピューティングにより、大量のデータに対しても高パフォーマンスでの集計が可能です。
新たな知見を得るためにAWSデータレイクを活用しよう
AWSでは、サービスを組み合わせることでデータレイクの構築が可能です。
デジタルトランスフォーメーションが推進される中、データレイクに注目する企業も増えているのではないでしょうか。
データレイクに蓄積されたデータを活用し、ビジネスの新たな知見や施策に役立てましょう。
この記事の監修者・著者

-
未経験からITエンジニアへのキャリアチェンジを支援するサイト「キャリアチェンジアカデミー」を運営。これまで4500人以上のITエンジニアを未経験から育成・排出してきました。
・AWS、salesforce、LPICの合計認定資格取得件数:2100以上(2023年6月時点)
・AWS Japan Certification Award 2020 ライジングスター of the Year 受賞