3年ぶん8760MBのうち、1日ぶんだけを読みたい場面です。区切っていなければ8760MBを読みます。
日で区切っていれば8MBです。同じ問い合わせで1095倍の差になります。
読む量が費用に直結します。減らせるのは、置き場所の区切り方だけです。
Amazon Athenaは、動かした問い合わせに対して費用が立ちます。公式はAthenaは常駐する仕組みを持たないので、用意したり管理したりする基盤がなく、実行した問い合わせに対してのみ支払うと述べています。
つまり読む量を減らせば、そのまま費用が下がります。どこまで減らせるかを数えました。
3年ぶん・1日8MBで合計8760MBです。期間で絞る問い合わせに対して読む量を出します。
3年ぶん(1095日)・1日 8MB。合わせて 8,760MB 期間で絞る問い合わせに対し、区切り方を変えて読む量を見る 区切り方 1日ぶん 7日ぶん 30日ぶん 365日ぶん 1095日ぶん 区切らない 8,760MB 8,760MB 8,760MB 8,760MB 8,760MB 年で区切る 2,920MB 2,920MB 2,920MB 2,920MB 8,760MB 月で区切る 243MB 243MB 243MB 2,920MB 8,760MB 日で区切る 8MB 56MB 240MB 2,920MB 8,760MB
1列目を見てください。1日ぶんを読むのに、区切らなければ8760MB、日で区切れば8MBです。
同じ問い合わせで、費用が1095倍違います。書き方は変えていません。
月で区切った行の1列目は243MBです。1日ぶんが欲しくても、1か月ぶんを読みます。
つまり区切りの単位が下限になります。細かく区切るほど、絞れる幅も細かくなります。
必要な分だけ読めた場合との比が、そのまま無駄になる。
Athena SQL and Apache Spark on Amazon Athena are serverless, so there is no infrastructure to set up or manage, and you pay only for the queries you run.原文AWS ドキュメント「What is Amazon Athena?」 この内容の有効期限2027-02-18
取り込む工程がない代わり、置いたときの並べ方がそのまま結果に効きます。
Amazon Athenaは、置いてあるものに直接問い合わせます。公式はAthenaは、標準のSQLを使って保管先のデータを直接分析することを容易にする、対話的な問い合わせの仕組みであると定めています。
「直接」なので、取り込んで並べ直す工程がありません。その代わり、置いたときの形がそのまま効きます。
1番目と2番目は掛け算になります。日で区切って列ごとに並べれば、両方の効果が乗ります。
表 200,000行・1行あたり 12項目(1項目 4バイト) 集計に使う項目の数を変えて、読む量を見る 使う項目 行ごとに持つ形 列ごとに持つ形 比 1個 9.2MB 0.8MB 12.0倍 2個 9.2MB 1.5MB 6.0倍 3個 9.2MB 2.3MB 4.0倍 6個 9.2MB 4.6MB 2.0倍 12個 9.2MB 9.2MB 1.0倍
1項目だけなら12.0倍の差です。この比は、区切りによる比とは別に掛かります。
日で区切って1項目だけ読めば、区切らずに全項目を読む場合と比べて1095倍と12.0倍の掛け算になります。
並べ方そのものの話はClickHouseの記事で扱っていて、量の比が時間の比になるとは限らない点も測りました。
Amazon Athena is an interactive query service that makes it easy to analyze data directly in Amazon Simple Storage Service (Amazon S3) using standard SQL.原文AWS ドキュメント「What is Amazon Athena?」 この内容の有効期限2027-02-18
区切りが効くのは絞る場合だけです。速く返ってくることも、量を見落とす原因になります。
Amazon Athenaは自動で並列に処理します。公式はAthenaは自動的に規模を広げ、問い合わせを並行して実行するので、大きなデータ集合や込み入った問い合わせでも結果が速いと述べています。
速いことは、読む量が多くても待たされないということでもあります。
前の表の最終列を見てください。1095日ぶんを読む問い合わせでは、どの区切り方でも8760MBです。
全部を読む以上、区切りは関係ありません。効くのは絞る場合だけです。
365日ぶんの列も同じ傾向です。月で区切っても日で区切っても2920MBで変わりません。
2番目が見落とされます。日で区切っていても、絞る条件が別の項目なら効きません。
同じ構図は、速さだけを見ていると量に気づけない場面で繰り返し出ます。BigQueryの記事でも同じ点を扱いました。
1日8MBという値は置いたもので、実際には日によって量が違います。区切りの単位より細かく絞れないという関係は変わりませんが、日ごとの量に偏りがあれば、読む量の比も変わります。ファイルの大きさや圧縮の効きは計算に入れていません。ここで見せているのは、同じ問い合わせでも置き方によって読む量が3桁変わること、絞らない問い合わせでは区切りが効かないことの2つです。
Athena scales automatically—running queries in parallel—so results are fast, even with large datasets and complex queries.原文AWS ドキュメント「What is Amazon Athena?」 この内容の有効期限2027-02-18
同じ課題を持つ会社にとって、動いている設定は「作る時間」を買えるということです。ServiceDockは自作のワークフローやテンプレートを出品できるマーケットプレイスです。手数料や出品の流れは出品者向けページにまとまっています。
出品の仕組みを見る