近年、ビッグデータを利用して、業務を改善・改革する動きが活発である。それに伴い、AWS上でビッグデータの処理基盤を整備するケースが増えている。

 本稿では、AWS上に構築するビッグデータ処理基盤の構成要素を整理したうえで、主要なビッグデータ処理サービスである「Amazon Athena」「Amazon Redshift Spectrum」を解説し、性能検証を行う。

データレイクとDWH

 大量のデータを格納し分析するビッグデータ処理基盤は、大きく二つの要素に分けられる。「データレイク」と「データウエアハウス(DWH)」だ(表1)。

表1 データレイクとデータウエアハウス(DWH)の特徴
[画像のクリックで拡大表示]

 DWHは本誌の読者にとって馴染み深いだろうが、データレイクは経験のない人が多いのではないか。

 データレイクは、各種データソースから生データに近い状態で集約する保管庫だ。販売、仕入れ、在庫のように業務システムのデータベースからロードした構造化データに加え、Webサイトのアクセスログやコンタクトセンターに寄せられた問い合わせ内容のような非構造化データも扱う。「使う可能性のあるあらゆるデータをそのままの状態でためておく場所」というわけである。

 データレイクが存在する場合、DWHは「データレイクのデータを分析しやすいように変換・集計したうえで格納するデータベース」という位置付けになる。BI(Business Intelligence)ツールはDWHに接続して使う。

 AWS上でのビッグデータ処理基盤の典型的な構成を図1に示した。

図1 AWSでのビッグデータ処理基盤
AWSではデータレイクとしてS3を用いる(生データと加工データは通常バケットを分ける)。データ分析には、データを格納するタイプのRedshiftに加え、データを都度読み込むタイプのAthenaやRedshift Spectrumを選択する。EMRは両方のタイプで利用できるほか、各種DBの読み込みも可能
[画像のクリックで拡大表示]

 多様なデータソースから生データを集約して格納するデータレイクにはAmazon S3を用いる。S3は低コスト、拡張性が高い、アクセス制御が可能といったデータレイクの要件を満たす。

 データレイクで生データを加工する場合は、加工したデータを別のS3バケットに保管することが多い。

 データの集約や1次加工には、ETL(抽出・変換・ロード)サービスのAWS Glueを利用することが推奨される。Glueにはデータの場所、テーブル定義、スキーマなどのメタデータを一元化した「データカタログ」の機能がある。

 このデータレイクのデータを分析するサービスは、主に3タイプに分けられる。(1)構造化データを格納するDWHの「Amazon Redshift」、(2)構造化データおよび非構造化データを都度読み込んで分析するサービス「Amazon Redshift Spectrum」「Amazon Athena」「Amazon EMR」(正確にはEMRはストレージを備えており1のタイプとしても使える)、(3)機械学習モデルの作成サービス「Amazon SageMaker」だ。

 今回取り上げるのは、2のタイプに属するAthenaとRedshift Spectrumだ。どちらも、データレイクのS3バケットから直接データを読み込んで、クエリー処理を行うことが可能。「アドホック分析」というデータ活用に向く。

 アドホック分析は、目的の結果を得る手順が決まっておらず、クエリー処理の結果を踏まえて、次にどんなクエリー処理を行うかを考える対話型の分析方法だ。例えば、定型帳票を出力するための処理フローを検討したり、障害発生時に特定のページや特定ユーザーのアクセスログを抽出したりするケースで使う。

 AthenaとRedshift Spectrumを順に見ていこう。

この先は有料会員の登録が必要です。有料会員(月額プラン)は初月無料!

日経 xTECHには有料記事(有料会員向けまたは定期購読者向け)、無料記事(登録会員向け)、フリー記事(誰でも閲覧可能)があります。有料記事でも、登録会員向け配信期間は登録会員への登録が必要な場合があります。有料会員と登録会員に関するFAQはこちら