時代はクラウドということで、クラウド関連の案件が増えて来ましたので、
Amazon Web Servicesに関する知識を深めようと思います。
Athena は、S3 に置かれたデータをそのまま SQL で分析できるサーバレスなクエリサービスです。データベースサーバを立てたり、インフラを管理したりする必要がなく、「保存してあるデータに対してすぐ分析したい」という用途に向いています。
Athena の基本的な考え方はとてもシンプルで、データはあくまで S3 にファイルとして保存されたまま、Athena はそれを読み取って SQL を実行します。つまり、Athena 自身がデータを保持するわけではなく、S3 上の CSV、JSON、Parquet、ORC などのファイルを「テーブルがあるかのように」扱います。このため、分析対象のデータ量が増えても、ストレージは安価な S3 を使い続けられる点が大きなメリットです。
クエリを実行すると、Athena は内部的に分散処理を行い、必要なファイルだけを読み込みます。ユーザーはクラスターのサイズやスケールを意識する必要がなく、実行したクエリで 実際にスキャンしたデータ量に応じて課金されます。そのため、データ形式やパーティション設計がそのままコストと性能に直結します。特に Parquet や ORC のような列指向フォーマットを使い、日付やサービス名などでパーティションを切ることで、クエリは高速になり、料金も大きく下げられます。