【AWS re:Invent 2017】S3 SELECTとAmazon Athenaの違い

はじめに

re:Invent 2017 day3 keynote にて発表された新サービス「S3 SELECT」と「Amazon Athena」の違いを調べました。

S3 SELECTとは?

  • S3オブジェクト内のデータを検索、選択するためのAPIです。
  • AWSマネジメントコンソールに特定のページはありません。boto3等のAWS SDKやpresto-cliからの利用となります。
  • データソースはS3です。(同時にAmazon Glacierに対してほぼ同様の機能を実現するGlacier Selectが発表されています)
  • データソースはプレビュー状態の2017/12/04現在ではCSV、またはJSONがサポートされています。
  • GZIP圧縮されていてもクエリーが実行できます。
  • AWSから提示された利用例として、AWS Lambdaで構築されたサーバーレスアプリケーションに適用し、パフォーマンス向上によりコストを削減することが示されています。

S3 Select と Glacier Select – オブジェクトのサブセットを取得 | Amazon Web Services ブログ
S3 Select and Glacier Select – Retrieving Subsets of Objects | AWS News Blog

Amazon Athenaとは?

  • Prestoベースのサーバーレス・マネージドなクエリーサービスです。
  • AWSマネジメントコンソールではこちらからアクセスできます。
  • データソースはS3の他に、AWS Glueデータカタログを通じて様々なデータソースを利用できます。
  • データ形式はCSV、TSV、JSON、または Textfiles などがサポートされています。また、Apache ORCやApache Parquetなどのオープンソース列指向形式もサポートされています。
  • Snappy形式、Zlib形式、LZO形式、GZIP形式で圧縮されていてもクエリーが実行でき、パフォーマンス向上のため、コストを削減できます。
  • AWSから提示された利用例として、ウェブログに対してすばやくクエリを実行し、サイトのパフォーマンス問題のトラブルシューティングのみを行う場合が示されています。

よくある質問 – Amazon Athena | AWS

まとめ

各サービスをどのように組み合わせるかはエンジニアの創意工夫次第ですが、
サービス開発者の設計意図を踏まえて利用することが最もサービスのパフォーマンスを有効利用できるでしょう。

コメントを残す

メールアドレスが公開されることはありません。

Time limit is exhausted. Please reload CAPTCHA.