ETL ๊ณผ ELT (+Amazon Redshift)
ETL ๊ณผ ELT
ELT(Extract, Load, Transform)์ ETL(Extract, Transform, Load)์ ๋ฐ์ดํฐ ์จ์ดํ์ฐ์ค์ ๋ฐ์ดํฐ๋ฅผ ์ด๋์ํค๋ ๋ ๊ฐ์ง ์ผ๋ฐ์ ์ธ ๋์์ธ ํจํด์ผ๋ก, ์ด ๋ ํจํด์ ์ฃผ์ ์ฐจ์ด์ ์ ๋ฐ์ดํฐ ์ฒ๋ฆฌ ํ์ดํ๋ผ์ธ์์ ๋ณํ(transformation)์ด ์ธ์ ๋ฐ์ํ๋์ง์ ์์ต๋๋ค.
ETL(Extract, Transform, Load): ์ด ๋ฐฉ์์์๋ ๋ฐ์ดํฐ๊ฐ ์จ์ดํ์ฐ์ค์ ๋ก๋๋๊ธฐ ์ ์ ๋ณํ์ด ์ด๋ฃจ์ด์ง๋๋ค. ETL์ ์์ค ์์คํ ์์ ๋ฐ์ดํฐ๋ฅผ ์ถ์ถํ๊ณ , ๊ทธ ๋ฐ์ดํฐ๋ฅผ ์ ์ ๋ฐ ๋ณํํ ํ, ๋ง์ง๋ง์ผ๋ก ๊ทธ ๊ฒฐ๊ณผ๋ฅผ ๋ฐ์ดํฐ ์จ์ดํ์ฐ์ค์ ๋ก๋ํ๋ ๋ฐฉ์์ ๋๋ค. ์ด ๋ฐฉ์์ ๋ฏธ๋ฆฌ ์ ์๋ ๋น์ฆ๋์ค ๊ท์น์ ๋ฐ๋ผ ๋ฐ์ดํฐ๋ฅผ ์ ์ ํ๊ณ ๋ณํํ ํ์๊ฐ ์์ ๋ ์ ์ฉํฉ๋๋ค.
ELT(Extract, Load, Transform): ์ด ๋ฐฉ์์์๋ ์จ์ดํ์ฐ์ค์ ๋ฐ์ดํฐ๋ฅผ ๋ก๋ํ ํ์ ๋ณํ์ด ์ด๋ฃจ์ด์ง๋๋ค. ELT๋ ์์ค ์์คํ ์์ ๋ฐ์ดํฐ๋ฅผ ์ถ์ถํ๊ณ , ๊ทธ ๋ฐ์ดํฐ๋ฅผ ๋จผ์ ๋ฐ์ดํฐ ์จ์ดํ์ฐ์ค์ ๋ก๋ํ ํ, ํ์์ ๋ฐ๋ผ ์จ์ดํ์ฐ์ค ๋ด์์ ๋ฐ์ดํฐ๋ฅผ ๋ณํํ๋ ๋ฐฉ์์ ๋๋ค. ์ด ๋ฐฉ์์ ๋์ฉ๋์ ๋น์ ํ ๋ฐ์ดํฐ๋ฅผ ์ฒ๋ฆฌํด์ผ ํ๋ ๋น ๋ฐ์ดํฐ ํ๊ฒฝ์์ ์ ์ฉํ๋ฉฐ, ๋ฐ์ดํฐ์ ํ์์ด๋ ๊ตฌ์กฐ๊ฐ ๋ฏธ๋ฆฌ ์์ธก๋์ง ์๋ ์ํฉ์์ ํจ๊ณผ์ ์ ๋๋ค.
๋ฐ๋ผ์, ์ด๋ค ์ํฉ์์ ELT์ ETL์ ๊ตฌ๋ถํ์ฌ ์ฌ์ฉํด์ผ ํ๋์ง๋ ์ฃผ๋ก ๋ฐ์ดํฐ์ ์, ๋ณต์ก์ฑ, ๋ณํ์ ํ์์ฑ ๋ฑ์ ๋ฐ๋ผ ๋ฌ๋ผ์ง๋๋ค. ์ผ๋ฐ์ ์ผ๋ก, ETL์ ์๊ฑฐ๋ ์ค๊ฐ ๊ท๋ชจ์ ์ ํ ๋ฐ์ดํฐ์ ์ ๋ํ ๋ณต์กํ ๋ณํ์ ์ํํด์ผ ํ ๋, ELT๋ ํฐ ๊ท๋ชจ์ ๋ฐ์ดํฐ์ ์ด๋ ๋ ๊ตฌ์กฐํ๋ ๋ฐ์ดํฐ๋ฅผ ๋ค๋ฃจ์ด์ผ ํ ๋ ๋์ฑ ์ ์ฉํ๋ค๊ณ ํ ์ ์์ต๋๋ค.

Redshift Spectrum
Amazon Redshift๋ AWS์์ ์์ ํ ๊ด๋ฆฌ๋๋ ๋ฐ์ดํฐ ์จ์ดํ์ฐ์ค ์๋น์ค์ ๋๋ค. ๋ถ์ฐํ, ๋๊ท๋ชจ ๋ณ๋ ฌ ์ฒ๋ฆฌ(MPP), ๊ณต์ ์๋ ์ํคํ ์ฒ(?)๋ฅผ ์ฌ์ฉํฉ๋๋ค. Redshift Spectrum์ Amazon Redshift์ ๊ธฐ๋ณธ ๊ธฐ๋ฅ์ผ๋ก, Amazon S3์ ๋ฐ์ดํฐ ๋ ์ดํฌ์ ์ ์ฅ๋ ๋ชจ๋ ๋ฐ์ดํฐ์ ๋ํด ํ์ฌ ์ฌ์ฉ ์ค์ธ BI ์ ํ๋ฆฌ์ผ์ด์ ๊ณผ SQL ํด๋ผ์ด์ธํธ ๋๊ตฌ๋ฅผ ์ด์ฉํด Amazon Redshift์ SQL์ ์คํํ ์ ์๊ฒ ํด์ค๋๋ค.
์ผ๋ฐ์ ์ธ ํจํด์ Amazon Redshift์ ๋ก์ปฌ๋ก ์ ์ฅ๋ ์์ฃผ ์ก์ธ์คํ๋ ํซ ๋ฐ์ดํฐ์ Amazon S3์ ๋น์ฉ ํจ์จ์ ์ผ๋ก ์ ์ฅ๋ ์ ๋๋ ์ฝ๋ ๋ฐ์ดํฐ๋ฅผ ๋ชจ๋ ํฌํจํ๋ ์ฟผ๋ฆฌ๋ฅผ ์คํํ๋ ๊ฒ์ ๋๋ค. ์ธ๋ถ ํ ์ด๋ธ์ ๋ํด ์คํค๋ง ๋ฐ์ธ๋ฉ์ด ์๋ ๋ทฐ๋ฅผ ์ฌ์ฉํ๋ฉด, ์ฌ๋ฌ ์ ์ค ์ผ์ด์ค์ ๋ํด ํด๋ฌ์คํฐ์ S3์์ ์ปดํจํธ ๋ฆฌ์์ค์ ์ ์ฅ์๋ฅผ ๋ ๋ฆฝ์ ์ผ๋ก ํ์ฅํ ์ ์๊ฒ ๋ฉ๋๋ค.
Redshift Spectrum์ Apache Parquet, Avro, CSV, ORC, JSON ๋ฑ๊ณผ ๊ฐ์ ๋ค์ํ ๊ตฌ์กฐํ๋ ๋ฐ ๋น๊ตฌ์กฐํ๋ ํ์ผ ํ์์ ์ง์ํฉ๋๋ค. Amazon Athena, Amazon EMR, Amazon SageMaker์ ๊ฐ์ ๋ค๋ฅธ ์๋น์ค๋ค์ด S3 ๋ฐ์ดํฐ ๋ ์ดํฌ์์ ์ง์ ์ก์ธ์คํ ์ ์์ต๋๋ค.
Concurrency Scaling

๋์์ฑ ์ค์ผ์ผ๋ง์ ์ฌ์ฉํ๋ฉด, Amazon Redshift๋ ์๋์ ๋ฐ ํ๋ ฅ์ ์ผ๋ก ์ฟผ๋ฆฌ ์ฒ๋ฆฌ๋ ฅ์ ํ์ฅํ์ฌ ์๋ฐฑ ๊ฐ์ ๋์ ์ฟผ๋ฆฌ์ ๋ํด ์ผ๊ด๋๊ฒ ๋น ๋ฅธ ์ฑ๋ฅ์ ์ ๊ณตํฉ๋๋ค. ๋์์ฑ์ด ์ฆ๊ฐํจ์ ๋ฐ๋ผ, ๋๊ธฐ ์๊ฐ ์์ด ๋น ๋ฅด๊ฒ ์ฒ๋ฆฌํ ์ ์๋๋ก ์ค์ผ์ผ๋ง ๋ฆฌ์์ค๊ฐ Amazon Redshift ํด๋ฌ์คํฐ์ ์ถ๊ฐ๋ฉ๋๋ค. ์์ ๋ถํ ์์๊ฐ ์ค์ด๋ค๋ฉด, Amazon Redshift๋ ๋น์ฉ์ ์ ์ฝํ๊ธฐ ์ํด ์๋์ผ๋ก ๋์์ฑ ์ค์ผ์ผ๋ง ๋ฆฌ์์ค๋ฅผ ์ข ๋ฃํฉ๋๋ค.
Data Lake Export
Amazon Redshift๋ ์ด์ ๋ถ์์ ์ํ ํจ์จ์ ์ธ ์ด ๊ธฐ๋ฐ ์ ์ฅ ํ์์ธ Apache Parquet ํ์์ผ๋ก S3์ ๋ฐ์ดํฐ ๋ ์ดํฌ์ ์ฟผ๋ฆฌ ๊ฒฐ๊ณผ๋ฅผ ์ธ๋ก๋ํ๋ ๊ฒ์ ์ง์ํฉ๋๋ค. Parquet ํ์์ ํ ์คํธ ํ์์ ๋นํด ์ธ๋ก๋ํ๋ ๋ฐ ์ต๋ ๋ ๋ฐฐ ๋ ๋น ๋ฅด๋ฉฐ, S3์์ ์ต๋ ์ฌ์ฏ ๋ฐฐ ๋ ์ ์ ์ ์ฅ ๊ณต๊ฐ์ ์๋นํฉ๋๋ค. ๋ํ ํ๋ ์ด์์ ํํฐ์ ์ด์ ์ง์ ํ์ฌ ์ธ๋ก๋๋ ๋ฐ์ดํฐ๊ฐ S3 ๋ฒํท์ ํด๋์ ์๋์ผ๋ก ํํฐ์ ๋๋๋ก ํ ์ ์์ต๋๋ค. ์ด๋ก ์ธํด ์ฟผ๋ฆฌ ์ฑ๋ฅ์ด ํฅ์๋๊ณ ์ธ๋ก๋๋ ๋ฐ์ดํฐ์ ๋ค์ด์คํธ๋ฆผ ์๋น ๋น์ฉ์ด ๊ฐ์ํฉ๋๋ค.
Use Cases: ELT using Amazon Redshift

Use Cases: ETL using Amazon Redshift

Analyze requirements to decide ELT versus ETL
Amazon Redshift์ MPP ์ํคํ ์ฒ์ Spectrum ๊ธฐ๋ฅ์ ๋๊ท๋ชจ ๊ด๊ณํ ๋ฐ SQL ๊ธฐ๋ฐ ELT ์ํฌ๋ก๋(์กฐ์ธ, ์ง๊ณ)์ ๋ํด ํจ์จ์ ์ด๋ฉฐ ์ ์ค๊ณ๋์ด ์์ต๋๋ค. Amazon Redshift๋ฅผ ์ด์ฉํ์ฌ ํจ์จ์ ์ธ ELT ์๋ฃจ์ ์ ์ค๊ณํ๋ ค๋ฉด ๋ค์์ ์ ์คํ๊ฒ ๊ณ ๋ คํด์ผ ํฉ๋๋ค.
Type of data from source systems (structured, semi-structured, and unstructured)
Nature of the transformations required (usually encompassing cleansing, enrichment, harmonization, transformations, and aggregations)
Row-by-row, cursor-based processing needs versus batch SQL
Performance SLA and scalability requirements considering the data volume growth over time
Cost of the solution
Reference (Original Content)
Last updated