๊ฒ์๊ธ ์ญ์
์ ๋ง ์ญ์ ํ์๊ฒ ์ต๋๊น?
Apache Superset: EP2 - ๐๏ธ Superset ๋ด๋ถ ๊ตฌ์กฐ - ์ด๋ป๊ฒ ๋์ํ ๊น?
[์ฃผ์ ๋ชฉ์ฐจ]
Apache Superset์ ๊ตฌ์กฐ
ํ๋ก ํธ์๋์ ๋ฐฑ์๋์ ์ญํ
๋ฉํ๋ฐ์ดํฐ์ ์ฟผ๋ฆฌ ์คํ
์๋ ํ์ธ์! ์ค๋์ ๋ฐ์ดํฐ ์๊ฐํ ๋๊ตฌ์ธ ์ํ์น ์ํผ์ (Apache Superset)์ ์ฝ ์ํคํ ์ฒ์ ๋ํด ์์๋ณด๋ ค๊ณ ํด์. ์ํผ์ ์ ๋ค์ํ ๋ฐ์ดํฐ ์์ค๋ฅผ ํตํฉํ์ฌ ์๊ฐํํ ์ ์๋ ๊ฐ๋ ฅํ ๋๊ตฌ์ธ๋ฐ์, ๊ทธ ๋ด๋ถ ๊ตฌ์กฐ๋ฅผ ์ดํดํ๋ ๊ฒ์ด ๋งค์ฐ ์ค์ํฉ๋๋ค. ํนํ, ์ํผ์ ์ ํ๋ก ํธ์๋, ๋ฐฑ์๋, ๋ฉํ๋ฐ์ดํฐ๋ฒ ์ด์ค, ์ธ๋ถ ๋ฐ์ดํฐ ์์ค ๋ฑ ์ฌ๋ฌ ๋ ์ด์ด๋ก ๊ตฌ์ฑ๋์ด ์์ด ๊ฐ ๋ ์ด์ด์ ์ญํ ๊ณผ ์ํธ์์ฉ์ ํตํด ์ด๋ป๊ฒ ๋ฐ์ดํฐ๋ฅผ ๊ด๋ฆฌํ๊ณ ์๊ฐํํ๋์ง ์ ์ ์์ต๋๋ค. ์ด ๊ธ์ ํตํด ์ํผ์ ์ ์ํคํ ์ฒ๋ฅผ ๊น์ด ์๊ฒ ์ดํดํ๊ณ , ์ค๋ฌด์ ์ ์ฉํ ์ ์๋ ํต์ฐฐ๋ ฅ์ ์ป์ด๋ณด์ธ์.

Apache Superset์ ๊ตฌ์กฐ
์ํ์น ์ํผ์ ์ ๋ค ๊ฐ์ ์ฃผ์ ๋ ์ด์ด๋ก ๊ตฌ์ฑ๋์ด ์์ด์. ์ฒซ ๋ฒ์งธ๋ ์ฌ์ฉ์ ์ธํฐํ์ด์ค(UI)๋ก, ๋ฆฌ์กํธ์ RESTful API๋ฅผ ์ฌ์ฉํด ๊ฐ๋ฐ๋์์ต๋๋ค. ์ด ํ๋ก ํธ์๋๋ ์ฌ์ฉ์๊ฐ ๋์๋ณด๋์ ์ฐจํธ๋ฅผ ์ง๊ด์ ์ผ๋ก ๋ง๋ค ์ ์๋๋ก ๋์์ฃผ๋๋ฐ์, ํนํ ๋๋๊ทธ ์ค ๋๋กญ ๋ฐฉ์์ผ๋ก ๋์๋ณด๋๋ฅผ ์์ฑํ ์ ์์ด ์ฌ์ฉ์ ์นํ์ ์ธ ๊ฒฝํ์ ์ ๊ณตํฉ๋๋ค.
๋ ๋ฒ์งธ ๋ ์ด์ด๋ ๋ฐฑ์๋์ ๋๋ค. ์ํผ์ ์ ๋ฐฑ์๋๋ ํ๋ผ์คํฌ(Flask)๋ผ๋ ํ์ด์ฌ ๊ธฐ๋ฐ์ ์น ํ๋ ์์ํฌ๋ก ๊ตฌํ๋์ด ์์ต๋๋ค. ํ๋ผ์คํฌ๋ ๋ง์ ๊ธฐ๋ฅ์ ์ ๊ณตํ๋ฉฐ, ์ด๋ฅผ ํตํด ์ฌ์ฉ์ ์ธ์ฆ, ์ฟผ๋ฆฌ ์คํ, ๋ฉํ๋ฐ์ดํฐ ๊ด๋ฆฌ ๋ฑ์ ์ฒ๋ฆฌํฉ๋๋ค. ํ๋ผ์คํฌ์ ์ฅ์ ์ค ํ๋๋ ๋ค์ํ ํ๋ฌ๊ทธ์ธ๊ณผ์ ํธํ์ฑ์ผ๋ก, ๊ธฐ์ ํ๊ฒฝ์์๋ ์ฝ๊ฒ ์ฌ์ฉํ ์ ์๋ ์ ์ด์ฃ .
์ธ ๋ฒ์งธ ๋ ์ด์ด๋ ๋ฉํ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋๋ค. ์ด๊ณณ์์๋ ๋์๋ณด๋, ์ฐจํธ, ์ฌ์ฉ์ ์ ๋ณด ๋ฑ์ ๋ฉํ๋ฐ์ดํฐ๊ฐ ์ ์ฅ๋ฉ๋๋ค. ์ผ๋ฐ์ ์ผ๋ก PostgreSQL์ด๋ MySQL๊ณผ ๊ฐ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์ฌ์ฉํ๊ณ , ๋ฉํ๋ฐ์ดํฐ๋ฅผ ํตํด ๋ฐ์ดํฐ ์๊ฐํ ๋ก์ง์ ๊ด๋ฆฌํ๊ฒ ๋ฉ๋๋ค.
๋ง์ง๋ง์ผ๋ก ์ธ๋ถ ๋ฐ์ดํฐ ์์ค์์ ์ฐ๊ฒฐ์ ๋๋ค. ์ํผ์ ์ ๋ฐ์ดํฐ๋ฅผ ์ง์ ์ ์ฅํ๋ ๊ฒ์ด ์๋๋ผ, ๋ค์ํ ์ธ๋ถ ๋ฐ์ดํฐ ์์ค์ ์ฐ๊ฒฐํ์ฌ ์ค์๊ฐ์ผ๋ก ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ ธ์ต๋๋ค. ์ด๋ฅผ ํตํด ๋ฐ์ดํฐ์ ์ค๋ณต์ฑ์ ์ค์ด๊ณ , ํญ์ ์ต์ ์ ๋ฐ์ดํฐ๋ฅผ ํ์ฉํ ์ ์์ต๋๋ค.

ํ๋ก ํธ์๋์ ๋ฐฑ์๋์ ์ญํ
์ํผ์ ์ ํ๋ก ํธ์๋๋ ๋ฆฌ์กํธ๋ก ๊ตฌ์ฑ๋์ด ์์ด ๋ฐ์ํ UI๋ฅผ ์ ๊ณตํฉ๋๋ค. ์ฌ์ฉ์๋ SQL ๋ฉ์ ํตํด SQL์ ์ฝ๊ฒ ์์ฑํ ์ ์์ผ๋ฉฐ, ์ด ๊ณผ์ ์์ SQL ์ฟผ๋ฆฌ ๊ฒฐ๊ณผ๋ฅผ ์ฆ์ ํ์ธํ ์ ์์ต๋๋ค. ์ด๋ฌํ ์ธํฐํ์ด์ค๋ ์ฌ์ฉ์๊ฐ ๋ฐ์ดํฐ๋ฅผ ์๊ฐํํ๋ ๋ฐ ํ์ํ ๋ชจ๋ ๋๊ตฌ๋ฅผ ์ ๊ณตํฉ๋๋ค.
๋ฐ๋ฉด, ๋ฐฑ์๋๋ ํ๋ผ์คํฌ๋ก ์์ฑ๋์ด ์ฌ๋ฌ ๊ธฐ๋ฅ์ ์ฒ๋ฆฌํฉ๋๋ค. ์๋ฅผ ๋ค์ด, ์ฟผ๋ฆฌ ์คํ์ SQLAlchemy๋ฅผ ํตํด ์ํ๋ฉ๋๋ค. ์ด ๊ณผ์ ์์ ์ฟผ๋ฆฌ๋ฅผ ๋น๋๊ธฐ์ ์ผ๋ก ์ฒ๋ฆฌํ์ฌ UI๊ฐ ๋ธ๋กํน๋์ง ์๋๋ก ํฉ๋๋ค. ๋ํ, SQL ์ฟผ๋ฆฌ๊ฐ ์ค๋ ๊ฑธ๋ฆด ๊ฒฝ์ฐ, ์ ๋ฌ๋ฆฌ ์์ปค๋ฅผ ์ฌ์ฉํ์ฌ ๋ฐฑ๊ทธ๋ผ์ด๋์์ ์ฟผ๋ฆฌ๋ฅผ ์คํํ๊ฒ ๋ฉ๋๋ค. ์ด๋ฅผ ํตํด ๋๋์ ์ฟผ๋ฆฌ๋ฅผ ๋์์ ์ฒ๋ฆฌํ ์ ์๋ ์ค์ผ์ผ ์์ ๊ธฐ๋ฅ์ ์ ๊ณตํฉ๋๋ค.
๋ฐฑ์๋๋ ๋ณด์ ์ธก๋ฉด์์๋ ์ค์ํ ์ญํ ์ ํ๋๋ฐ, ๋ค์ํ ์ธ์ฆ ๋ฐฉ์์ ์ง์ํ์ฌ ๊ธฐ์ ํ๊ฒฝ์์๋ ์์ ํ๊ฒ ์ฌ์ฉํ ์ ์๋๋ก ์ค๊ณ๋์ด ์์ต๋๋ค. ๋ฐ์ดํฐ์ ๊ณผ ๋์๋ณด๋์ ๋ํด ๋กค ๊ธฐ๋ฐ ์ ๊ทผ ์ ์ด๋ฅผ ๊ตฌํํ ์ ์์ด, ๋ฐ์ดํฐ ๋ณด์์ฑ์ด ๋์์ง๋๋ค.

๋ฉํ๋ฐ์ดํฐ์ ์ฟผ๋ฆฌ ์คํ
๋ฉํ๋ฐ์ดํฐ๋ ์ํผ์ ์ ํต์ฌ์ ์ธ ๋ถ๋ถ์ผ๋ก, ๋์๋ณด๋์ ์ฐจํธ์ ์ค์ ์ ๋ณด๋ฅผ ํฌํจํ๊ณ ์์ต๋๋ค. ์ด ๋ฉํ๋ฐ์ดํฐ๋ ๋ฐ์ดํฐ ์๊ฐํ์ ๋ก์ง์ ์ ์ํ๋ฉฐ, ๊ฐ ๋ฐ์ดํฐ ์์ค์์ ์ฐ๊ฒฐ์ ๊ด๋ฆฌํฉ๋๋ค. ๋ฉํ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ ์ฅ๋ ์ ๋ณด ๋๋ถ์, ์ฌ์ฉ์๋ ๋์ผํ ๋ฐ์ดํฐ ์์ค๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ๋ค์ํ ์๊ฐํ๋ฅผ ์์ฑํ ์ ์๊ฒ ๋ฉ๋๋ค.
์ฟผ๋ฆฌ ์คํ ๊ณผ์ ์์๋ SQLAlchemy๊ฐ ์ฃผ ์ญํ ์ ํฉ๋๋ค. ์ฌ์ฉ์๊ฐ SQL ์ฟผ๋ฆฌ๋ฅผ ์์ฑํ๋ฉด, ์ด ์ฟผ๋ฆฌ๋ ๋ฐฑ์๋์์ ์คํ๋๊ณ ๊ฒฐ๊ณผ๊ฐ ์ฌ์ฉ์์๊ฒ ๋ฐํ๋ฉ๋๋ค. ์ ๋ฌ๋ฆฌ ์์ปค๋ ์ฟผ๋ฆฌ ์คํ์ ๋น๋๊ธฐ์ ์ผ๋ก ์ฒ๋ฆฌํ์ฌ, ์ฌ์ฉ์ ์ธํฐํ์ด์ค์ ๋ฐ์์ฑ์ ๋์ ๋๋ค. ๊ฒฐ๊ณผ์ ์ผ๋ก, ๋๋์ ์ฟผ๋ฆฌ๋ฅผ ๋์์ ์คํํ๋๋ผ๋ UI๋ ํญ์ ์ํํ๊ฒ ์๋ํ ์ ์์ต๋๋ค.
๋ง์ง๋ง์ผ๋ก, Redis๋ ์ฟผ๋ฆฌ ๊ฒฐ๊ณผ ์บ์ฑ๊ณผ ๋ฉ์์ง ํ ์ญํ ์ ์ํํฉ๋๋ค. ์ฟผ๋ฆฌ๊ฐ ์์ฃผ ๋ฐ๋ณต๋๋ ๊ฒฝ์ฐ, Redis๋ฅผ ํตํด ์ฑ๋ฅ์ ํฅ์์ํฌ ์ ์์ต๋๋ค. ์ด์ฒ๋ผ ๋ฉํ๋ฐ์ดํฐ์ ์ฟผ๋ฆฌ ์คํ์ ์ํ์น ์ํผ์ ์ ์ฑ๋ฅ๊ณผ ์ ์ฐ์ฑ์ ๊ทน๋ํํ๋ ์ค์ํ ์์์ ๋๋ค.
[์์ฃผ ๋ฌป๋ ์ง๋ฌธ]
Apache Superset์ ์ฃผ์ ๊ธฐ๋ฅ์ ๋ฌด์์ธ๊ฐ์?
Apache Superset์ ๋ฐ์ดํฐ ์๊ฐํ์ ๋์๋ณด๋ ์์ฑ์ ์ต์ ํ๋ ์คํ์์ค ๋๊ตฌ๋ก, ๋ค์ํ ๋ฐ์ดํฐ ์์ค์ ์ฐ๊ฒฐํ์ฌ ์ค์๊ฐ์ผ๋ก ๋ฐ์ดํฐ๋ฅผ ์๊ฐํํ ์ ์์ต๋๋ค. ๋๋๊ทธ ์ค ๋๋กญ ๋ฐฉ์์ผ๋ก ๋์๋ณด๋๋ฅผ ์ฝ๊ฒ ๋ง๋ค ์ ์์ผ๋ฉฐ, SQL ์ฟผ๋ฆฌ๋ฅผ ์์ฑํ๊ณ ์คํํ ์ ์๋ SQL ๋ฉ ๊ธฐ๋ฅ๋ ํฌํจ๋์ด ์์ต๋๋ค.
Superset์ ์ํคํ ์ฒ๋ ์ด๋ป๊ฒ ๊ตฌ์ฑ๋์ด ์๋์?
Superset์ ํ๋ก ํธ์๋, ๋ฐฑ์๋, ๋ฉํ๋ฐ์ดํฐ๋ฒ ์ด์ค, ์ธ๋ถ ๋ฐ์ดํฐ ์์ค์ ๋ค ๊ฐ ์ฃผ์ ๋ ์ด์ด๋ก ๊ตฌ์ฑ๋์ด ์์ต๋๋ค. ํ๋ก ํธ์๋๋ ๋ฆฌ์กํธ๋ก ๊ฐ๋ฐ๋์๊ณ , ๋ฐฑ์๋๋ ํ๋ผ์คํฌ๋ก ๊ตฌํ๋์ด ์์ผ๋ฉฐ, ๋ฉํ๋ฐ์ดํฐ๋ PostgreSQL์ด๋ MySQL์ ์ ์ฅ๋ฉ๋๋ค. ์ธ๋ถ ๋ฐ์ดํฐ ์์ค์์ ์ฐ๊ฒฐ์ ํตํด ์ค์๊ฐ ๋ฐ์ดํฐ ์๊ฐํ๋ฅผ ์ง์ํฉ๋๋ค.
Superset์ ์ด๋ป๊ฒ ์ค์นํ๊ณ ์ฌ์ฉํ ์ ์๋์?
Superset์ Docker๋ฅผ ํตํด ์ฝ๊ฒ ์ค์นํ ์ ์์ผ๋ฉฐ, GitHub์์ ๊ด๋ จ ๋ฌธ์๋ฅผ ์ฐธ์กฐํ์ฌ ์ค์น ๋ฐฉ๋ฒ์ ํ์ธํ ์ ์์ต๋๋ค. ์ค์น ํ, ์น ์ธํฐํ์ด์ค๋ฅผ ํตํด ๋ฐ์ดํฐ ์์ค๋ฅผ ์ฐ๊ฒฐํ๊ณ ๋์๋ณด๋๋ฅผ ์์ฑํ๋ ๋ฐฉ์์ผ๋ก ์ฌ์ฉํฉ๋๋ค. ์ค์น ๊ณผ์ ์์ ํ์ํ ์์กด์ฑ์ด๋ ์ค์ ์ ๋ฏธ๋ฆฌ ํ์ธํ๋ ๊ฒ์ด ์ค์ํฉ๋๋ค.