くらうどぷれす
AWSを初めて使ってみる人向けに、AWSに関連することをわかりやすく発信していきます。
Athenaは、Amazon Web Services(以下、AWS)が提供するクエリサービスです。データストアに保存されたデータを、標準SQL(Structured Query Language)を使って分析することができます。
Amazon Athena(以下、Athena)は、Amazon S3(以下、S3)に保存されたデータを対象としていますが、外部のデータソースにも対応しています。Athenaはサーバーレスであり、クエリ実行後には自動的に停止されます。また、安全性に優れており、アクセス制御やデータの暗号化などの機能が提供されています。
Athenaの最大のメリットは、「低コストで」「安全に」「素早く」S3などの外部データソースの情報を検索できることにあります。
S3に保存されているファイルの中身に対して、検索機能を付与することができます。S3へ保存するデータの形式は、csvやtsv、jsonなど様々なものに対応しています。
S3へは、様々なファイルを保管することができますが、ファイル内のデータを活用しようとすると結構な手間がかかります。
たとえば、日ごとに売上データが作成され、1つのファイルとして保存される場合を考えています。データの集計をしたい場合、全てのファイルをダウンロードして、Excel等へマージさせて集計作業を行う必要があります。1ファイルであればよいですが、数十、数百ファイルとなるとかなり大変です。Athenaを使うことで、ダウンロード当の手間がなく、売上データの取得や集計が可能になります。
データの検索には、標準SQLが利用可能です。単一テーブルの検索はもちろん、複数テーブルの結合や集計なども可能です。
開発者や多くのエンジニアにとってSQLは身近なスキルとなっています。そのSQLを使って検索できるため、独自の言語を学習するためのコストがかかりません。
Athenaはサーバレスなアーキテクチャを採用しています。利用するために、サーバーや構成の管理の手間が不要で、手軽に利用できます。
サーバレスなため、使った分だけの完全従量課金となっています。
Athenaには、データの暗号化やアクセス制御などの機能が提供されており、安全に利用することが可能です。
Athenaでは標準SQLを使って、S3に保存されたデータを分析することができます。フィルタリングや集計などをSQLにて手軽に行うことができるので、S3へ保存されたビジネスデータから有用な情報を抽出し洞察を得ることができます。
S3に保存されたデータを、グラフやチャートなどの可視化可能な形式に変換することができます。変換したデータをQuickSightなどのBIツールと連携させることで、データをわかりやすく視覚化することができます。
参考:Amazon QuickSightを使ったBI基盤の構築事例
Athenaを使うことで、データを抽出して加工し、S3に格納するETL(Extract, Transform, Load)処理を実行することができます。
S3に保存されたアプリケーションやインフラストラクチャのログデータを分析することができます。CloudFrontやALBのアクセスログはS3へ保存されます。ログファイルは細切れに保存され、相当なファイル数になります。そのため、ログの解析が必要な場合にダウンロードして従来のように解析するのが難しくなります。Athenaを利用することで、アクセスログなど定型的な出力形式のログの分析が可能になるため、システムのトラブルシューティングやパフォーマンスの最適化などのタスクを実行することができます。
Athenaは他のAWSサービスとも連携することができます。
データソースとしては、S3と連携することで、バケット内に保存されたデータを直接分析が可能です。Amazon RedShiftと連携させて、クラスタ上のデータの分析もできます。Amazon EMRで処理されたデータを対象にすることも可能です。
ETL処理では、Amazon Glueと連携させることで、より高度なETL処理を実行することができます。
分析結果をAmazon QuickSightと連携させることで、グラフィカルに分析結果を表現することが可能です。
Athenaは、データのクエリ実行量に応じて課金されます。一般的に、Athenaでは以下のような課金要素があります。
また、無料枠も提供されており、その枠を超過した分が課金対象となります。
Athenaの使い方について説明していきます。
最後にAthenaを利用するうえでの注意点をまとめておきます。
Athenaを使うことで、S3に保存されているデータを標準SQLを使って分析することが可能になります。既存のSQLの知識が利用できるため学習コストが低く、サーバレスなので利用コストも抑えることが出来ます。QuickSightなどのBIツールと連携することで、分析結果をビジュアル化することも可能です。
ログデータを情報として取得できるサービスなので、ぜひトライしてみましょう。
また、AWS全体について気になる方は「AWSとは?初心者の人にもわかりやすく解説」もご覧ください。