์ปฌ๋ผ ๊ธฐ๋ฐ ์คํ ๋ฆฌ์ง๋ฅผ ์ํ Parquet ์ต์ ํ ๊ธฐ์ ์ ๋ํ ์ฌ์ธต ๋ถ์์ผ๋ก, ๊ธ๋ก๋ฒ ๋น ๋ฐ์ดํฐ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ํ ์คํค๋ง ์ค๊ณ, ์ธ์ฝ๋ฉ, ํํฐ์ ๋, ์ฟผ๋ฆฌ ์ฑ๋ฅ ํฅ์์ ๋ค๋ฃน๋๋ค.
์ปฌ๋ผ ๊ธฐ๋ฐ ์คํ ๋ฆฌ์ง: ๋น ๋ฐ์ดํฐ๋ฅผ ์ํ Parquet ์ต์ ํ ๋ง์คํฐํ๊ธฐ
๋น ๋ฐ์ดํฐ ์๋์๋ ํจ์จ์ ์ธ ์ ์ฅ ๋ฐ ๊ฒ์์ด ๊ฐ์ฅ ์ค์ํฉ๋๋ค. Apache Parquet์ ๊ฐ์ ์ปฌ๋ผ ๊ธฐ๋ฐ ์คํ ๋ฆฌ์ง ํ์์ ํ๋ ๋ฐ์ดํฐ ์จ์ดํ์ฐ์ง ๋ฐ ๋ถ์์ ์ด์์ผ๋ก ๋ถ์ํ์ต๋๋ค. Parquet์ ์ปฌ๋ผ ๊ตฌ์กฐ๋ ํนํ ๋๊ท๋ชจ ๋ฐ์ดํฐ ์ธํธ๋ฅผ ์ฒ๋ฆฌํ ๋ ๋ฐ์ดํฐ ์์ถ ๋ฐ ์ฟผ๋ฆฌ ์ฑ๋ฅ์์ ์๋นํ ์ต์ ํ๋ฅผ ๊ฐ๋ฅํ๊ฒ ํฉ๋๋ค. ์ด ๊ฐ์ด๋๋ ๋ฐ์ดํฐ ์์ง๋์ด, ๋ถ์๊ฐ ๋ฐ ์ํคํ ํธ์ ๊ธ๋ก๋ฒ ์ฒญ์ค์ ๋์์ผ๋ก Parquet ์ต์ ํ ๊ธฐ์ ์ ๋ํ ํฌ๊ด์ ์ธ ํ๊ตฌ๋ฅผ ์ ๊ณตํฉ๋๋ค.
์ปฌ๋ผ ๊ธฐ๋ฐ ์คํ ๋ฆฌ์ง ๋ฐ Parquet ์ดํด
์ปฌ๋ผ ๊ธฐ๋ฐ ์คํ ๋ฆฌ์ง๋ ๋ฌด์์ ๋๊น?
๊ธฐ์กด์ ํ ๊ธฐ๋ฐ ์คํ ๋ฆฌ์ง ์์คํ ์ ๋ฐ์ดํฐ ๋ ์ฝ๋๋ฅผ ํ ๋จ์๋ก ์์ฐจ์ ์ผ๋ก ์ ์ฅํฉ๋๋ค. ์ด๋ ์ ์ฒด ๋ ์ฝ๋๋ฅผ ๊ฒ์ํ๋ ๋ฐ๋ ํจ์จ์ ์ด์ง๋ง ๋ถ์์ ํ์ํ ์ด์ ํ์ ์งํฉ๋ง ํ์ํ ๊ฒฝ์ฐ์๋ ๋นํจ์จ์ ์ ๋๋ค. ๋ฐ๋ฉด ์ปฌ๋ผ ๊ธฐ๋ฐ ์คํ ๋ฆฌ์ง๋ ๋ฐ์ดํฐ๋ฅผ ์ด ๋จ์๋ก ์ ์ฅํฉ๋๋ค. ์ฆ, ํน์ ์ด์ ๋ชจ๋ ๊ฐ์ด ์ฐ์์ ์ผ๋ก ์ ์ฅ๋ฉ๋๋ค. ์ด ๋ ์ด์์์ ๋ค์๊ณผ ๊ฐ์ ์ฌ๋ฌ ๊ฐ์ง ์ด์ ์ ์ ๊ณตํฉ๋๋ค.
- ํฅ์๋ ์์ถ: ์ด ๋ด์ ์ ์ฌํ ๋ฐ์ดํฐ ์ ํ์ ๋ฐ๋ ์ค ์ธ์ฝ๋ฉ(RLE) ๋๋ ๋์ ๋๋ฆฌ ์ธ์ฝ๋ฉ๊ณผ ๊ฐ์ ๊ธฐ์ ์ ์ฌ์ฉํ์ฌ ๋ณด๋ค ํจ๊ณผ์ ์ผ๋ก ์์ถํ ์ ์์ต๋๋ค.
- I/O ๊ฐ์: ๋ช ๊ฐ์ ์ด๋ง ์ฟผ๋ฆฌํ ๋ ์์คํ ์ ๊ด๋ จ ์ด ๋ฐ์ดํฐ๋ง ์ฝ์ผ๋ฉด ๋๋ฏ๋ก I/O ์์ ์ด ํฌ๊ฒ ์ค์ด๋ค๊ณ ์ฟผ๋ฆฌ ์ฑ๋ฅ์ด ํฅ์๋ฉ๋๋ค.
- ํฅ์๋ ๋ถ์ ์ฑ๋ฅ: ์ปฌ๋ผ ๊ธฐ๋ฐ ์คํ ๋ฆฌ์ง๋ ํน์ ์ด์์ ๋ฐ์ดํฐ๋ฅผ ์ง๊ณํ๊ณ ํํฐ๋งํ๋ ๋ถ์ ์ํฌ๋ก๋์ ์ ํฉํฉ๋๋ค.
Apache Parquet ์๊ฐ
Apache Parquet์ ํจ์จ์ ์ธ ๋ฐ์ดํฐ ์ ์ฅ ๋ฐ ๊ฒ์์ ์ํด ์ค๊ณ๋ ์คํ ์์ค ์ปฌ๋ผ ๊ธฐ๋ฐ ์คํ ๋ฆฌ์ง ํ์์ ๋๋ค. ํนํ Apache Spark, Apache Hadoop ๋ฐ Apache Arrow์ ๊ฐ์ ๋น ๋ฐ์ดํฐ ์ฒ๋ฆฌ ํ๋ ์์ํฌ์ ํจ๊ป ์ฌ์ฉํ๊ธฐ์ ์ ํฉํฉ๋๋ค. Parquet์ ์ฃผ์ ๊ธฐ๋ฅ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
- ์ปฌ๋ผ ๊ธฐ๋ฐ ์คํ ๋ฆฌ์ง: ๋ ผ์๋ ๋ฐ์ ๊ฐ์ด Parquet์ ๋ฐ์ดํฐ๋ฅผ ์ด ๋จ์๋ก ์ ์ฅํฉ๋๋ค.
- ์คํค๋ง ์งํ: Parquet์ ์ ์ฒด ๋ฐ์ดํฐ ์ธํธ๋ฅผ ๋ค์ ์์ฑํ์ง ์๊ณ ๋ ์ด์ ์ถ๊ฐํ๊ฑฐ๋ ์ ๊ฑฐํ ์ ์๋ ์คํค๋ง ์งํ๋ฅผ ์ง์ํฉ๋๋ค.
- ์์ถ: Parquet์ Snappy, Gzip, LZO ๋ฐ Brotli๋ฅผ ํฌํจํ ๋ค์ํ ์์ถ ์ฝ๋ฑ์ ์ง์ํ์ฌ ์คํ ๋ฆฌ์ง ๊ณต๊ฐ์ ํฌ๊ฒ ์ค์ผ ์ ์์ต๋๋ค.
- ์ธ์ฝ๋ฉ: Parquet์ ๋์ ๋๋ฆฌ ์ธ์ฝ๋ฉ, ์ผ๋ฐ ์ธ์ฝ๋ฉ ๋ฐ ๋ธํ ์ธ์ฝ๋ฉ๊ณผ ๊ฐ์ ๋ค์ํ ์ธ์ฝ๋ฉ ์ฒด๊ณ๋ฅผ ์ฌ์ฉํ์ฌ ๋ฐ์ดํฐ ํน์ฑ์ ๋ฐ๋ผ ์คํ ๋ฆฌ์ง๋ฅผ ์ต์ ํํฉ๋๋ค.
- ํ๋ ๋์ผ์ดํธ ํธ์๋ค์ด: Parquet์ ํ๋ ๋์ผ์ดํธ ํธ์๋ค์ด์ ์ง์ํ์ฌ ํํฐ๋ง์ด ์คํ ๋ฆฌ์ง ๊ณ์ธต์์ ๋ฐ์ํ๋๋ก ํ์ฌ I/O๋ฅผ ๋์ฑ ์ค์ด๊ณ ์ฟผ๋ฆฌ ์ฑ๋ฅ์ ํฅ์์ํต๋๋ค.
Parquet์ ์ฃผ์ ์ต์ ํ ๊ธฐ์
1. ์คํค๋ง ์ค๊ณ ๋ฐ ๋ฐ์ดํฐ ์ ํ
Parquet ์ต์ ํ๋ฅผ ์ํด์๋ ์ ์คํ ์คํค๋ง ์ค๊ณ๊ฐ ์ค์ํฉ๋๋ค. ๊ฐ ์ด์ ์ ์ ํ ๋ฐ์ดํฐ ์ ํ์ ์ ํํ๋ฉด ์คํ ๋ฆฌ์ง ํจ์จ์ฑ๊ณผ ์ฟผ๋ฆฌ ์ฑ๋ฅ์ ํฐ ์ํฅ์ ๋ฏธ์น ์ ์์ต๋๋ค.
- ์ฌ๋ฐ๋ฅธ ๋ฐ์ดํฐ ์ ํ ์ ํ: ๋ฐ์ดํฐ๋ฅผ ์ ํํ๊ฒ ๋ํ๋ผ ์ ์๋ ๊ฐ์ฅ ์์ ๋ฐ์ดํฐ ์ ํ์ ์ฌ์ฉํ์ญ์์ค. ์๋ฅผ ๋ค์ด ์ด์ด ๋์ด๋ฅผ ๋ํ๋ด๋ ๊ฒฝ์ฐ ์ต๋ ์ฐ๋ น์ด ๋ ์์ ๋ฒ์ ๋ด์ ์์ผ๋ฉด `INT32` ๋์ `INT8` ๋๋ `INT16`์ ์ฌ์ฉํ์ญ์์ค. ๋ง์ฐฌ๊ฐ์ง๋ก ํตํ ๊ฐ์ ๊ฒฝ์ฐ ๋ถ๋ ์์์ ๋ถ์ ํ์ฑ์ ํผํ๊ธฐ ์ํด ์ ์ ํ ์ ๋ฐ๋์ ์ค์ผ์ผ๋ก `DECIMAL`์ ์ฌ์ฉํ๋ ๊ฒ์ด ์ข์ต๋๋ค.
- ์ค์ฒฉ๋ ๋ฐ์ดํฐ ๊ตฌ์กฐ: Parquet์ ์ค์ฒฉ๋ ๋ฐ์ดํฐ ๊ตฌ์กฐ(์: ๋ชฉ๋ก ๋ฐ ๋งต)๋ฅผ ์ง์ํฉ๋๋ค. ์ ์คํ๊ฒ ์ฌ์ฉํ์ญ์์ค. ๋ณต์กํ ๋ฐ์ดํฐ๋ฅผ ๋ํ๋ด๋ ๋ฐ ์ ์ฉํ ์ ์์ง๋ง ๊ณผ๋ํ ์ค์ฒฉ์ ์ฟผ๋ฆฌ ์ฑ๋ฅ์ ์ํฅ์ ๋ฏธ์น ์ ์์ต๋๋ค. ์ค์ฒฉ๋ ๊ตฌ์กฐ๊ฐ ๋๋ฌด ๋ณต์กํด์ง๋ฉด ๋ฐ์ดํฐ๋ฅผ ๋น์ ๊ทํํ๋ ๊ฒ์ด ์ข์ต๋๋ค.
- ํฐ ํ ์คํธ ํ๋ ๋ฐฉ์ง: ํฐ ํ ์คํธ ํ๋๋ ์คํ ๋ฆฌ์ง ๊ณต๊ฐ๊ณผ ์ฟผ๋ฆฌ ์๊ฐ์ ํฌ๊ฒ ๋๋ฆด ์ ์์ต๋๋ค. ๊ฐ๋ฅํ๋ฉด ํฐ ํ ์คํธ ๋ฐ์ดํฐ๋ฅผ ๋ณ๋์ ์คํ ๋ฆฌ์ง ์์คํ ์ ์ ์ฅํ๊ณ ๊ณ ์ ์๋ณ์๋ฅผ ์ฌ์ฉํ์ฌ Parquet ๋ฐ์ดํฐ์ ์ฐ๊ฒฐํ๋ ๊ฒ์ด ์ข์ต๋๋ค. ํ ์คํธ๋ฅผ ์ ์ฅํด์ผ ํ๋ ๊ฒฝ์ฐ์๋ ์ ์ ํ๊ฒ ์์ถํ์ญ์์ค.
์: ์์น ๋ฐ์ดํฐ ์ ์ฅ์ ๊ณ ๋ คํด ๋ณด์ธ์. ์๋์ ๊ฒฝ๋๋ฅผ ๋ณ๋์ `DOUBLE` ์ด๋ก ์ ์ฅํ๋ ๋์ ์ง๋ฆฌ ๊ณต๊ฐ ๋ฐ์ดํฐ ์ ํ(์ฒ๋ฆฌ ์์ง์์ ์ง์ํ๋ ๊ฒฝ์ฐ)์ ์ฌ์ฉํ๊ฑฐ๋ ์ ์ ์๋ ํ์(์: "์๋,๊ฒฝ๋")์ผ๋ก ๋จ์ผ `STRING`์ผ๋ก ์ ์ฅํ๋ ๊ฒ์ ๊ณ ๋ คํ ์ ์์ต๋๋ค. ์ด๋ ๊ฒ ํ๋ฉด ์คํ ๋ฆฌ์ง ํจ์จ์ฑ์ด ํฅ์๋๊ณ ๊ณต๊ฐ ์ฟผ๋ฆฌ๊ฐ ๋จ์ํ๋ ์ ์์ต๋๋ค.
2. ์ฌ๋ฐ๋ฅธ ์ธ์ฝ๋ฉ ์ ํ
Parquet์ ๋ค์ํ ์ธ์ฝ๋ฉ ์ฒด๊ณ๋ฅผ ์ ๊ณตํ๋ฉฐ ๊ฐ ์ฒด๊ณ๋ ๋ค์ํ ์ ํ์ ๋ฐ์ดํฐ์ ์ ํฉํฉ๋๋ค. ์ ์ ํ ์ธ์ฝ๋ฉ์ ์ ํํ๋ฉด ์์ถ ๋ฐ ์ฟผ๋ฆฌ ์ฑ๋ฅ์ ํฐ ์ํฅ์ ๋ฏธ์น ์ ์์ต๋๋ค.
- ์ผ๋ฐ ์ธ์ฝ๋ฉ: ์ด๊ฒ์ ๊ธฐ๋ณธ ์ธ์ฝ๋ฉ์ด๋ฉฐ ๋จ์ํ ๋ฐ์ดํฐ ๊ฐ์ ์๋ ๊ทธ๋๋ก ์ ์ฅํฉ๋๋ค. ์ฝ๊ฒ ์์ถํ ์ ์๋ ๋ฐ์ดํฐ์ ์ ํฉํฉ๋๋ค.
- ๋์ ๋๋ฆฌ ์ธ์ฝ๋ฉ: ์ด ์ธ์ฝ๋ฉ์ ์ด์ ๋ํ ๊ณ ์ ๊ฐ์ ๋์ ๋๋ฆฌ๋ฅผ ๋ง๋ค๊ณ ์ค์ ๊ฐ ๋์ ๋์ ๋๋ฆฌ ์ธ๋ฑ์ค๋ฅผ ์ ์ฅํฉ๋๋ค. ๊ณ ์ ๊ฐ์ ์๊ฐ ์ ์ ์ด(์: ๊ตญ๊ฐ ์ฝ๋, ์ ํ ๋ฒ์ฃผ ๋๋ ์ํ ์ฝ๋์ ๊ฐ์ ๋ฒ์ฃผํ ๋ฐ์ดํฐ)์ ๋งค์ฐ ํจ๊ณผ์ ์ ๋๋ค.
- ๋ฐ๋ ์ค ์ธ์ฝ๋ฉ(RLE): RLE๋ ๋ฐ๋ณต๋๋ ๊ฐ์ ๊ธด ์ํ์ค๊ฐ ์๋ ์ด์ ์ ํฉํฉ๋๋ค. ๊ฐ๊ณผ ๋ฐ๋ณต ํ์๋ฅผ ์ ์ฅํฉ๋๋ค.
- ๋ธํ ์ธ์ฝ๋ฉ: ๋ธํ ์ธ์ฝ๋ฉ์ ์ฐ์ ๊ฐ ๊ฐ์ ์ฐจ์ด๋ฅผ ์ ์ฅํฉ๋๋ค. ๊ฐ๋ค์ด ์๋ก ๊ฐ๊น์ด ๊ฒฝํฅ์ด ์๋ ์๊ณ์ด ๋ฐ์ดํฐ ๋๋ ๊ธฐํ ๋ฐ์ดํฐ์ ํจ๊ณผ์ ์ ๋๋ค.
- ๋นํธ ํจํน ์ธ์ฝ๋ฉ: ์ด ์ธ์ฝ๋ฉ์ ์ฌ๋ฌ ๊ฐ์ ๋จ์ผ ๋ฐ์ดํธ๋ก ํจ์จ์ ์ผ๋ก ์์ถํ์ฌ ํนํ ์์ ์ ์ ๊ฐ์ ๊ฒฝ์ฐ ์คํ ๋ฆฌ์ง ๊ณต๊ฐ์ ์ค์ ๋๋ค.
์: ์ ์ ์๊ฑฐ๋ ํธ๋์ญ์ ์ "์ฃผ๋ฌธ ์ํ"(์: "๋ณด๋ฅ ์ค", "๋ฐฐ์ก๋จ", "๋ฐฐ๋ฌ๋จ", "์ทจ์๋จ")๋ฅผ ๋ํ๋ด๋ ์ด์ ๊ณ ๋ คํด ๋ณด์ธ์. ๋์ ๋๋ฆฌ ์ธ์ฝ๋ฉ์ ์ด์ ์ ํ๋ ์์ ๊ณ ์ ๊ฐ์ด ์์ผ๋ฏ๋ก ์ด ์๋๋ฆฌ์ค์์ ๋งค์ฐ ํจ๊ณผ์ ์ ๋๋ค. ๋ฐ๋ฉด์ ๊ณ ์ ํ ์ฌ์ฉ์ ID๊ฐ ํฌํจ๋ ์ด์ ๋์ ๋๋ฆฌ ์ธ์ฝ๋ฉ์ ์ด์ ์ ์ป์ง ๋ชปํฉ๋๋ค.
3. ์์ถ ์ฝ๋ฑ
Parquet์ ์คํ ๋ฆฌ์ง ๊ณต๊ฐ์ ์ค์ด๊ธฐ ์ํด ๋ค์ํ ์์ถ ์ฝ๋ฑ์ ์ง์ํฉ๋๋ค. ์ฝ๋ฑ ์ ํ์ ์์ถ ๋ฐ ์์ถ ํด์ ์ค์ ์คํ ๋ฆฌ์ง ํฌ๊ธฐ์ CPU ์ฌ์ฉ๋ฅ ๋ชจ๋์ ํฐ ์ํฅ์ ๋ฏธ์น ์ ์์ต๋๋ค.
- Snappy: Snappy๋ ์์ถ๋ฅ ๊ณผ ์๋ ๊ฐ์ ๊ท ํ์ด ์ ๋ง๋ ๋น ๋ฅธ ์์ถ ์ฝ๋ฑ์ ๋๋ค. ์ข ์ข ์ข์ ๊ธฐ๋ณธ ์ ํ์ ๋๋ค.
- Gzip: Gzip์ Snappy๋ณด๋ค ๋์ ์์ถ๋ฅ ์ ์ ๊ณตํ์ง๋ง ๋ ๋๋ฆฝ๋๋ค. ์์ฃผ ์ก์ธ์คํ์ง ์๋ ๋ฐ์ดํฐ ๋๋ ์คํ ๋ฆฌ์ง ๊ณต๊ฐ์ด ์ฃผ์ ๊ด์ฌ์ฌ์ธ ๊ฒฝ์ฐ์ ์ ํฉํฉ๋๋ค.
- LZO: LZO๋ Hadoop ํ๊ฒฝ์์ ์์ฃผ ์ฌ์ฉ๋๋ ๋ ๋ค๋ฅธ ๋น ๋ฅธ ์์ถ ์ฝ๋ฑ์ ๋๋ค.
- Brotli: Brotli๋ Gzip๋ณด๋ค ํจ์ฌ ๋ ๋์ ์์ถ๋ฅ ์ ์ ๊ณตํ์ง๋ง ์ผ๋ฐ์ ์ผ๋ก ๋ ๋๋ฆฝ๋๋ค. ์คํ ๋ฆฌ์ง ๊ณต๊ฐ์ด ๋ถ์กฑํ๊ณ CPU ์ฌ์ฉ๋ฅ ์ด ๋ ์ค์ํ ๊ฒฝ์ฐ์ ์ข์ ์ต์ ์ด ๋ ์ ์์ต๋๋ค.
- Zstandard (Zstd): Zstd๋ ๋ค์ํ ์์ถ ์์ค์ ์ ๊ณตํ๋ฏ๋ก ์๋์ ๋ํ ์์ถ๋ฅ ์ ์ ์ถฉํ ์ ์์ต๋๋ค. ์ข ์ข ์ ์ฌํ ์์ถ ์์ค์์ Gzip๋ณด๋ค ๋ ๋์ ์ฑ๋ฅ์ ์ ๊ณตํฉ๋๋ค.
- ์์ถ ํด์ : ๋๋ฒ๊น ๋๋ ํน์ ์ฑ๋ฅ์ ์ค์ํ ์๋๋ฆฌ์ค์ ๊ฒฝ์ฐ ๋ฐ์ดํฐ๋ฅผ ์์ถ ํด์ ๋ ์ํ๋ก ์ ์ฅํ๋๋ก ์ ํํ ์ ์์ง๋ง ์ผ๋ฐ์ ์ผ๋ก ๋๊ท๋ชจ ๋ฐ์ดํฐ ์ธํธ์๋ ๊ถ์ฅ๋์ง ์์ต๋๋ค.
์: ์ค์๊ฐ ๋ถ์์ ์ฌ์ฉ๋๋ ์์ฃผ ์ก์ธ์คํ๋ ๋ฐ์ดํฐ์ ๊ฒฝ์ฐ Snappy ๋๋ Zstd๋ฅผ ๋ฎ์ ์์ถ ์์ค์ผ๋ก ์ฌ์ฉํ๋ ๊ฒ์ด ์ข์ต๋๋ค. ์์ฃผ ์ก์ธ์คํ์ง ์๋ ๋ณด๊ด ๋ฐ์ดํฐ์ ๊ฒฝ์ฐ Gzip ๋๋ Brotli๊ฐ ๋ ์ ํฉํฉ๋๋ค.
4. ํํฐ์ ๋
ํํฐ์ ๋์ ํ๋ ์ด์์ ์ด์ ๊ฐ์ ๊ธฐ๋ฐ์ผ๋ก ๋ฐ์ดํฐ ์ธํธ๋ฅผ ๋ ์๊ณ ๊ด๋ฆฌํ๊ธฐ ์ฌ์ด ๋ถ๋ถ์ผ๋ก ๋๋๋ ๊ฒ์ ํฌํจํฉ๋๋ค. ์ด๋ฅผ ํตํด ์ฟผ๋ฆฌ๋ฅผ ๊ด๋ จ ํํฐ์ ์ผ๋ก๋ง ์ ํํ์ฌ I/O๋ฅผ ํฌ๊ฒ ์ค์ด๊ณ ์ฟผ๋ฆฌ ์ฑ๋ฅ์ ํฅ์์ํฌ ์ ์์ต๋๋ค.
- ํํฐ์ ์ด ์ ํ: ์ฟผ๋ฆฌ ํํฐ์์ ์์ฃผ ์ฌ์ฉ๋๋ ํํฐ์ ์ด์ ์ ํํ์ญ์์ค. ์ผ๋ฐ์ ์ธ ํํฐ์ ๋ ์ด์๋ ๋ ์ง, ๊ตญ๊ฐ, ์ง์ญ ๋ฐ ๋ฒ์ฃผ๊ฐ ํฌํจ๋ฉ๋๋ค.
- ํํฐ์ ๋ ์ธ๋ถ์ฑ: ํํฐ์ ์ ์ธ๋ถ์ฑ์ ๊ณ ๋ คํ์ญ์์ค. ํํฐ์ ์ด ๋๋ฌด ๋ง์ผ๋ฉด ํ์ผ์ด ์์์ ธ ์ฑ๋ฅ์ ๋ถ์ ์ ์ธ ์ํฅ์ ๋ฏธ์น ์ ์์ต๋๋ค. ํํฐ์ ์ด ๋๋ฌด ์ ์ผ๋ฉด ์ฒ๋ฆฌํ๊ธฐ ์ด๋ ค์ด ํฐ ํํฐ์ ์ด ๋ฐ์ํ ์ ์์ต๋๋ค.
- ๊ณ์ธต์ ํํฐ์ ๋: ์๊ณ์ด ๋ฐ์ดํฐ์ ๊ฒฝ์ฐ ๊ณ์ธต์ ํํฐ์ ๋(์: ์ฐ๋/์/์ผ)์ ์ฌ์ฉํ๋ ๊ฒ์ด ์ข์ต๋๋ค. ์ด๋ฅผ ํตํด ํน์ ์๊ฐ ๋ฒ์์ ๋ํ ๋ฐ์ดํฐ๋ฅผ ํจ์จ์ ์ผ๋ก ์ฟผ๋ฆฌํ ์ ์์ต๋๋ค.
- ๋์ ์นด๋๋๋ฆฌํฐ ํํฐ์ ๋ ๋ฐฉ์ง: ๊ณ ์ ๊ฐ์ ์๊ฐ ๋ง์ ์ด(๋์ ์นด๋๋๋ฆฌํฐ)์ ํํฐ์ ๋ํ๋ ๊ฒ์ ๋ฐฉ์งํ์ญ์์ค. ์ด๋ ๊ฒ ํ๋ฉด ์์ ํํฐ์ ์ด ๋ง์ด ์๊ธธ ์ ์์ต๋๋ค.
์: ํ๋งค ํธ๋์ญ์ ๋ฐ์ดํฐ ์ธํธ์ ๊ฒฝ์ฐ `์ฐ๋` ๋ฐ `์`๋ณ๋ก ํํฐ์ ๋ํ ์ ์์ต๋๋ค. ์ด๋ ๊ฒ ํ๋ฉด ํน์ ์ ๋๋ ์ฐ๋์ ํ๋งค ๋ฐ์ดํฐ๋ฅผ ํจ์จ์ ์ผ๋ก ์ฟผ๋ฆฌํ ์ ์์ต๋๋ค. ๊ตญ๊ฐ๋ณ๋ก ํ๋งค ๋ฐ์ดํฐ๋ฅผ ์์ฃผ ์ฟผ๋ฆฌํ๋ ๊ฒฝ์ฐ `๊ตญ๊ฐ`๋ฅผ ํํฐ์ ์ด๋ก ์ถ๊ฐํ ์๋ ์์ต๋๋ค.
5. ํ์ผ ํฌ๊ธฐ ๋ฐ ๋ธ๋ก ํฌ๊ธฐ
Parquet ํ์ผ์ ์ผ๋ฐ์ ์ผ๋ก ๋ธ๋ก์ผ๋ก ๋๋ฉ๋๋ค. ๋ธ๋ก ํฌ๊ธฐ๋ ์ฟผ๋ฆฌ ์ฒ๋ฆฌ ์ค ๋ณ๋ ฌ ์ฒ๋ฆฌ ์ ๋์ ์ํฅ์ ๋ฏธ์นฉ๋๋ค. ์ต์ ์ ํ์ผ ํฌ๊ธฐ ๋ฐ ๋ธ๋ก ํฌ๊ธฐ๋ ํน์ ์ฌ์ฉ ์ฌ๋ก์ ๊ธฐ๋ณธ ์ธํ๋ผ์ ๋ฐ๋ผ ๋ค๋ฆ ๋๋ค.
- ํ์ผ ํฌ๊ธฐ: ์ผ๋ฐ์ ์ผ๋ก ์ต์ ์ ์ฑ๋ฅ์ ์ํด์๋ ๋ ํฐ ํ์ผ ํฌ๊ธฐ(์: 128MB~1GB)๊ฐ ์ ํธ๋ฉ๋๋ค. ํ์ผ์ด ์์ผ๋ฉด ๋ฉํ๋ฐ์ดํฐ ๊ด๋ฆฌ๋ก ์ธํ ์ค๋ฒํค๋๊ฐ ์ฆ๊ฐํ๊ณ I/O ์์ ์ด ์ฆ๊ฐํ์ฌ ์ค๋ฒํค๋๊ฐ ์ฆ๊ฐํ ์ ์์ต๋๋ค.
- ๋ธ๋ก ํฌ๊ธฐ: ๋ธ๋ก ํฌ๊ธฐ๋ ์ผ๋ฐ์ ์ผ๋ก HDFS ๋ธ๋ก ํฌ๊ธฐ(์: 128MB ๋๋ 256MB)๋ก ์ค์ ๋ฉ๋๋ค.
- ์์ถ: ์ฑ๋ฅ์ ํฅ์์ํค๊ธฐ ์ํด ์์ Parquet ํ์ผ์ ๋ ํฐ ํ์ผ๋ก ์ ๊ธฐ์ ์ผ๋ก ์์ถํ์ญ์์ค.
6. ํ๋ ๋์ผ์ดํธ ํธ์๋ค์ด
ํ๋ ๋์ผ์ดํธ ํธ์๋ค์ด์ ๋ฐ์ดํฐ๋ฅผ ๋ฉ๋ชจ๋ฆฌ๋ก ์ฝ๊ธฐ ์ ์ ํํฐ๋ง์ด ์คํ ๋ฆฌ์ง ๊ณ์ธต์์ ๋ฐ์ํ๋๋ก ํ๋ ๊ฐ๋ ฅํ ์ต์ ํ ๊ธฐ์ ์ ๋๋ค. ์ด๋ ๊ฒ ํ๋ฉด I/O๊ฐ ํฌ๊ฒ ์ค์ด๋ค๊ณ ์ฟผ๋ฆฌ ์ฑ๋ฅ์ด ํฅ์๋ฉ๋๋ค.
- ํ๋ ๋์ผ์ดํธ ํธ์๋ค์ด ํ์ฑํ: ์ฟผ๋ฆฌ ์์ง(์: Apache Spark)์์ ํ๋ ๋์ผ์ดํธ ํธ์๋ค์ด์ด ํ์ฑํ๋์ด ์๋์ง ํ์ธํ์ญ์์ค.
- ํํฐ ํจ๊ณผ์ ์ผ๋ก ์ฌ์ฉ: ์ฟผ๋ฆฌ์์ ํํฐ๋ฅผ ์ฌ์ฉํ์ฌ ์ฝ์ด์ผ ํ๋ ๋ฐ์ดํฐ์ ์์ ์ ํํ์ญ์์ค.
- ํํฐ์ ์ ๊ฑฐ: ํ๋ ๋์ผ์ดํธ ํธ์๋ค์ด์ ํํฐ์ ์ ๊ฑฐ์๋ ์ฌ์ฉํ ์ ์์ผ๋ฉฐ, ์ด ๊ฒฝ์ฐ ์ฟผ๋ฆฌ ํํฐ๋ฅผ ์ถฉ์กฑํ์ง ์์ผ๋ฉด ์ ์ฒด ํํฐ์ ์ด ๊ฑด๋๋๋๋ค.
7. ๋ฐ์ดํฐ ๊ฑด๋๋ฐ๊ธฐ ๊ธฐ์
ํ๋ ๋์ผ์ดํธ ํธ์๋ค์ด ์ธ์๋ ๋ค๋ฅธ ๋ฐ์ดํฐ ๊ฑด๋๋ฐ๊ธฐ ๊ธฐ์ ์ ์ฌ์ฉํ์ฌ I/O๋ฅผ ๋์ฑ ์ค์ผ ์ ์์ต๋๋ค. ์ต์/์ต๋ ์ธ๋ฑ์ค, ๋ธ๋ฃธ ํํฐ ๋ฐ ์์ญ ๋งต์ ์ด ํต๊ณ ๋๋ ๋ฏธ๋ฆฌ ๊ณ์ฐ๋ ์ธ๋ฑ์ค๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ๊ด๋ จ ์๋ ๋ฐ์ดํฐ ์ฝ๊ธฐ๋ฅผ ๊ฑด๋๋ฐ๋ ๋ช ๊ฐ์ง ์ ๋ต์ ๋๋ค.
- ์ต์/์ต๋ ์ธ๋ฑ์ค: ๋ฐ์ดํฐ ๋ธ๋ก ๋ด์ ๊ฐ ์ด์ ๋ํ ์ต์๊ฐ๊ณผ ์ต๋๊ฐ์ ์ ์ฅํ๋ฉด ์ฟผ๋ฆฌ ์์ง์ด ์ฟผ๋ฆฌ ๋ฒ์ ๋ฐ์ ์๋ ๋ธ๋ก์ ๊ฑด๋๋ธ ์ ์์ต๋๋ค.
- ๋ธ๋ฃธ ํํฐ: ๋ธ๋ฃธ ํํฐ๋ ์์๊ฐ ์งํฉ์ ๊ตฌ์ฑ์์ธ์ง ํ ์คํธํ๋ ํ๋ฅ ์ ๋ฐฉ๋ฒ์ ์ ๊ณตํฉ๋๋ค. ์ผ์นํ๋ ๊ฐ์ ํฌํจํ ๊ฐ๋ฅ์ฑ์ด ๋ฎ์ ๋ธ๋ก์ ๊ฑด๋๋ฐ๋ ๋ฐ ์ฌ์ฉํ ์ ์์ต๋๋ค.
- ์์ญ ๋งต: ์ต์/์ต๋ ์ธ๋ฑ์ค์ ์ ์ฌํ๊ฒ ์์ญ ๋งต์ ๋ธ๋ก ๋ด์ ๋ฐ์ดํฐ์ ๋ํ ์ถ๊ฐ ํต๊ณ๋ฅผ ์ ์ฅํ์ฌ ๋ณด๋ค ์ ๊ตํ ๋ฐ์ดํฐ ๊ฑด๋๋ฐ๊ธฐ๋ฅผ ๊ฐ๋ฅํ๊ฒ ํฉ๋๋ค.
8. ์ฟผ๋ฆฌ ์์ง ์ต์ ํ
Parquet ์ฟผ๋ฆฌ ์ฑ๋ฅ์ ์ฌ์ฉ ์ค์ธ ์ฟผ๋ฆฌ ์์ง(์: Apache Spark, Apache Hive, Apache Impala)์ ๋ฐ๋ผ ๋ฌ๋ผ์ง๋๋ค. ํน์ ์ฟผ๋ฆฌ ์์ง์ ๋ํ ์ฟผ๋ฆฌ๋ฅผ ์ต์ ํํ๋ ๋ฐฉ๋ฒ์ ์ดํดํ๋ ๊ฒ์ด ์ค์ํฉ๋๋ค.
- ์ฟผ๋ฆฌ ๊ณํ ์ต์ ํ: ์ฟผ๋ฆฌ ๊ณํ์ ๋ถ์ํ์ฌ ์ ์ฌ์ ์ธ ๋ณ๋ชฉ ํ์์ ์๋ณํ๊ณ ์ฟผ๋ฆฌ ์คํ์ ์ต์ ํํ์ญ์์ค.
- ์กฐ์ธ ์ต์ ํ: ์กฐ์ธ๋๋ ๋ฐ์ดํฐ ์ธํธ์ ํฌ๊ธฐ๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ์ ์ ํ ์กฐ์ธ ์ ๋ต(์: ๋ธ๋ก๋์บ์คํธ ํด์ ์กฐ์ธ, ์ ํ ํด์ ์กฐ์ธ)์ ์ฌ์ฉํ์ญ์์ค.
- ์บ์ฑ: ์์ฃผ ์ก์ธ์คํ๋ ๋ฐ์ดํฐ๋ฅผ ๋ฉ๋ชจ๋ฆฌ์ ์บ์ฑํ์ฌ I/O๋ฅผ ์ค์ด์ญ์์ค.
- ๋ฆฌ์์ค ํ ๋น: ์ต์ ์ ์ฑ๋ฅ์ ๋ณด์ฅํ๊ธฐ ์ํด ์ฟผ๋ฆฌ ์์ง์ ๋ฆฌ์์ค(์: ๋ฉ๋ชจ๋ฆฌ, CPU)๋ฅผ ์ ์ ํ๊ฒ ํ ๋นํ์ญ์์ค.
9. ๋ฐ์ดํฐ ๋ก์ปฌ๋ฆฌํฐ
๋ฐ์ดํฐ ๋ก์ปฌ๋ฆฌํฐ๋ ๋ฐ์ดํฐ์ ์ฒ๋ฆฌ ๋ ธ๋์ ๊ทผ์ ์ฑ์ ๋ํ๋ ๋๋ค. ๋ฐ์ดํฐ๊ฐ ์ด๋ฅผ ์ฒ๋ฆฌํ๋ ๋์ผํ ๋ ธ๋์ ๋ก์ปฌ๋ก ์ ์ฅ๋๋ฉด I/O๊ฐ ์ต์ํ๋๊ณ ์ฑ๋ฅ์ด ํฅ์๋ฉ๋๋ค.
- ๋ฐ์ดํฐ ๋ฐ ์ฒ๋ฆฌ ๊ณต๋ ๋ฐฐ์น: Parquet ๋ฐ์ดํฐ๊ฐ ์ฟผ๋ฆฌ ์์ง์ ์คํํ๋ ๋์ผํ ๋ ธ๋์ ์ ์ฅ๋์๋์ง ํ์ธํ์ญ์์ค.
- HDFS ์ธ์: HDFS ํ ํด๋ก์ง๋ฅผ ์ธ์ํ๊ณ ๋ก์ปฌ ๋ ธ๋์์ ๋ฐ์ดํฐ๋ฅผ ์ฝ๋ ๊ฒ์ ์ฐ์ ์ํ๋๋ก ์ฟผ๋ฆฌ ์์ง์ ๊ตฌ์ฑํ์ญ์์ค.
10. ์ ๊ธฐ์ ์ธ ์ ์ง ๊ด๋ฆฌ ๋ฐ ๋ชจ๋ํฐ๋ง
Parquet ์ต์ ํ๋ ์ง์์ ์ธ ํ๋ก์ธ์ค์ ๋๋ค. Parquet ๋ฐ์ดํฐ ์ธํธ์ ์ฑ๋ฅ์ ์ ๊ธฐ์ ์ผ๋ก ๋ชจ๋ํฐ๋งํ๊ณ ํ์์ ๋ฐ๋ผ ์กฐ์ ํ์ญ์์ค.
- ์ฟผ๋ฆฌ ์ฑ๋ฅ ๋ชจ๋ํฐ๋ง: ์ฟผ๋ฆฌ ์คํ ์๊ฐ์ ์ถ์ ํ๊ณ ๋๋ฆฌ๊ฒ ์คํ๋๋ ์ฟผ๋ฆฌ๋ฅผ ์๋ณํ์ญ์์ค.
- ์คํ ๋ฆฌ์ง ์ฌ์ฉ๋ ๋ชจ๋ํฐ๋ง: Parquet ๋ฐ์ดํฐ ์ธํธ์์ ์ฌ์ฉํ๋ ์คํ ๋ฆฌ์ง ๊ณต๊ฐ์ ๋ชจ๋ํฐ๋งํ๊ณ ์์ถ ๋ฐ ์ต์ ํ ๊ธฐํ๋ฅผ ์๋ณํ์ญ์์ค.
- ๋ฐ์ดํฐ ํ์ง: ๋ฐ์ดํฐ๊ฐ ๊นจ๋ํ๊ณ ์ผ๊ด์ฑ์ด ์๋์ง ํ์ธํ์ญ์์ค. ๋ฐ์ดํฐ ํ์ง ๋ฌธ์ ๋ ์ฟผ๋ฆฌ ์ฑ๋ฅ์ ๋ถ์ ์ ์ธ ์ํฅ์ ๋ฏธ์น ์ ์์ต๋๋ค.
- ์คํค๋ง ์งํ: ์คํค๋ง ์งํ๋ฅผ ์ ์คํ๊ฒ ๊ณํํ์ญ์์ค. ์ด์ ์ถ๊ฐํ๊ฑฐ๋ ์ ๊ฑฐํ๋ฉด ์ ๋๋ก ์ํํ์ง ์์ผ๋ฉด ์ฑ๋ฅ์ ์ํฅ์ ๋ฏธ์น ์ ์์ต๋๋ค.
๊ณ ๊ธ Parquet ์ต์ ํ ๊ธฐ์
Apache Arrow๋ฅผ ์ฌ์ฉํ ๋ฒกํฐํ๋ ์ฝ๊ธฐ
Apache Arrow๋ ์ธ ๋ฉ๋ชจ๋ฆฌ ๋ฐ์ดํฐ๋ฅผ ์ํ ๊ต์ฐจ ์ธ์ด ๊ฐ๋ฐ ํ๋ซํผ์ ๋๋ค. Parquet์ Apache Arrow์ ํตํฉํ๋ฉด ๋ฐ์ดํฐ๊ฐ ๋ ํฐ ๋ฐฐ์น๋ก ์ฒ๋ฆฌ๋์ด ์ฟผ๋ฆฌ ์ฑ๋ฅ์ด ํฌ๊ฒ ํฅ์๋๋ ๋ฒกํฐํ๋ ์ฝ๊ธฐ๊ฐ ๊ฐ๋ฅํฉ๋๋ค. ์ด๋ฅผ ํตํด ํ ๋จ์ ์ฒ๋ฆฌ ์ค๋ฒํค๋๋ฅผ ํผํ๊ณ ํจ์ฌ ๋ ๋น ๋ฅธ ๋ถ์ ์ํฌ๋ก๋๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค. ๊ตฌํ์๋ ์ข ์ข ๊ธฐ์กด์ ํ ๊ธฐ๋ฐ ๋ฐ๋ณต์ ์ฐํํ์ฌ Parquet ํ์ผ์์ ์ง์ Arrow์ ์ปฌ๋ผ ์ธ ๋ฉ๋ชจ๋ฆฌ ํ์์ ํ์ฉํ๋ ๊ฒ์ด ํฌํจ๋ฉ๋๋ค.
์ด ์ฌ์ ๋ ฌ
Parquet ํ์ผ ๋ด์ ์ด์ ๋ฌผ๋ฆฌ์ ์์๋ ์์ถ ๋ฐ ์ฟผ๋ฆฌ ์ฑ๋ฅ์ ์ํฅ์ ๋ฏธ์น ์ ์์ต๋๋ค. ์ ์ฌํ ํน์ฑ(์: ๋์ ์นด๋๋๋ฆฌํฐ ๋ ๋ฎ์ ์นด๋๋๋ฆฌํฐ)์ ๊ฐ์ง ์ด์ด ํจ๊ป ์ ์ฅ๋๋๋ก ์ด์ ์ฌ์ ๋ ฌํ๋ฉด ์์ถ๋ฅ ์ด ํฅ์๋๊ณ ํน์ ์ด ๊ทธ๋ฃน์ ์ก์ธ์คํ ๋ I/O๊ฐ ์ค์ด๋ค ์ ์์ต๋๋ค. ํน์ ๋ฐ์ดํฐ ์ธํธ ๋ฐ ์ํฌ๋ก๋์ ๋ํ ์ต์ ์ ์ด ์์๋ฅผ ๊ฒฐ์ ํ๋ ค๋ฉด ์คํ ๋ฐ ํ๋กํ์ผ๋ง์ด ์ค์ํฉ๋๋ค.
๋ฌธ์์ด ์ด์ ๋ํ ๋ธ๋ฃธ ํํฐ
๋ธ๋ฃธ ํํฐ๋ ์ผ๋ฐ์ ์ผ๋ก ์ซ์ ์ด์ ํจ๊ณผ์ ์ด์ง๋ง ํนํ ๋์ผ์ฑ ํ๋ ๋์ผ์ดํธ์์ ํํฐ๋งํ ๋ ๋ฌธ์์ด ์ด์๋ ์ ์ฉํ ์ ์์ต๋๋ค(์: `WHERE product_name = 'ํน์ ์ ํ'`). ์์ฃผ ํํฐ๋ง๋๋ ๋ฌธ์์ด ์ด์ ๋ํด ๋ธ๋ฃธ ํํฐ๋ฅผ ํ์ฑํํ๋ฉด ์ผ์นํ๋ ๊ฐ์ ํฌํจํ ๊ฐ๋ฅ์ฑ์ด ๋ฎ์ ๋ธ๋ก์ ๊ฑด๋๋ฐ์ด I/O๋ฅผ ํฌ๊ฒ ์ค์ผ ์ ์์ต๋๋ค. ํจ๊ณผ๋ ๋ฌธ์์ด ๊ฐ์ ์นด๋๋๋ฆฌํฐ์ ๋ถํฌ์ ๋ฐ๋ผ ๋ฌ๋ผ์ง๋๋ค.
์ฌ์ฉ์ ์ง์ ์ธ์ฝ๋ฉ
๊ณ ๋๋ก ์ ๋ฌธํ๋ ๋ฐ์ดํฐ ์ ํ ๋๋ ํจํด์ ๊ฒฝ์ฐ ๋ฐ์ดํฐ์ ํน์ ํน์ฑ์ ๋ง์ถ ์ฌ์ฉ์ ์ง์ ์ธ์ฝ๋ฉ ์ฒด๊ณ๋ฅผ ๊ตฌํํ๋ ๊ฒ์ ๊ณ ๋ คํ์ญ์์ค. ์ฌ๊ธฐ์๋ ์ฌ์ฉ์ ์ง์ ์ฝ๋ฑ์ ๊ฐ๋ฐํ๊ฑฐ๋ ์ ๋ฌธํ๋ ์ธ์ฝ๋ฉ ์๊ณ ๋ฆฌ์ฆ์ ์ ๊ณตํ๋ ๊ธฐ์กด ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ํ์ฉํ๋ ๊ฒ์ด ํฌํจ๋ ์ ์์ต๋๋ค. ์ฌ์ฉ์ ์ง์ ์ธ์ฝ๋ฉ์ ๊ฐ๋ฐ ๋ฐ ์ ์ง ๊ด๋ฆฌ์๋ ์๋นํ ์ ๋ฌธ ์ง์์ด ํ์ํ์ง๋ง ํน์ ์๋๋ฆฌ์ค์์ ์๋นํ ์ฑ๋ฅ ํฅ์์ ๊ฐ์ ธ์ฌ ์ ์์ต๋๋ค.
Parquet ๋ฉํ๋ฐ์ดํฐ ์บ์ฑ
Parquet ํ์ผ์๋ ๋ฐ์ดํฐ์ ์คํค๋ง, ์ธ์ฝ๋ฉ ๋ฐ ํต๊ณ๋ฅผ ์ค๋ช ํ๋ ๋ฉํ๋ฐ์ดํฐ๊ฐ ํฌํจ๋์ด ์์ต๋๋ค. ์ด ๋ฉํ๋ฐ์ดํฐ๋ฅผ ๋ฉ๋ชจ๋ฆฌ์ ์บ์ฑํ๋ฉด ํนํ ๋ง์ ์์ Parquet ํ์ผ์ ์ก์ธ์คํ๋ ์ฟผ๋ฆฌ์ ์ฟผ๋ฆฌ ๋๊ธฐ ์๊ฐ์ ํฌ๊ฒ ์ค์ผ ์ ์์ต๋๋ค. ์ฟผ๋ฆฌ ์์ง์ ์ข ์ข ๋ฉํ๋ฐ์ดํฐ ์บ์ฑ์ ์ํ ๋ฉ์ปค๋์ฆ์ ์ ๊ณตํ๋ฉฐ ์ฑ๋ฅ์ ์ต๋ํํ๋ ค๋ฉด ์ด๋ฌํ ์ค์ ์ ์ ์ ํ๊ฒ ๊ตฌ์ฑํ๋ ๊ฒ์ด ์ค์ํฉ๋๋ค.
Parquet ์ต์ ํ๋ฅผ ์ํ ๊ธ๋ก๋ฒ ๊ณ ๋ ค ์ฌํญ
๊ธ๋ก๋ฒ ํ๊ฒฝ์์ Parquet์ ์ฌ์ฉํ ๋๋ ๋ค์ ์ฌํญ์ ๊ณ ๋ คํ๋ ๊ฒ์ด ์ค์ํฉ๋๋ค.
- ์๊ฐ๋: ํ์์คํฌํ๋ฅผ ์ ์ฅํ ๋๋ ๋ชจํธ์ฑ์ ํผํ๊ณ ๋ค์ํ ์๊ฐ๋์์ ์ผ๊ด์ฑ์ ๋ณด์ฅํ๊ธฐ ์ํด UTC(ํ์ ์ธ๊ณ์)๋ฅผ ์ฌ์ฉํ์ญ์์ค.
- ๋ฌธ์ ์ธ์ฝ๋ฉ: ๋ค์ํ ์ธ์ด์ ๊ด๋ฒ์ํ ๋ฌธ์๋ฅผ ์ง์ํ๊ธฐ ์ํด ๋ชจ๋ ํ ์คํธ ๋ฐ์ดํฐ์ UTF-8 ์ธ์ฝ๋ฉ์ ์ฌ์ฉํ์ญ์์ค.
- ํตํ: ํตํ ๊ฐ์ ์ ์ฅํ ๋๋ ์ผ๊ด๋ ํตํ๋ฅผ ์ฌ์ฉํ๊ณ ๋ถ๋ ์์์ ๋ถ์ ํ์ฑ์ ํผํ๊ธฐ ์ํด ์ญ์ง์ ๋ฐ์ดํฐ ์ ํ์ ์ฌ์ฉํ๋ ๊ฒ์ ๊ณ ๋ คํ์ญ์์ค.
- ๋ฐ์ดํฐ ๊ฑฐ๋ฒ๋์ค: ๋ค์ํ ์ง์ญ ๋ฐ ํ์์ ๋ฐ์ดํฐ ํ์ง ๋ฐ ์ผ๊ด์ฑ์ ๋ณด์ฅํ๊ธฐ ์ํด ์ ์ ํ ๋ฐ์ดํฐ ๊ฑฐ๋ฒ๋์ค ์ ์ฑ ์ ๊ตฌํํ์ญ์์ค.
- ๊ท์ ์ค์: ๋ฐ์ดํฐ ๊ฐ์ธ ์ ๋ณด ๋ณดํธ ๊ท์ (์: GDPR, CCPA)์ ์๊ณ Parquet ๋ฐ์ดํฐ๊ฐ ์ด๋ฌํ ๊ท์ ์ ์ค์ํ์ฌ ์ ์ฅ ๋ฐ ์ฒ๋ฆฌ๋๋๋ก ํ์ญ์์ค.
- ๋ฌธํ์ ์ฐจ์ด: ๋ฐ์ดํฐ ์คํค๋ง๋ฅผ ์ค๊ณํ๊ณ ๋ฐ์ดํฐ ์ ํ์ ์ ํํ ๋ ๋ฌธํ์ ์ฐจ์ด๋ฅผ ์ผ๋์ ๋์ญ์์ค. ์๋ฅผ ๋ค์ด ๋ ์ง ํ์๊ณผ ์ซ์ ํ์์ ์ง์ญ๋ง๋ค ๋ค๋ฅผ ์ ์์ต๋๋ค.
๊ฒฐ๋ก
Parquet ์ต์ ํ๋ ๋ฐ์ดํฐ ํน์ฑ, ์ธ์ฝ๋ฉ ์ฒด๊ณ, ์์ถ ์ฝ๋ฑ ๋ฐ ์ฟผ๋ฆฌ ์์ง ๋์์ ๋ํ ๊น์ ์ดํด๊ฐ ํ์ํ ๋ค๋ฉด์ ์ธ ํ๋ก์ธ์ค์ ๋๋ค. ์ด ๊ฐ์ด๋์์ ์ค๋ช ํ ๊ธฐ์ ์ ์ ์ฉํ๋ฉด ๋ฐ์ดํฐ ์์ง๋์ด์ ์ํคํ ํธ๊ฐ ๋น ๋ฐ์ดํฐ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ฑ๋ฅ๊ณผ ํจ์จ์ฑ์ ํฌ๊ฒ ํฅ์์ํฌ ์ ์์ต๋๋ค. ์ต์ ์ ์ต์ ํ ์ ๋ต์ ํน์ ์ฌ์ฉ ์ฌ๋ก์ ๊ธฐ๋ณธ ์ธํ๋ผ์ ๋ฐ๋ผ ๋ฌ๋ผ์ง๋ค๋ ์ ์ ๊ธฐ์ตํ์ญ์์ค. ์ง์์ ์ธ ๋ชจ๋ํฐ๋ง๊ณผ ์คํ์ ๋์์์ด ์งํํ๋ ๋น ๋ฐ์ดํฐ ํ๊ฒฝ์์ ๊ฐ๋ฅํ ์ต์์ ๊ฒฐ๊ณผ๋ฅผ ์ป๋ ๋ฐ ์ค์ํฉ๋๋ค.