์ด ๊ธฐ์ฌ์์๋ KDPV์์ ๋ณผ ์ ์๋ ๊ฐ์ฅ ๊ฐ๋จํ๊ณ ๋น ๋ฅธ ๋ฐ์ดํฐ ๊ฒ์ ๋๊ตฌ์ ๋ํด ์ค๋ช
ํฉ๋๋ค. ํฅ๋ฏธ๋กญ๊ฒ๋ Whale์ ์๊ฒฉ git ์๋ฒ์์ ํธ์คํ
๋๋๋ก ์ค๊ณ๋์์ต๋๋ค. ์ปท ์๋์ ์ธ๋ถ ์ฌํญ.
Airbnb์ ๋ฐ์ดํฐ ๊ฒ์ ๋๊ตฌ๊ฐ ๋ด ์ธ์์ ๋ฐ๊พผ ๋ฐฉ๋ฒ
๋ด ๊ฒฝ๋ ฅ์์ ๋๋ ๋ช ๊ฐ์ง ์ฌ๋ฏธ์๋ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ ์ฆ๊ฑฐ์์ ๋๋ ธ์ต๋๋ค. MIT์์ ํ์๋ฅผ ๋ฐ๋ ๋์ ํ๋ฆ ์ํ์ ๊ณต๋ถํ๊ณ ์ฆ๋ถ ๋ชจ๋ธ ์์
์ ํ์ผ๋ฉฐ ์คํ ์์ค ํ๋ก์ ํธ๋ฅผ ์งํํ์ต๋๋ค.
{{๋ฐ์ดํฐ}}๋ ์ด๋์์ ์ฐพ์ ์ ์๋์? ๋ฐ์ดํฐ ํฌํธ.
์ด ์ด์ ๋ฌด์์ ์๋ฏธํฉ๋๊น? ๋ฐ์ดํฐ ํฌํธ.
์ค๋ {{metric}}์(๋) ์ด๋ค๊ฐ์? ๋ฐ์ดํฐ ํฌํธ.
์ถ์ ๊ฐ๊ฐ์ด๋ ๋ฌด์์ ๋๊น? ์์ ๋ฐ์ดํฐ ํฌํธ, ์๋ง.
์ข์, ๋น์ ์ ๊ทธ๋ฆผ์ ์ ์ํ๋ค. ๋ฐ์ดํฐ๋ฅผ ์ฐพ๊ณ ๊ทธ ์๋ฏธ, ์์ฑ ๋ฐฉ๋ฒ ๋ฐ ์ฌ์ฉ ๋ฐฉ๋ฒ์ ์ดํดํ๋ ๋ฐ ๋ช ์๊ฐ์ด ์๋ ๋ช ๋ถ์ด๋ฉด ์ถฉ๋ถํฉ๋๋ค. ๋ฉ๋ชจ๋ฅผ ํํค์น๊ณ ๋ฐ๋ณต์ ์ธ SQL ์ฟผ๋ฆฌ๋ฅผ ์์ฑํ๊ณ Slack์์ ๋๋ฃ๋ฅผ ์ธ๊ธํ์ฌ ๋ค๋ฅธ ์ฌ๋์ด ์ด๋ฏธ ๊ฐ์ง๊ณ ์๋ ์ปจํ ์คํธ๋ฅผ ๋ค์ ์์ฑํ๋ ๋์ ๊ฐ๋จํ ๊ฒฐ๋ก ๋๋ ์๋ก์ด ์๊ณ ๋ฆฌ์ฆ์ ๋์ถํ๋ ๋ฐ(... ๋๋ ๋ฐ์ดํฐ์ ๋ํ ์์์ ์ง๋ฌธ์ ๋ตํ๋ ๋ฐ) ์๊ฐ์ ๋ณด๋ผ ์ ์์ต๋๋ค. .
๋ญ๊ฐ ๋ฌธ์ ์ผ?
๋๋ ๋๋ถ๋ถ์ ์น๊ตฌ๋ค์ด ๊ทธ๋ฌํ ๋๊ตฌ์ ์ ๊ทผํ ์ ์๋ค๋ ๊ฒ์ ๊นจ๋ฌ์์ต๋๋ค. Dataportal๊ณผ ๊ฐ์ ํ๋ซํผ ๋๊ตฌ๋ฅผ ๊ตฌ์ถํ๊ณ ์ ์ง ๊ด๋ฆฌํ๋ ๋ฐ ๋ง๋ํ ๋ฆฌ์์ค๋ฅผ ๊ธฐ๊บผ์ด ํฌ์ ํ๋ ํ์ฌ๋ ๊ฑฐ์ ์์ต๋๋ค. ๋ํ ๋ช ๊ฐ์ง ์คํ ์์ค ์๋ฃจ์ ์ด ์์ง๋ง ํ์ฅ ๊ฐ๋ฅํ๋๋ก ์ค๊ณ๋ ๊ฒฝํฅ์ด ์์ด ์ ๋ด DevOps ์์ง๋์ด ์์ด๋ ์ค์ ๋ฐ ์ ์ง ๊ด๋ฆฌ๊ฐ ์ด๋ ต์ต๋๋ค. ๊ทธ๋์ ์๋ก์ด ๊ฒ์ ๋ง๋ค๊ธฐ๋ก ํ์ต๋๋ค.
Whale: ์ด๋ฆฌ์์ ์ ๋๋ก ๋จ์ํ ๋ฐ์ดํฐ ๊ฒ์ ๋๊ตฌ
๊ทธ๋ฆฌ๊ณ ๋ค, ์ด๋ฆฌ์๊ฒ ๋จ์ํ๋ค๋ ๊ฒ์ ์ด๋ฆฌ์๊ฒ ๋จ์ํจ์ ์๋ฏธํฉ๋๋ค. ๊ณ ๋์๋ ๋ ๊ฐ์ง ๊ตฌ์ฑ ์์๋ง ์์ต๋๋ค.
- ๋ฉํ๋ฐ์ดํฐ๋ฅผ ์์งํ๊ณ MarkDown์์ ํ์์ ์ง์ ํ๋ Python ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ๋๋ค.
- ์ด ๋ฐ์ดํฐ๋ฅผ ๊ฒ์ํ๊ธฐ ์ํ Rust ๋ช ๋ น์ค ์ธํฐํ์ด์ค.
์ ์ง๋ณด์๋ฅผ ์ํ ๋ด๋ถ ์ธํ๋ผ์ ๊ด์ ์์ ๋ณผ ๋ ํ
์คํธ ํ์ผ๊ณผ ํ
์คํธ๋ฅผ ์
๋ฐ์ดํธํ๋ ํ๋ก๊ทธ๋จ๋ง ์์ ๋ฟ์
๋๋ค. ๊ทธ๊ฒ ๋ค์ผ Github์ ๊ฐ์ git ์๋ฒ์์ ํธ์คํ
ํ๋ ๊ฒ์ด ๊ฐ๋จํฉ๋๋ค. ์๋ก์ด ์ฟผ๋ฆฌ ์ธ์ด๋ฅผ ๋ฐฐ์ธ ํ์๋, ๊ด๋ฆฌ ์ธํ๋ผ๋, ๋ฐฑ์
๋ ์์ต๋๋ค. ๋๊ตฌ๋ Git์ ์๊ณ ์์ผ๋ฏ๋ก ๋๊ธฐํ ๋ฐ ํ์
์ด ๋ฌด๋ฃ์
๋๋ค. ๊ธฐ๋ฅ์ ์์ธํ ์ดํด ๋ณด๊ฒ ์ต๋๋ค.
๋ชจ๋ ๊ธฐ๋ฅ์ ๊ฐ์ถ git ๊ธฐ๋ฐ GUI
Whale์ ์๊ฒฉ git ์๋ฒ์ ๋ฐ๋ค์์ ํค์์น๋๋ก ์ค๊ณ๋์์ต๋๋ค. ๊ทธ
Github ์์
์ ์ฌ์ฉํ์ฌ ์์ฑ๋ ์คํ
ํ
์ด๋ธ์ ์์
๋๋ค. ์ ์ฒด ์์
๋ฐ๋ชจ
๋ฆฌํฌ์งํ ๋ฆฌ์ ๋ํ ๋ฒ๊ฐ์ฒ๋ผ ๋น ๋ฅธ CLI ๊ฒ์
Whale์ ๋ช ๋ น์ค์์ ์ด์ ์จ์ฌ๋ฉฐ ํ ์ด๋ธ ์ ์ฒด์ ๊ฐ๋ ฅํ ๋ฐ๋ฆฌ์ด ์กฐํ๋ฅผ ์ ๊ณตํฉ๋๋ค. ์๋ฐฑ๋ง ๊ฐ์ ํ ์ด๋ธ์ด ์๋ ๊ฒฝ์ฐ์๋ ์ผ๋ถ ์๋ฆฌํ ์บ์ฑ ๋ฉ์ปค๋์ฆ์ ์ฌ์ฉํ๊ณ Rust์์ ๋ฐฑ์๋๋ฅผ ์ฌ๊ตฌ์ถํ์ฌ Whale์ ์ฑ๋ฅ์ ๋๋ผ์ธ ์ ๋๋ก ํฅ์์์ผฐ์ต๋๋ค. ๊ฒ์ ์ง์ฐ์ด ๋ฐ์ํ์ง ์์ต๋๋ค. [hello Google DS]
Whale ๋ฐ๋ชจ, ๋ฐฑ๋ง ํ
์ด๋ธ ์กฐํ.
์ธก์ ํญ๋ชฉ ์๋ ๊ณ์ฐ[๋ฒ ํ]
๋ฐ์ดํฐ ๊ณผํ์๋ก์ ๊ฐ์ฅ ์ซ์ดํ๋ ๊ฒ ์ค ํ๋๋ ์ฌ์ฉ ์ค์ธ ๋ฐ์ดํฐ์ ํ์ง์ ํ์ธํ๊ธฐ ์ํด ๋์ผํ ์ฟผ๋ฆฌ๋ฅผ ๋ฐ๋ณตํด์ ์คํํ๋ ๊ฒ์ ๋๋ค. Whale์ ๋ฉํ๋ฐ์ดํฐ ์ ๋ฆฌ ํ์ดํ๋ผ์ธ๊ณผ ํจ๊ป ์คํ๋๋๋ก ์์ฝ๋ ์ผ๋ฐ SQL์์ ๋ฉํธ๋ฆญ์ ์ ์ํ๋ ๊ธฐ๋ฅ์ ์ง์ํฉ๋๋ค. ์คํ ํ ์ด๋ธ ๋ด๋ถ์ YAML ๋ฉํธ๋ฆญ ๋ธ๋ก์ ์ ์ํ๋ฉด Whale์ด ์ผ์ ์ ๋ฐ๋ผ ์๋์ผ๋ก ์คํ๋๊ณ ๋ฉํธ๋ฆญ์ ์ค์ฒฉ๋ ์ฟผ๋ฆฌ๊ฐ ์คํ๋ฉ๋๋ค.
```metrics
metric-name:
sql: |
select count(*) from table
```
Github์ ๊ฒฐํฉ๋ ์ด ์ ๊ทผ ๋ฐฉ์์ Whale์ด ๋ฉํธ๋ฆญ ์ ์๋ฅผ ์ํ ์ฌ์ด ์ค์ ์ง์ค ์์ค ์ญํ ์ ํ ์ ์์์ ์๋ฏธํฉ๋๋ค. Whale์ ๊ฐ์ ํ์์คํฌํ์ ํจ๊ป "~/. whale/metrics"๋ ์ฐจํธ ์์ฑ ๋๋ ๋ณด๋ค ์ฌ์ธต์ ์ธ ์ฐ๊ตฌ๋ฅผ ์ํํ๋ ค๋ ๊ฒฝ์ฐ์ ์ฌ์ฉํ ์ ์์ต๋๋ค.
๋ฏธ๋
์ํํ ๋ฒ์ ์ Whale ์ฌ์ฉ์๋ค๊ณผ ์ด์ผ๊ธฐ๋ฅผ ๋๋ ํ ์ฐ๋ฆฌ๋ ์ฌ๋๋ค์๊ฒ ๋ ๋ง์ ๊ธฐ๋ฅ์ด ํ์ํ๋ค๋ ๊ฒ์ ๊นจ๋ฌ์์ต๋๋ค. ํ
์ด๋ธ ์กฐํ ๋๊ตฌ๊ฐ ํ์ํ ์ด์ ๋ ๋ฌด์์
๋๊น? ๋ฉํธ๋ฆญ ๊ฒ์ ๋๊ตฌ๊ฐ ์๋ ์ด์ ๋ ๋ฌด์์
๋๊น? ๋ชจ๋ํฐ๋งํ์ง ์๋ ์ด์ ๋ ๋ฌด์์
๋๊น? SQL ์ฟผ๋ฆฌ ์คํ ๋๊ตฌ๊ฐ ์๋ ์ด์ ๋ ๋ฌด์์
๋๊น? Whale v1์ ์๋ ๊ฐ๋จํ CLI ๋๋ฐ ๋๊ตฌ๋ก ์๊ฐ๋์์ง๋ง Dataportal/Amundsen
, ์ด๋ฏธ ๋ชจ๋ ๊ธฐ๋ฅ์ ๊ฐ์ถ ๋
๋ฆฝ ์คํํ ํ๋ซํผ์ผ๋ก ๋ฐ์ ํ์ผ๋ฉฐ ๋ฐ์ดํฐ ๊ณผํ์ ํดํท์ ํ์ ๋ถ๋ถ์ด ๋๊ธฐ๋ฅผ ๋ฐ๋๋๋ค.
๊ฐ๋ฐ ๊ณผ์ ์์ ๋ณด๊ณ ์ถ์ ๊ฒ์ด ์๋ค๋ฉด ์ ํฌ์ ํจ๊ปํ์ธ์.
๊ฒฐ๋ก
Whale์ ์ต๊ทผ์ ๋ค๋ฅธ ์ฌ๋๋ค๊ณผ ๊ณต๋ ์ฐฝ๋ฆฝํ ์คํํธ์
์ธ Dataframe์์ ๊ฐ๋ฐํ๊ณ ์ ์ง ๊ด๋ฆฌํฉ๋๋ค. Whale์ด ๋ฐ์ดํฐ ๊ณผํ์๋ฅผ ์ํด ๋ง๋ค์ด์ก๋ค๋ฉด Dataframe์ ๋ฐ์ดํฐ ๊ณผํ์๋ฅผ ์ํด ๋ง๋ค์ด์ก์ต๋๋ค. ๋ณด๋ค ๊ธด๋ฐํ ํ์
์ ์ํ๋ ๋ถ๋ค์ ์ธ์ ๋ ์ง
๊ทธ๋ฆฌ๊ณ ํ๋ก๋ชจ์
์ฝ๋๋ก ํ๋ธ๋ฅด, ๋ฐฐ๋์ ํ์๋ ํ ์ธ์ ์ถ๊ฐ 10%๋ฅผ ์ป์ ์ ์์ต๋๋ค.
๋ฐ์ดํฐ ๊ณผํ ์จ๋ผ์ธ ๋ถํธ์บ ํ ๋ฐ์ดํฐ ๋ถ์๊ฐ์ ์ง์ ์ ์ฒ์๋ถํฐ ๊ต์ก ๋ฐ์ดํฐ ๋ถ์ ์จ๋ผ์ธ ๋ถํธ์บ ํ ์ฒ์๋ถํฐ ๋ฐ์ดํฐ ๊ณผํ ์ง์ ๊ต์ก ์น ๊ฐ๋ฐ ๊ณผ์ ์ ์ํ Python
๋ ๋ง์ ๊ณผ์
๋ฐ์ดํฐ ๋ถ์ ๊ณผ์ DevOps ๊ณผ์ ์ง์ ์น ๊ฐ๋ฐ์ ์ง์ ์ฒ์๋ถํฐ iOS ๊ฐ๋ฐ์ ์ฒ์๋ถํฐ ์ง์ Android ๊ฐ๋ฐ์ ์ฒ์๋ถํฐ ์ง์ Java ๊ฐ๋ฐ์ ์๋ฐ์คํฌ๋ฆฝํธ ๊ณผ์ ๊ธฐ๊ณ ํ์ต ๊ณผ์ ๊ณผ์ "๋ฐ์ดํฐ ๊ณผํ์ ์ํ ์ํ ๋ฐ ๊ธฐ๊ณ ํ์ต" ๊ณ ๊ธ ๊ณผ์ "๋จธ์ ๋ฌ๋ ํ๋ก + ๋ฅ ๋ฌ๋"
ํน์ง ๊ธฐ์ฌ
์จ๋ผ์ธ ๊ณผ์ ์์ด ๋ฐ์ดํฐ ๊ณผํ์๊ฐ ๋๋ ๋ฐฉ๋ฒ 450๊ฐ์ ๋ฌด๋ฃ ์์ด๋น ๋ฆฌ๊ทธ ๊ณผ์ 5๊ฐ์ ์ฐ์ ์ฃผ 9์ผ ๋จธ์ ๋ฌ๋ ๊ณต๋ถํ๋ ๋ฐฉ๋ฒ ๋ฐ์ดํฐ ๋ถ์๊ฐ์ ์์ ์ ์ผ๋ง์ ๋๊น? 2020๋ ๋ฌ์์ ๋ฐ ํด์ธ์ ๊ธ์ฌ ๋ฐ ๊ณต์ ๊ฐ์ ๊ด์ฐ ์ ๊ณ์ ๊ธฐ๊ณ ํ์ต ๋ฐ ์ปดํจํฐ ๋น์
์ถ์ฒ : habr.com