re:Invent 2016 の セッション Intro to Amazon Athenaに参加してきました

Athena, AWS, re:Invent, イベントレポート

AWs re:Invent 2016で新サービスとして発表されたAthena(アテナ)のセッション Intro to Amazon Athena (BDA303) に
参加してきたときのまとめです。

Amazon Athena

Intro to Amazon Athena (BDA303)

Athena概要

S3バケット内にあるファイルのデータをSQLを使用することによって
データ分析することができる。

仕組み

・エンジンとしてPrestoを採用
 EMRもPrestoを使用できるが、EMRよりも設定が簡単

・テーブルについて
 Hive DDLを採用
 カラムナー型

・SQLについて
 ANSI-SQLを採用しているためjoin,sub query,sum()等の関数を使用することが可能
 パーティションキーを用意

・データフォーマット
 テキスト、CSV、Apacheログ、JSON等なんでもこい
 ただ、カラムナー型である、Apache Parquet、ORCファイルが費用を抑えることを可能としています
 AVROはまだ

・圧縮対応
 アーカイブのscan可能(ZIP、snappyなど)
 むしろscanするファイルサイズにより、コスト過多となるため、圧縮をお薦め

・費用(記事掲載時 2016/12 に発表されたものです)

 ・1TB/$5
  1.6TBのデータscanを行った場合

   scanを行うデータ量:1.6TB×コスト:$5=$8

  12GBのデータscanを行った場合

   データ量:12GB×コスト:$5=$0.06

 毎回クエリーを発行するたびにお金が発生
  ・リザルトキャッシュ機能などはなし
  ・1クリック毎にお買い上げです

 ※クエリーを途中キャンセルしたとしてもお金が発生するので注意
 ※DDLの作成、クエリーでerrorになった場合、お金はかからないそうです

 圧縮したParquet or ORCファイルがとにかく低コストで済む

・他のコンポーネントとの連携について
 Amazon QuickSight と連携が可能
  S3⇒Athena⇒Quicksight
 Amazon Quicksight以外は今のところなし

 JDBCドライバーが利用可能
 JDBCドライバーを利用できる言語ならどれでも実装が可能
 クライアントでも実行可能とのこと

・セキュリティ
 データに関してはS3のセキュリティに準拠するようになる
  暗号化についてはもうすぐリリース予定
 IAM Role等で制御が可能

質問

・JDBCドライバーとマネージメントコンソール以外からAthenaは使えるのか
 ⇒使えない。CLIもUDFもない。
  対応できるように進めていくとのこと

・パフォーマンス
 ⇒正直わからない
 ベンチマークとか早めに確認してサイトに出すようにするけど、ユーザーの使用用途に合わせて試してみて

・DDLってどこに保管されるの?
 アカウントに紐づいて保管される

この記事を書いた人

長澤雄平
長澤雄平

楽曲管理関連のシステムを担当しています。
モータースポーツとお酒が好物です。