- Amazon S3 でクエリしたいデータを Athena で指定する。
- データベーススキーマを定義する。
- データをクエリするのに標準SQLを使用する。
データレイクの概念は、革新的なサーバーレスソリューションであるAmazon Athenaで再び注目を集めています。しかし、それは自社のデータスタックに適合しているでしょうか?この記事では、Amazon Athenaの機能、長所と短所、競合他社、ユースケースについて取り上げます。
- Amazon Athenaとは?
- Amazon Athenaを利用するメリット
- Amazon Athenaの長所
- Amazon Athenaの短所
- Amazon Athenaと比較されるソリューションは?
- Amazon Athenaに最適なユーザーは?
- How Integrate.io Can Help
Amazon Athenaとは?
Amazon Athenaは、Amazon S3(Simple Storage Service)のデータから直接標準SQLクエリを実行できるように設計された対話型クエリサービスです。AWS Athenaの最大の差別化ポイントは、サーバーレスソリューションであることです。インストールやデプロイをする必要はなく、価格は単純にクエリを実行するデータに基づいて設定されています。
Amazon Athena Data Lakesの機能の基盤となっているのは、ビッグデータ向けの分散型SQLクエリエンジンであるPrestoです。このオープンソースのソリューションは、高速かつ強力でスケーラブルです。
サービスの設定は素早く簡単で、いくつかの簡単なステップを踏むだけです。
また、Amazon AthenaにはAWS Glue Data Catalogとのネイティブ統合も含まれており、機能を拡張することができます。AthenaとGlueを併用することで、統一されたメタデータリポジトリを開発し、他の強力な機能を開放することができます。
Amazon Athenaのデータレイク互換性は、Amazon S3を構造的データレイクの理想的な環境にすることに大きく貢献します。Athenaでは、すべてのソースからのデータがS3に入ります。そして、パフォーマンスが高く、拡張性があり、アクセス可能な方法で、アドホックなクエリが実行されます。 このサービスは、データの専門家にとって夢のようなサービスです。
覚えておくべき重要なことは、やはりそのデータをAmazon S3に取り込む必要があるということです。RDSやEMRなどのAmazon上で利用している他のサービス、SalesforceやGoogle AnalyticsなどのAWS外のサービス、他のプラットフォーム上のデータストアから取り込む可能性があります。
Amazon Athenaを利用するメリット
- インフラストラクチャのセットアップ、設定、管理が不要: Athenaが取るサーバーレスのアプローチはゲームチェンジャーであり、データ分析エコシステムにおけるインフラストラクチャの複雑さを軽減します。AthenaはS3との連携に特化して設計されているため、操作もこのデータストアに対して高度に最適化されています。
- すぐにS3データをクエリできる: セットアップからクエリの実行までを数分で行うことができます。ほとんどのクエリのレスポンスタイムは秒単位で計測されます。
- 費用対効果が良い:Athenaのpay per queryモデルでは、利用状況に応じてコストを調整することができます。Athena は他の場所にデータを保存したり、データ準備プロセスを経ることなく S3 データと直接連携するため、コンピューティングやストレージ機能のための追加費用を回避できます。
- 可用性が高い:AWSのマネージドサービスであるため、複数のデバイスにワークロードを分散して並列に実行する高可用性のインフラストラクチャに支えられています。
- ANSI SQLをサポート: Amazon S3 データの操作に SQL クエリを引き続き使用することができます。データチームは新しいクエリ言語を学ぶ必要がないため、導入は簡単です。
- 非構造化データ、半構造化データ、および構造化データを幅広くサポート: Athenaでサポートされているフォーマットには、CSV、Parquet、ORC、Avro、および JSON が含まれます。このデータに対して、リレーショナル、オブジェクト、カスタム、非リレーショナルのソースを使用して作業することができます。
- アドホックで複雑なクエリをサポート:Athenaは、配列、大規模な結合、ウィンドウ関数を含む高度な機能を提供します。
- ユーザーフレンドリーなインターフェース:Amazon Athena は直感的に使用できるため、データチームはデータに集中する時間を増やし、このサービスを適切に動作させようと苦闘する時間を減らすことができます。
- お気に入りのビジネスインテリジェンスツールを統合:AthenaにはJDBCドライバが搭載されており、この強力なクエリエンジンをBIソリューションに持ち込むことができます。データチームがその場で対応できるように、より迅速なインサイトを提供することができます。
- 強力なセキュリティ:Amazon Athenaには多くのデータアクセス制御オプションが含まれており、暗号化されたデータをクエリして暗号化された結果を書き込むことで、機密データを安全に保つことができます。
- 他のAWSサービスとの連携:Amazon Athenaが簡単に連携できるAmazonツールには、Amazon Redshift、Amazon DynamoDB、AWS CloudWatch Metricsなどがあります。
Amazon Athenaの長所
サーバーレスのインフラはAWS Athenaの最大の強みであり、特に既にデータにAmazon S3を利用している場合に、その強みを発揮します。迅速かつ簡単に導入できるため、より複雑なソリューションをセットアップするための開発リソースが限られている企業にとっては非常に優れています。
事実上あらゆるデータソースをさまざまな形式で扱うことができるのも、特に便利な機能のひとつです。これらのデータをすべてネイティブ形式で保持することができるため、データの保存からインサイトまでのステップを短縮することができます。
データ圧縮を最適化してカラムストアを使用すれば、コストを比較的低く抑えることができます。また、管理やメンテナンスが不要になることで、コスト削減も実現できます。
Amazon Athenaの短所
Amazon Athenaはアドホックで小規模なクエリではその能力を発揮しますが、他のクエリエンジンと比較して大規模なデータセットでは物足りなくなることがあるでしょう。このサービスにはいくつかの制限があるため、シームレスにスケールすることが難しく、容量を増やしたい場合はAWSの誰かが戻ってきて対応するのを待たなければなりません。このソリューションがニーズに合うかどうかは、扱うデータ量が重要な役割を果たします。
このツールのデータストアとして使用できるのはAmazon S3のみです。別のプロバイダーを希望する場合は、これのソリューションは向きません。ベンダーロックインという懸念は、Athenaにおいて深刻な懸念事項であり、これは十分なほど大きなデメリットとなり得ます。
価格設定は、各クエリでスキャンするデータ量に基づいているため、Athenaのコストを予測することは難しいかもしれません。このサービスはアドホッククエリに最適であるため、データサイエンティストはプロジェクトごとに全然異なるデータセットサイズのクエリを行うことになるかもしれません。
Amazon Athenaと比較されるソリューションは?
Athenaは、Google BigQueryと似たようなフォーカスを持っているため、最も比較されています。ただし、Athenaでは、対象となるデータファイル、形式、およびディレクトリ構造もハンドリングする必要があります。これにより、処理がより複雑になる反面、より柔軟になるとも言えます。
Athenaと似たようなサービスとして、Amazon Redshift Spectrumがあります。Athenaと同様に、Redshift Spectrumはサーバーレスのクエリ処理エンジンです。しかし、S3バケットとAmazon RedshiftリレーショナルOLAPデータベースの間でデータを結合するように設計されています。ただ、Redshiftを使う予定がないのであれば、このサービスから多くの価値を得ることはできないでしょう。
Amazon Athenaに最適なユーザーは?
Athenaは、すでにAWS S3を利用しており、比較的基本的なクエリデータのニーズがある企業に最も適しています。中小企業は、大企業と同じ規模のデータセットを持っておらず、また、同じ技術人材リソースを持っていません。サーバーレスアーキテクチャは、プラットフォームからオーバーヘッドの業務を取り除き、データチームや他のユーザーがさまざまなアドホッククエリを実行できるようにします。
Athena のもう一つのユースケースは、データから素早くインサイトを得ることです。データは現状のまま分析されるため、データが利用可能になるのを待つことなくクエリを実行することができます。新しいトレンドや機会を利用する際には、数分と数秒で大きな違いが出てきます。
Integrate.ioはどういった場面で役立つのか?
Integrate.ioのETLソリューションの助けを借りて、Amazon Athenaを最大限に活用しましょう。私たちのプラットフォームは、AthenaがサポートするすべてのデータフォーマットでAmazon S3にデータを書き込むことができ、AWS S3を100以上のデータソースとデスティネーションに接続することができるので、外部のデータストアから定期的にデータレイクにデータをポンピングすることができます。
Athenaと同様に、Integrate.ioもサービスです。私たちのテクノロジーを利用している企業は、メンテナンスや管理について心配する必要はありません。データレイクとAWSサービスをどのように支援できるか、興味がる方は、オンラインデモにお申し込みください。