trino_base
Trino
2012๋ Martin Traverso , David Phillips, Dain Sundstrom ๋ฐ Eric Hwang์ Facebook ๋ฐFacebook์ด ๋ถ์ํ๋ ค๊ณ ํ๋ ์๋ฐฑ ํํ๋ฐ์ดํธ๋ฅผ ๋ ์ ์ฒ๋ฆฌํ๊ธฐ ์ํด Apache Hive๋ฅผ ๋์ฒดํ Presto๋ฅผ ๊ฐ๋ฐํ์์ต๋๋ค.
Presto์ ์๋ ์ ์์๋ Presto ์คํ ์์ค๋ฅผ ์ ์งํ๊ธฐ๋ก ๊ฒฐ์ ํ๊ณ Presto ์คํ ์์ค ์ปค๋ฎค๋ํฐ ๊ตฌ์ถ์ ํํ์์ผ๋ก ์ถ๊ตฌํ์ต๋๋ค. ์๋ก์ด ์ด๋ฆ์ธ PrestoSQL๋ก ์ด ์์ ์ ์ํํ์๊ณ Facebook์ Prestoยฎ์ ์ํ๋ฅผ ์ ์ฒญํ์ต๋๋ค. ์ด๋ก ์ธํด ๊ฒฐ๊ตญ Presto๋ฅผ ๊ฐ๋ฐํ ์๋ ๊ทธ๋ฃน์ด ๋ธ๋๋๋ฅผ ๋ณ๊ฒฝํด์ผ ํ๋ ์์ก ๋ฐ ๊ธฐํ ๋ฌธ์ ๊ฐ ๋ฐ์ํ์ฌ PrestoSQL์ Trino๋ก ๋ฆฌ๋ธ๋๋ฉํ์ต๋๋ค.
Trino๋ SQL ์์ง, ์ฌ๋ฌ ์ ํ์ ๋ฐ์ดํฐ ์์ค์ ๋ํ ์์ ๋ฐ ๋ฐฐ์น ETL ์ฟผ๋ฆฌ๋ฅผ ์ํ ์คํ ์์ค ๋ถ์ฐ SQL ์ฟผ๋ฆฌ ์์ง์ ๋๋ค.
Trino๋ ๊ธฐ๊ฐ๋ฐ์ดํธ์์ ํํ๋ฐ์ดํธ์ ์ด๋ฅด๋ ๋ค์ํ ๋ฐ์ดํฐ ์์ค์ ๋ํด ๋น ๋ฅธ ๋ถ์ ์ฟผ๋ฆฌ๋ฅผ ์คํํ๊ธฐ ์ํ ์คํ ์์ค ๋ถ์ฐ SQL ์์ง์ ๋๋ค.
Trino๋ ํ๋ ์ด์์ ์ด๊ธฐ์ข ๋ฐ์ดํฐ ์์ค์ ๋ถ์ฐ๋ ๋๊ท๋ชจ ๋ฐ์ดํฐ ์ธํธ๋ฅผ ์ฟผ๋ฆฌํ๋๋ก ์ค๊ณ๋ ๋ถ์ฐ SQL ์ฟผ๋ฆฌ ์์ง์ ๋๋ค.
Trino๋ ๋ํํ ๋ถ์์ ์ํด ์ฒ์๋ถํฐ ์ค๊ณ ๋ฐ ์ ์๋์์ต๋๋ค. ๋งค์ฐ ํฐ ์กฐ์ง์ ๊ท๋ชจ๋ก ํ์ฅํ๋ฉด์ ์์ฉ ๋ฐ์ดํฐ ์จ์ดํ์ฐ์ค์ ์๋์ ์ ๊ทผํฉ๋๋ค.
JSON, ๋ฐฐ์ด ๋ฐ ๋งต๊ณผ ๊ฐ์ ํ์ค ๋ฐ ๋ฐ๊ตฌ์กฐํ๋ ๋ฐ์ดํฐ ์ ํ์ ์ ์ฒด ํธ์คํธ๋ฅผ ๊ด๋ฆฌํ ์ ์์ต๋๋ค.
๋์
Trino๋ ๋๊ท๋ชจ ๋ณ๋ ฌ ์ฒ๋ฆฌ(MPP) ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ ์ฌํ ์ํคํ ์ฒ๋ฅผ ํ์ฉํ๋ ๋ถ์ฐ ์์คํ
๋ค๋ฅธ ๋ง์ ๋น ๋ฐ์ดํฐ ์์ง๊ณผ ๋ง์ฐฌ๊ฐ์ง๋ก ์ํํด์ผ ํ ๋ชจ๋ ์์ ์ ์ฒ๋ฆฌํ๊ธฐ ์ํด ์ฌ๋ฌ ์์ ์ ๋ ธ๋๋ฅผ ๊ด๋ฆฌํ๋ ์ฝ๋๋ค์ดํฐ ๋ ธ๋์ ํํ๊ฐ ์์ต๋๋ค. ์ฆ, Trino๋ ์ฌ๋ฌ ๋์ ์๋ฒ์ ๋ณ๋ ฌ๋ก ๋ฐ์ดํฐ๋ฅผ ์ฒ๋ฆฌํ๋ ๋ถ์ฐ ์ฟผ๋ฆฌ ์์ง์ผ๋ก, ๋จ์ผ ์ฝ๋๋ค์ดํฐ์ ์ฌ๋ฌ ๊ฐ์ ์์ปค๋ก ๊ตฌ์ฑ๋ฉ๋๋ค
๋ถ์๊ฐ ๋๋ ์ผ๋ฐ ์ฌ์ฉ์๋ ์ฝ๋๋ค์ดํฐ์๊ฒ ํธ์๋๋ SQL์ ์คํํฉ๋๋ค. ๊ทธ๋ฐ ๋ค์ ์ฝ๋๋ค์ดํฐ๋ ๋ถ์ฐ ์ฟผ๋ฆฌ๋ฅผ ๊ตฌ๋ฌธ ๋ถ์, ๊ณํ ๋ฐ ์์ฝํฉ๋๋ค.
ํ์ค ANSI SQL ์ ์ง์ํ๊ณ ์ฌ์ฉ์๊ฐ JSON ๋ฐ MAP ๋ณํ ๋ฐ ๊ตฌ๋ฌธ ๋ถ์๊ณผ ๊ฐ์ ๋ณด๋ค ๋ณต์กํ ๋ณํ์ ์คํํ ์ ์์ต๋๋ค.
์ฟผ๋ฆฌ ์ํ
BLOCKEDโ ์ฟผ๋ฆฌ๊ฐ ์ฐจ๋จ๋๊ณ ๋ฆฌ์์ค(๋ฒํผ ๊ณต๊ฐ, ๋ฉ๋ชจ๋ฆฌ, ๋ถํ ๋ฑ)๋ฅผ ๊ธฐ๋ค๋ฆฌ๊ณ ์์ต๋๋ค.(์ํ BLOCKED๋ ์ ์์ด์ง๋ง ์ง์์ ์ด๋ผ๋ฉด ์กฐ์ฌ๊ฐ ํ์ํฉ๋๋ค.)
๋ฉ๋ชจ๋ฆฌ ๋ถ์กฑ ๋๋ ๋ถํ , ๋์คํฌ ๋๋ ๋คํธ์ํฌ I/O ๋ณ๋ชฉ ํ์, ๋ฐ์ดํฐ ์๊ณก(๋ชจ๋ ๋ฐ์ดํฐ๊ฐ ์์์ ์์ ์์๊ฒ ์ ๋ฌ๋จ), ๋ณ๋ ฌ ์ฒ๋ฆฌ ๋ถ์กฑ(๋ช ๋ช ์ ์์ ์๋ง ์ฌ์ฉ ๊ฐ๋ฅ) ๋๋ ์ง์ ๋ ๋จ๊ณ๋ฅผ ๋ฐ๋ฅด๋ ์ฟผ๋ฆฌ์ ๊ณ์ฐ ๋น์ฉ์ด ๋ง์ด ๋๋ ๋จ๊ณ ๋ฑ ๋ง์ ์ ์ฌ์ ์์ธ์ด ์์ต๋๋ค
ํธ๋ฆฌ๋
ธ๋ฅผ ์ฌ์ฉํ๋ ์ด์
๋ ๋ฆฝ์ ์ธ ๋ฐ์ดํฐ ์์ค ์ฐ๊ฒฐ
๋ฐ์ดํฐ๋ฅผ ์ฟผ๋ฆฌํ ์ ์๋ ๋ฐฉ๋ฒ๊ณผ ๊ด๋ จํ์ฌ ๋ง์ ์ต์ ์ด ์์ต๋๋ค.(Athena, Hive ๋ฐ Apache Drill๊ณผ ๊ฐ์ ๋๊ตฌ๊ฐ ์์)
Trino์ ๊ฐ์ฅ ํฐ ์ฅ์ ์ ๋ฐ๋ก SQL ์์ง์ด๋ผ๋ ๊ฒ์ ๋๋ค. ์ฆ, MySQL, HDFS ๋ฐ SQL Server์ ๊ฐ์ ๋ค์ํ ๋ฐ์ดํฐ ์์ค ์์ ๋ถ๊ฐ์ง๋ก ์ ์ผ๋ก ์์น
ํด๋ผ์ฐ๋ ์ค์ฌ
์คํ ๋ฆฌ์ง์ ์ปดํจํ ์ ๋ณ๋๋ก ์คํํ๋ Presto์ ๊ธฐ๋ณธ ์ค๊ณ๋ ํด๋ผ์ฐ๋ ํ๊ฒฝ์์ ์ด์ํ๋ ๋ฐ ๋งค์ฐ ํธ๋ฆฌํฉ๋๋ค.
Presto ํด๋ฌ์คํฐ๋ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ์ง ์๊ธฐ ๋๋ฌธ์ ๋ฐ์ดํฐ ์์ค ์์ด ๋ก๋์ ๋ฐ๋ผ ์๋ ํ์ฅ๋ ์ ์์ต๋๋ค.
์ํคํ
์ฒ
์ํคํ ์ฒ
ํด๋ฌ์คํฐ: Trino ํด๋ฌ์คํฐ๋ ์ฝ๋๋ค์ดํฐ์ ์ฌ๋ฌ ๊ฐ์ ์์ปค๋ก ๊ตฌ์ฑ๋ฉ๋๋ค. ์ฝ๋๋ค์ดํฐ๋ ์ฟผ๋ฆฌ ์คํ์ ๊ด๋ฆฌํ๊ณ , ์์ปค๋ ์นดํ๋ก๊ทธ์ ๊ตฌ์ฑ๋ ๋ฐ์ดํฐ ์์ค์ ์ก์ธ์คํ๊ณ ๊ฐ ์ฟผ๋ฆฌ๋ฅผ ๋ณ๋ ฌ๋ก ์ฒ๋ฆฌํฉ๋๋ค.
์ฝ๋๋ค์ดํฐ: ์ฝ๋๋ค์ดํฐ๋ SQL ๋ฌธ์ ํ์ฑํ๊ณ ์ฟผ๋ฆฌ๋ฅผ ๊ณํํ๋ฉฐ Trino ์์ปค ๋ ธ๋๋ฅผ ๊ด๋ฆฌํฉ๋๋ค. ์ฟผ๋ฆฌ์ ๋ ผ๋ฆฌ์ ๋ฐ ๋ฌผ๋ฆฌ์ ์ธ ๊ณํ์ ์์ฑํ๋ฉฐ Trino ์์ปค ํด๋ฌ์คํฐ์์ ์คํ๋๋ ์ผ๋ จ์ ๋จ๊ณ์ ์์ ์ผ๋ก ๊ตฌ์ฑ๋ฉ๋๋ค.
์์ปค: Trino ์์ปค๋ ์์ ์ ์คํํ๊ณ ๋ฐ์ดํฐ๋ฅผ ์ฒ๋ฆฌํ๋ฉฐ, ์ปค๋ฅํฐ๋ฅผ ํตํด ๋ฐ์ดํฐ ์ ์ฅ์์์ ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ ธ์ค๊ณ ๋ค๋ฅธ ์์ปค์ ์ค๊ฐ ๋ฐ์ดํฐ๋ฅผ ๊ตํํฉ๋๋ค. ์ฝ๋๋ค์ดํฐ๋ ์์ปค๋ก๋ถํฐ ๊ฒฐ๊ณผ๋ฅผ ์์งํ์ฌ ์ต์ข ๊ฒฐ๊ณผ๋ฅผ ํด๋ผ์ด์ธํธ์ ๋ฐํํฉ๋๋ค.
์ธ๋ถ ์ ์ฅ์์์ ๋ฐ์ดํฐ๋ฅผ ์ฝ๊ณ SQL ์ฐ์ฐ์ ์ฌ์ฉํ์ฌ ๋ฐ์ดํฐ๋ฅผ ์ฒ๋ฆฌํ๋ฉฐ, ๋ค๋ฅธ Trino ์์ปค์ ๋ฐ์ดํฐ๋ฅผ ๊ตํํ๊ณ ๋ฐ์ดํฐ๋ฅผ ์ง๊ณํ์ฌ ์ต์ข ์ฟผ๋ฆฌ ๊ฒฐ๊ณผ๋ฅผ ์์ฑํ๋ ์ญํ ์ ๋ด๋นํฉ๋๋ค.
์ปดํจํ ํ์๋ฅผ ์ ๊ณตํ๋ฉฐ, Trino ํด๋ฌ์คํฐ๋ฅผ ์ํด ๋ฐ์ดํฐ๋ฅผ ๋ก๋ํ๋ ์ญํ ์ ๋ด๋นํฉ๋๋ค. ๋๋ถ๋ถ์ ๊ฒฝ์ฐ, ๊ฐ ์์ปค์ ๋ ๋ง๊ณ ๊ฐ๋ ฅํ CPU๋ฅผ ์ฅ์ฐฉํ๋ฉด ์ฟผ๋ฆฌ๋ฅผ ๋น ๋ฅด๊ฒ ์คํํ ์ ์์ต๋๋ค.
Trino๋ ์ค๊ฐ ์ฐ์ฐ ๊ฒฐ๊ณผ๋ฅผ ๋์คํฌ ๋์ ๋ฉ๋ชจ๋ฆฌ์ ์ ์ฅํฉ๋๋ค. ์ผ์์ ์ธ ์ด์๊ณผ ์ ์ง๋ณด์์์๋ ๋ชจ๋ ์์ปค์ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ๋ถ์ฐ ๋ฉ๋ชจ๋ฆฌ ์์ ํ๋ก ๊ฐ์ฃผํ ์ ์์ต๋๋ค. ์ฟผ๋ฆฌ์ ๋ฉ๋ชจ๋ฆฌ ์ฌ์ฉ๋์ด ์ด ๋ฉ๋ชจ๋ฆฌ ํ์ ์ด๊ณผํ๋ฉด ์ฟผ๋ฆฌ๊ฐ ์คํจํ๊ฑฐ๋ ๋ฌด๊ธฐํ์ผ๋ก ์ฐจ๋จ๋ ์ ์์ต๋๋ค.
์ปค๋ฅํฐ: ์ปค๋ฅํฐ๋ Trino๋ฅผ ๋ฐ์ดํฐ ์์ค์ ๋ง๊ฒ ์ ์ฉํ๋ ์ญํ ์ ํฉ๋๋ค. Hive ๋ฐ์ดํฐ ์จ์ดํ์ฐ์ค, ๋ฐ์ดํฐ ๋ ์ดํฌ, ๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๋ฑ๊ณผ ๊ฐ์ ๋ฐ์ดํฐ ์์ค์ Trino๊ฐ ํ์ค API๋ฅผ ์ฌ์ฉํ์ฌ ์ํธ ์์ฉํ ์ ์๋๋ก ํฉ๋๋ค. Trino์๋ ์ฌ๋ฌ ๋ด์ฅ ์ปค๋ฅํฐ๊ฐ ํฌํจ๋์ด ์์ต๋๋ค.
์นดํ๋ก๊ทธ: Trino๋ ๊ฐ ๋ฐ์ดํฐ ์์ค๋ฅผ ์นดํ๋ก๊ทธ๋ก ๊ตฌ์ฑํ์ฌ ๋ฐ์ดํฐ์ ์ก์ธ์คํฉ๋๋ค. SQL ์กฐ์ธ์ ์ฌ์ฉํ์ฌ ํ๋์ ์ฟผ๋ฆฌ ๋ด์์ ์ฌ๋ฌ ์นดํ๋ก๊ทธ๋ฅผ ์ฟผ๋ฆฌํ ์ ์์ต๋๋ค. ์นดํ๋ก๊ทธ๋ Trino ๊ตฌ์ฑ ๋๋ ํ ๋ฆฌ์ ์ ์ฅ๋ ์์ฑ ํ์ผ์ ์ฌ์ฉํ์ฌ ๊ตฌ์ฑ๋ฉ๋๋ค.
์ฌ๋ฌ ์์ ์ ๋ ธ๋์ ๋๊ธฐํ๋์ด ์๋ํ๋ ํ๋์ ์ฝ๋๋ค์ดํฐ ๋ ธ๋๊ฐ ์์ต๋๋ค.
์ฌ์ฉ์๋ ์ฌ์ฉ์ ์ง์ ์ฟผ๋ฆฌ ๋ฐ ์คํ ์์ง์ ์ฌ์ฉํ์ฌ ์์ ์ ๋ ธ๋์์ ๋ถ์ฐ ์ฟผ๋ฆฌ ๊ณํ์ ๊ตฌ๋ฌธ ๋ถ์, ๊ณํ ๋ฐ ์์ฝํ๋ ์ฝ๋๋ค์ดํฐ์ SQL ์ฟผ๋ฆฌ๋ฅผ ์ ์ถํ ์ ์์ต๋๋ค.
Presto๋ ๋ณต์กํ ์ฟผ๋ฆฌ, ์ง๊ณ, ์กฐ์ธ, ์ผ์ชฝ/์ค๋ฅธ์ชฝ ์ธ๋ถ ์กฐ์ธ, ํ์ ์ฟผ๋ฆฌ, ์ฐฝ ํจ์, ๊ฐ๋ณ ์นด์ดํธ ๋ฐ ๋๋ต์ ์ธ ๋ฐฑ๋ถ์์๋ฅผ ํฌํจํ์ฌ ํ์ค ANSI SQL ์๋ฏธ ์ฒด๊ณ๋ฅผ ์ง์ํ๋๋ก ์ค๊ณ๋์์ต๋๋ค.
์ฟผ๋ฆฌ๊ฐ ์ปดํ์ผ๋ ํ Presto๋ ์์ ์ ๋ ธ๋์์ ์์ฒญ์ ์ฌ๋ฌ ๋จ๊ณ๋ก ์ฒ๋ฆฌํฉ๋๋ค.
๋ถํ์ํ I/O ์ค๋ฒํค๋๋ฅผ ํผํ๊ธฐ ์ํด ๋ชจ๋ ์ฒ๋ฆฌ๋ ๋ฉ๋ชจ๋ฆฌ ๋ด์์ ์ด๋ฃจ์ด์ง๋ฉฐ ๋จ๊ณ ๊ฐ์ ๋คํธ์ํฌ๋ฅผ ํตํด ํ์ดํ๋ผ์ธ๋ฉ๋๋ค.
Presto ์ฟผ๋ฆฌ ์์ง ์ฌ์ฉ
Presto๋ฅผ ์ฌ์ฉํ์ฌ ๋ชจ๋ ํฌ๊ธฐ์ ๋ฐ์ดํฐ์ ๋ํด ๋น ๋ฅธ ๋ถ์ ์ฟผ๋ฆฌ๋ฅผ ์คํํฉ๋๋ค. ์ด๋ Presto๊ฐ ๋๊ธฐ ์๊ฐ์ ์ต์ ํ๋์ด ์๊ธฐ ๋๋ฌธ์ ๊ฐ๋ฅํฉ๋๋ค.
Hive์ ๋น๊ต
hive : ์คํ ์์ค Hadoop ํ๋ซํผ์์ ๋๊ท๋ชจ ๋ฐ์ดํฐ ์์คํ ์ ์ฟผ๋ฆฌํ๋๋ก ์ค๊ณ๋์์ต๋๋ค. Hive 2019.1์ SQL๊ณผ ์ ์ฌํ ์ฟผ๋ฆฌ๋ฅผ MapReduce ์์ ์ผ๋ก ๋ณํํ์ฌ ๋๋์ ๋ฐ์ดํฐ๋ฅผ ์ฝ๊ฒ ์คํํ๊ณ ์ฒ๋ฆฌํฉ๋๋ค. Hive๋ ์ฟผ๋ฆฌ ์ฒ๋ฆฌ๋์ ์ต์ ํ๋์ด ์์ผ๋ฉฐ ํ ๋ชจ๋ธ๋ก ์ค๋ช ๋ฉ๋๋ค.
presto : HDFS ๋ฑ์ ๋ฐ์ดํฐ์ ๋ํ ๋น ๋ฅธ ๋ํํ ์ฟผ๋ฆฌ๋ฅผ ์ํด ์ค๊ณ๋์์ต๋๋ค. Presto ๋ ๋๊ธฐ ์๊ฐ์ ์ต์ ํ๋์ด ์์ผ๋ฉฐ ์ข ์ข ํ ๋ชจ๋ธ๋ก ์ค๋ช ๋ฉ๋๋ค.
Spark์ ๋น๊ต
Trino๋ ์ ๋ํน SQL ๋ถ์์ผ๋ก ์ฌ์ฉ๋๋ ๋ฐ๋ฉด Spark๋ ETL/ML ํ์ดํ๋ผ์ธ์ฉ์ผ๋ก ์ฌ์ฉ๋ฉ๋๋ค
ํ์ฉ
Trino: ์ฃผ๋ก OLAP(Online Analytical Processing) ์์ ์ ์ฌ์ฉ๋๋ฉฐ ๋์ฉ๋ ๋ฐ์ดํฐ์ ์ ๋ํ ๋น ๋ฅธ SQL ์ง์๋ฅผ ์ ๊ณตํ๋ ๋ฐ ์ต์ ํ๋์ด ์์ต๋๋ค.
Spark: OLAP๋ฟ๋ง ์๋๋ผ ETL ์์ , ์คํธ๋ฆฌ๋ฐ ์ฒ๋ฆฌ, ๊ทธ๋ํ ์ฒ๋ฆฌ ๋ฐ ๋จธ์ ๋ฌ๋ ๋ฑ์ ๋ค์ํ ์์ ์ ์ฌ์ฉ๋ฉ๋๋ค.
์ปค๋ฅํฐ
Trino: ๋ค์ํ ๋ฐ์ดํฐ ์์ค (RDBMS, NoSQL, HDFS, S3 ๋ฑ)์ ๋ํ ์ปค๋ฅํฐ๋ฅผ ์ ๊ณตํ์ฌ ์ฌ์ฉ์๊ฐ ํ๋์ SQL ์ฟผ๋ฆฌ๋ก ์ฌ๋ฌ ๋ฐ์ดํฐ ์์ค์ ์ง์ํ ์ ์๊ฒ ํฉ๋๋ค.
Spark: Spark๋ ๋ค์ํ ๋ฐ์ดํฐ ์์ค๋ฅผ ์ง์ํ์ง๋ง, Trino๋งํผ ๋ค์ํ ๋ฐ์ดํฐ ์ ์ฅ์์ ๋ํ ์ปค๋ฅํฐ๋ฅผ ๊ฐ์ถ์ง๋ ์์ต๋๋ค.
๋ด๊ฒฐํจ์ฑ
Trino: ๋๋ถ๋ถ์ SQL ์ฟผ๋ฆฌ๋ฅผ ๋ํ์์ผ๋ก ์คํํ๊ธฐ ๋๋ฌธ์ ์๋๊ฐ ์ค์ํ๋ฉฐ ์์ ์ ๋ ธ๋ ์ค ํ๋์ ์ฅ์ (์: ์ข ๋ฃ)๊ฐ ๋ฐ์ํ๋ฉด ์งํ ์ค์ธ ์ฟผ๋ฆฌ๊ฐ ์ค๋จ๋๊ณ ๋ค์ ์์ํด์ผ ํฉ๋๋ค.
Spark: ๋๋ถ๋ถ์ ์ฟผ๋ฆฌ๊ฐ ์คํจํ์ง ์์์๋ ๊ฒฐํจ ํ์ฉ์ฑ์ ์ ๊ณตํด์ผํฉ๋๋ค. ๋์คํฌ์ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๋ฉด ์ฅ์ ๋ฐ์ ์ ๋ณต๊ตฌ๊ฐ ์ฉ์ดํ์ง๋ง, ์คํํฌ์ ๊ฐ์ ๋ฉ๋ชจ๋ฆฌ ๊ธฐ๋ฐ ์์คํ ์์๋ ๋ณต๊ตฌ ์์ ์ด ๋ณต์กํ ์ ์์ต๋๋ค. ์คํํฌ๋ ์ฅ์ ๋ฐ์ ์ ์ด์ ์์ ์ ์ฌ์คํํ์ฌ ๋ณต๊ตฌ๋ฅผ ์๋ํฉ๋๋ค.
์ฟผ๋ฆฌ ์ค์ผ์ค๋ง
Trino: ํญ์ ์คํ ์ค์ธ ์ฝ๋๋ค์ดํฐ๋ฅผ ๊ฐ๊ณ ์์ด ์ฟผ๋ฆฌ์ ์ค์ผ์ค๋ง์ ํฐ ์ค๋ฒํค๋๊ฐ ์์ต๋๋ค.
Spark: Spark๋ ์ง์ฐ๋ ์ ๊ทผ ๋ฐฉ์์ ์ฌ์ฉํ์ฌ ๋ฆฌ์์ค๋ฅผ ํ์ํ๊ณ JAR ํ์ผ์ ๋ณต์ฌํ ๋ค์ ์ฒ๋ฆฌ๋ฅผ ์์ํ๋ ๋ฐ ์๊ฐ์ด ๊ฑธ๋ฆฝ๋๋ค.
์คํ ๋ชจ๋ธ
Trino: ํ์ดํ๋ผ์ธ ์คํ ๋ชจ๋ธ์ ์ฌ์ฉํ์ฌ ์ฌ๋ฌ ์ฟผ๋ฆฌ ๊ณํ์ ๋ถ๋ถ์ด ๋์์ ์คํ๋ ์ ์์ต๋๋ค.
Spark: ์ฐ๊ฒฐ๋์ง ์์ ๋จ๊ณ๋ฅผ ๊ฐ์ง๋ฉฐ ํ๋์ ๋จ๊ณ๊ฐ ์ฒ๋ฆฌ๋ฅผ ์๋ฃํ ๋๊น์ง ๋ค์ ๋จ๊ณ๋ ์๋ฌด ๊ฒ๋ ํ ์ ์์ต๋๋ค(DAG)
Reference
https://www.starburst.io/learn/open-source-trino/
https://api-docs.treasuredata.com/en/tools/presto/quickstart/
https://www.oreilly.com/library/view/trino-the-definitive/9781098107703/ch04.html
Last updated