vmware Docs์ About the Greenplum Architecture ๊ธ์ ์์ฝ๋ณธ์์ ๋ฐํ๋๋ค.
Chrome์ ํ๊ตญ์ด ๋ฒ์ญ์ ์ฌ์ฉํ๊ณ ์ผ๋ถ ๋ง์จ๋ฅผ ๋ฐ๊พธ์์ต๋๋ค.
Greenplum Database ๋?
Greenplum Database๋ PostgreSQL ์คํ ์์ค ๊ธฐ์ ์ ๊ธฐ๋ฐ์ผ๋ก ํ๋ MPP(๋๋ ๋ณ๋ ฌ ์ฒ๋ฆฌ) ๋ฐ์ดํฐ๋ฒ ์ด์ค ์๋ฒ์ ๋๋ค.
MPP( ๋น๊ณต์ ์ํคํ ์ฒ ๋ผ๊ณ ๋ ํจ )๋ ์์ ์ ์ํํ๊ธฐ ์ํด ํ๋ ฅํ๋ ๋ ๊ฐ ์ด์์ ํ๋ก์ธ์๊ฐ ์๋ ์์คํ ์ ๋ํ๋ด๋ฉฐ, ๊ฐ ํ๋ก์ธ์์๋ ์์ฒด ๋ฉ๋ชจ๋ฆฌ, ์ด์ ์ฒด์ ๋ฐ ๋์คํฌ๊ฐ ์์ต๋๋ค. Greenplum์ ์ด๋ฌํ ๊ณ ์ฑ๋ฅ ์์คํ ์ํคํ ์ฒ๋ฅผ ์ฌ์ฉํ์ฌ ์ ํ ๋ผ๋ฐ์ดํธ ๊ท๋ชจ์ ๋ฐ์ดํฐ ์จ์ดํ์ฐ์ค์ ๋ก๋๋ฅผ ๋ถ์ฐํ๊ณ ์์คํ ์ ๋ชจ๋ ๋ฆฌ์์ค๋ฅผ ๋ณ๋ ฌ๋ก ์ฌ์ฉํ์ฌ ์ฟผ๋ฆฌ๋ฅผ ์ฒ๋ฆฌํ ์ ์์ต๋๋ค.
Greenplum Database๊ฐ PostgreSQL๊ณผ ๋ค๋ฅธ ์
- ์์คํ ์นดํ๋ก๊ทธ, ์ต์ ํ ํ๋ก๊ทธ๋จ, ์ฟผ๋ฆฌ ์คํ๊ธฐ ๋ฐ ํธ๋์ญ์ ๊ด๋ฆฌ์ ๊ตฌ์ฑ ์์๋ ๋ชจ๋ ๋ณ๋ ฌ PostgreSQL ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ธ์คํด์ค์์ ๋์์ ์ฟผ๋ฆฌ๋ฅผ ์คํํ ์ ์๋๋ก ์์ ๋ฐ ํฅ์๋์์ต๋๋ค. Greenplum ์ํธ ์ฐ๊ฒฐ (๋คํธ์ํน ๊ณ์ธต)์ ์ฌ์ฉํ๋ฉด ๊ฐ๋ณ PostgreSQL ์ธ์คํด์ค ๊ฐ์ ํต์ ์ด ๊ฐ๋ฅํ๊ณ ์์คํ ์ด ํ๋์ ๋ ผ๋ฆฌ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ฒ๋ผ ์๋ํ ์ ์์ต๋๋ค.
- ์ด ์คํ ๋ฆฌ์ง๋ฅผ ์ฌ์ฉํ ์ ์๋ ์ต์ ์ด ์์ต๋๋ค. ์ปฌ๋ผ ์ ์ฅ์ ์์ถ ๊ฐ๋ฅํฉ๋๋ค. ๋ํ ๊ด์ฌ ์๋ ์ด๋ง ๋ฐํํ๋ฉด ๋๋ฏ๋ก ์ฑ๋ฅ๋ ํฅ์๋ ์ ์์ต๋๋ค.
- BI ์ํฌ๋ก๋์ ๋ง๊ฒ PostgreSQL์ ์ต์ ํํ๋๋ก ์ค๊ณ๋ ๊ธฐ๋ฅ๋ ํฌํจ๋์ด ์์ต๋๋ค. ์๋ฅผ ๋ค์ด ํ์ค PostgreSQL์๋ ์๋ ๋ณ๋ ฌ ๋ฐ์ดํฐ ๋ก๋ฉ(์ธ๋ถ ํ ์ด๋ธ), ๋ฆฌ์์ค ๊ด๋ฆฌ, ์ฟผ๋ฆฌ ์ต์ ํ ๋ฐ ์คํ ๋ฆฌ์ง ํฅ์ ๊ธฐ๋ฅ์ ์ถ๊ฐํ์ต๋๋ค.
Greenplum Database - Master (Coordinator)
- ์ฝ๋๋ค์ดํฐ๋ ํด๋ผ์ด์ธํธ ์ฐ๊ฒฐ์ ์ธ์ฆํ๊ณ , ๋ค์ด์ค๋ SQL ๋ช ๋ น์ ์ฒ๋ฆฌํ๊ณ , ์ธ๊ทธ๋จผํธ ๊ฐ์ ์์ ๋ถํ๋ฅผ ๋ถ์ฐํ๊ณ , ๊ฐ ์ธ๊ทธ๋จผํธ์์ ๋ฐํ๋ ๊ฒฐ๊ณผ๋ฅผ ์กฐ์ ํ๊ณ , ์ต์ข ๊ฒฐ๊ณผ๋ฅผ ํด๋ผ์ด์ธํธ ํ๋ก๊ทธ๋จ์ ์ ๊ณตํฉ๋๋ค.
- psql, JDBC, ODBC ๊ฐ์ ํด๋ผ์ด์ธํธ ํ๋ก๊ทธ๋จ์ด๋ API๋ฅผ ์ฌ์ฉํ์ฌ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ฐ๊ฒฐํฉ๋๋ค.
- ์ฝ๋๋ค์ดํฐ๋ ๊ธ๋ก๋ฒ ์์คํ ์นดํ๋ก๊ทธ๊ฐ ์๋ ๊ณณ์ ๋๋ค. ๊ธ๋ก๋ฒ ์์คํ ์นดํ๋ก๊ทธ๋ Greenplum ๋ฐ์ดํฐ๋ฒ ์ด์ค ์์คํ ์์ฒด์ ๋ํ ๋ฉํ๋ฐ์ดํฐ๊ฐ ํฌํจ๋ ์์คํ ํ ์ด๋ธ ์ธํธ์ ๋๋ค. ์ฝ๋๋ค์ดํฐ์๋ ์ฌ์ฉ์ ๋ฐ์ดํฐ๊ฐ ํฌํจ๋์ด ์์ง ์์ต๋๋ค. ๋ฐ์ดํฐ๋ ์ธ๊ทธ๋จผํธ ์๋ง ์์ฃผํฉ๋๋ค.
Greenplum Database - Standby Master (Standby Coordinator)
- Primary ์ฝ๋๋ค์ดํฐ ํธ์คํธ์ Standby ์ฝ๋๋ค์ดํฐ ํธ์คํธ ๊ฐ์ ๋ฐ์ดํฐ๋ฅผ ๋๊ธฐํํ๋ ํธ๋์ญ์ ๋ก๊ทธ ๋ณต์ ํ๋ก์ธ์ค๋ฅผ ํตํด ์ต์ ์ํ๋ก ์ ์ง๋ฉ๋๋ค. WAL (Write-Ahead Logging) ๊ธฐ๋ฐ ๋ก๊น ์์๋ ๋ชจ๋ ์์ ์ฌํญ์ด ์ ์ฉ๋๊ธฐ ์ ์ ๋ก๊ทธ์ ๊ธฐ๋ก๋์ด ์งํ ์ค์ธ ์์ ์ ๋ํ ๋ฐ์ดํฐ ๋ฌด๊ฒฐ์ฑ์ ๋ณด์ฅํฉ๋๋ค.
- ๊ธฐ๋ณธ ์ฝ๋๋ค์ดํฐ์ ์ฅ์ ๊ฐ ๋ฐ์ํ๋ฉด ๋ก๊ทธ ๋ณต์ ํ๋ก์ธ์ค๊ฐ ์ข ๋ฃ๋๊ณ ๊ด๋ฆฌ์๋ ๊ทธ ์๋ฆฌ์์ ๋๊ธฐ ์ฝ๋๋ค์ดํฐ๋ฅผ ํ์ฑํํ ์ ์์ต๋๋ค. ๋๊ธฐ ์ฝ๋๋ค์ดํฐ๊ฐ ํ์ฑํ๋๋ฉด ๋ณต์ ๋ ๋ก๊ทธ๋ฅผ ์ฌ์ฉํ์ฌ ๋ง์ง๋ง์ผ๋ก ์ฑ๊ณต์ ์ผ๋ก ์ปค๋ฐ๋ ํธ๋์ญ์ ๋น์ ์ฝ๋๋ค์ดํฐ ํธ์คํธ์ ์ํ๋ฅผ ์ฌ๊ตฌ์ฑํฉ๋๋ค.
Greenplum Database - Segment
- ์ธ๊ทธ๋จผํธ ์ธ์คํด์ค๋ ๊ฐ๊ฐ ๋ฐ์ดํฐ์ ์ผ๋ถ๋ฅผ ์ ์ฅํ๊ณ ๋๋ถ๋ถ์ ์ฟผ๋ฆฌ ์ฒ๋ฆฌ๋ฅผ ์ํํ๋ ๋ ๋ฆฝ์ ์ธ PostgreSQL ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋๋ค. ์ฌ์ฉ์ ์ ์ ํ ์ด๋ธ๊ณผ ํด๋น ์ธ๋ฑ์ค๋ ์ธ๊ทธ๋จผํธ์ ๋ถ์ฐ๋ฉ๋๋ค. ๊ฐ ์ธ๊ทธ๋จผํธ์๋ ๋ฐ์ดํฐ์ ๊ณ ์ ํ ๋ถ๋ถ์ด ํฌํจ๋์ด ์์ต๋๋ค. ์ธ๊ทธ๋จผํธ ๋ฐ์ดํฐ๋ฅผ ์ ๊ณตํ๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์๋ฒ ํ๋ก์ธ์ค๋ ํด๋น ์ธ๊ทธ๋จผํธ ์ธ์คํด์ค์์ ์คํ๋ฉ๋๋ค.
- ์ธ๊ทธ๋จผํธ ์ธ์คํด์ค๋ฅผ ์คํํ๋ ์๋ฒ๋ฅผ ์ธ๊ทธ๋จผํธ ํธ์คํธ ๋ผ๊ณ ํฉ๋๋ค. ์ธ๊ทธ๋จผํธ ํธ์คํธ๋ ์ผ๋ฐ์ ์ผ๋ก CPU ์ฝ์ด, RAM, ์คํ ๋ฆฌ์ง, ๋คํธ์ํฌ ์ธํฐํ์ด์ค ๋ฐ ์ํฌ๋ก๋์ ๋ฐ๋ผ 2~8๊ฐ์ Greenplum ์ธ๊ทธ๋จผํธ๋ฅผ ์คํํฉ๋๋ค. ์ธ๊ทธ๋จผํธ ํธ์คํธ๋ ๋์ผํ๊ฒ ๊ตฌ์ฑ๋์ด์ผ ํฉ๋๋ค. Greenplum ๋ฐ์ดํฐ๋ฒ ์ด์ค์์ ์ต๊ณ ์ ์ฑ๋ฅ์ ์ป๋ ํต์ฌ์ ๋์ผํ ๋ฅ๋ ฅ์ ๊ฐ์ถ ๋ค์์ ์ธ๊ทธ๋จผํธ์ ๋ฐ์ดํฐ์ ์ํฌ๋ก๋๋ฅผ ๊ท ๋ฑํ๊ฒ ๋ถ์ฐํ์ฌ ๋ชจ๋ ์ธ๊ทธ๋จผํธ๊ฐ ๋์์ ์์ ์ ์์ํ๊ณ ๋์์ ์์ ์ ์๋ฃํ๋๋ก ํ๋ ๊ฒ์ ๋๋ค.
- ๋ฏธ๋ฌ ์ธ๊ทธ๋จผํธ๋ฅผ ์ฌ์ฉํ๋ฉด ๊ธฐ๋ณธ ์ธ๊ทธ๋จผํธ๋ฅผ ์ฌ์ฉํ ์ ์๋ ๊ฒฝ์ฐ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ฟผ๋ฆฌ๋ฅผ ๋ฐฑ์
์ธ๊ทธ๋จผํธ๋ก ์ฅ์ ์กฐ์นํ ์ ์์ต๋๋ค. ๋ฏธ๋ฌ ์ธ๊ทธ๋จผํธ๋ ํญ์ ๊ธฐ๋ณธ ์ธ๊ทธ๋จผํธ์ ๋ค๋ฅธ ํธ์คํธ์ ์์ด์ผ ํฉ๋๋ค.
- ๊ทธ๋ฃน ๋ฏธ๋ฌ๋ง ์ด๋ผ๊ณ ํ๋ ๊ธฐ๋ณธ ๊ตฌ์ฑ์ ๋ชจ๋ ๊ธฐ๋ณธ ์ธ๊ทธ๋จผํธ์ ๋ํ ๋ฏธ๋ฌ ์ธ๊ทธ๋จผํธ๋ฅผ ๋ค๋ฅธ ํธ์คํธ ํ๋์ ๋ฐฐ์นํฉ๋๋ค. ํ์ฐ ๋ฏธ๋ฌ๋ง ์ด๋ผ๋ ๋ ๋ค๋ฅธ ์ต์ ์ ๊ฐ ํธ์คํธ์ ๊ธฐ๋ณธ ์ธ๊ทธ๋จผํธ์ ๋ํ ๋ฏธ๋ฌ๋ฅผ ๋๋จธ์ง ํธ์คํธ์ ๋ถ์ฐ์ํต๋๋ค. ํ์ฐ ๋ฏธ๋ฌ๋ง์ ์ํด์๋ ํธ์คํธ์ ์๋ ๊ธฐ๋ณธ ์ธ๊ทธ๋จผํธ๋ณด๋ค ์์คํ ์ ๋ ๋ง์ ํธ์คํธ๊ฐ ์์ด์ผ ํฉ๋๋ค.
'Data Engineering' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
Windows 11์์ Docker Desktop์ผ๋ก pyspark-notebook ์ธํ ํ๊ธฐ (3) | 2024.10.01 |
---|---|
NoSQL (0) | 2024.06.13 |
๋ฐ์ ๊ทํ (์๋ฏธ, ๋ชฉ์ , ๋์, ๋ฐฉ๋ฒ) (0) | 2023.11.10 |
๋ฐ์ดํฐ ์์ง๋์ด๋ง (0) | 2021.12.20 |
GPDB (vs. PostgreSQL, Architecture, Query) (0) | 2021.05.16 |
๋๊ธ