[AWS] Athena: ์บ์ฑ ์ ๋ต
Athena๋ ๋ ํนํ ํน์ ์ ๊ตฌ์กฐ ํ์, ๊ฒฐ๊ณผ๊ฐ์ ์บ์ํ๊ณ ์ฌ์ฌ์ฉํ๋ ๊ฒ์ด ๊ฝค ์ง๊ด์ ์ด๊ณ ํธ๋ฆฌํ ํธ์ด๋ค.
์ํ
๋์์ ์ฟผ๋ฆฌ๋ฅผ ๋ ๋ฆฌ๋ฉด, ๊ทธ ์ฟผ๋ฆฌ์ ๋ํ ๊ฒฐ๊ณผ๊ฐ์ ๊ฑฐ์ ๋ฐ์๊ตฌ์ ์ผ๋ก ์ ์ฅ๋๋ค.
๊ทธ๋ฅ ๋์ง๊ณ ๋ฒ๋ฆฌ๋ ๊ฒ์ด ์๋ ์
์ด๋ค.

๊ทธ๋์ ์ค์ ๋ ๋ฒํท ๊ฒฝ๋ก์ ๊ฐ๋ฉด, ๊ทธ ๊ฒฐ๊ณผ์ ๋ํ ๊ฐ์ด ํ์ผ ๋จ์๋ก ์ ์ฅ์ด ๋์ด์๋ค.
๋น์ฐํ ๊ทธ๋ฅ ์ฅ์์ผ๋ก ๋๋ ๊ฑด ์๋๊ณ , ์บ์ฑ์ฉ์ผ๋ก ์ฌ์ฉํ ์ ์๋ ๊ฒ์ด๋ค.
์ฟผ๋ฆฌ ๊ฒฐ๊ณผ ์ฌ์ฌ์ฉ
Athena ํธ์ง๊ธฐ๋ก ๊ฐ๋ณด๋ฉด, ๊ทํ์ด์ ์บ์ฑ์ ์ํ ์ ์ฉ ์ต์
์ด ์๋ค.
์ด๊ฒ ์ ์บ์ ๋ฐ์ดํฐ๋ฅผ ๊ทธ๋๋ก ์ฝ์ด์ค๋ ์ถ๊ฐ ๊ธฐ๋ฅ์ด๋ค.

๊ทธ๋ฆฌ๊ณ ๋์ผํ ์ฟผ๋ฆฌ๋ก ๋ ๋ ค๋ณด๋ฉด, S3 ๋ฒํท ์ค์บ ์์ด ์ ์ฅ๋์ด์๋ ๊ฐ์ ๊ทธ๋๋ก ๊ฐ์ ธ์จ๋ค.
Athena ์ฌ์ฉํจํด์ ๋๋ถ๋ถ์ ๋ํ ๋ฐ์ดํฐ๋ท์ ๋ํ ๋๋ฆฐ ์ง๊ณ์ด๊ธฐ ๋๋ฌธ์ ์บ์๊ฐ์ ์ฌ์ฉํ๋ ๊ฒ์ด ์ฑ๋ฅ์ ์ผ๋ก๋ ๋น์ฉ์ ์ผ๋ก ์ ํฉํ ์ผ์ด ๋ง์ ๊ฒ์ด๋ค.
์ ํ์ฌํญ
์ฐธ๊ณ ๋ก ์ด๊ฑด ์ฟผ๋ฆฌ ํํ๊ฐ ์กฐ๊ธ๋ง ๋ฌ๋ผ์ ธ๋ ์บ์ miss๊ฐ ๋๋ค.
์๋ฅผ ๋ค์ด, ๊ธฐ์กด ์ฟผ๋ฆฌ์์ limit 10 => limit 3์ผ๋ก ์ถ์๋ง ํ๋๋ผ๋ ์ฆ์ ์บ์๊ฐ ๊นจ์ง๊ณ ์ค์บ์ด ๋ฐ์ํ๋ค.
๊ทธ๋ ๊ฒ ์ ์ฐํ ๊ธฐ๋ฅ์ ์๋๋ค.
์บ์ ๊ฐ๋ฅํ ์ต๋ ๊ธฐ๊ฐ์ 7์ผ์ด๋ค.
๊ทธ ์ด์์ ์๋๋ค.
๊ทธ๋ฆฌ๊ณ ๋น๊ฒฐ์ ์ ์ธ ์ฟผ๋ฆฌ๋ ์บ์๋ฅผ ์ฌ์ฉํ์ง ๋ชปํ๋ค. ๋ํ์ ์ธ ์ค์ผ ์์๊ฐ RAND์ CURRENT_TIME์ด๋ค. RAND์ CURRENT_TIME๊ฐ ๋ค์ด๊ฐ๋ ์ฟผ๋ฆฌ๋ Athena๊ฐ ์์์ ํ๋จํ๊ณ ์บ์๋ฅผ ๋ฌด์กฐ๊ฑด ๋ฒ๋ฆฐ๋ค.
๊ทธ๋์ ์ด๋ฐ ์ฟผ๋ฆฌ๋ ์ ๋๋ก ์บ์๋ฅผ ํ์ง ๋ชปํ๋ค.
์ฐธ์กฐ
https://docs.aws.amazon.com/athena/latest/ug/reusing-query-results.html
https://aws.amazon.com/ko/blogs/big-data/reduce-cost-and-improve-query-performance-with-amazon-athena-query-result-reuse/