๐ŸŒˆ ์˜์นด ๋ฐ์ดํ„ฐ ๊ทธ๋ฃน - ๋ฐ์ดํ„ฐ ์—”์ง€๋‹ˆ์–ด๋ง | ์ปค๋ฆฌ์–ด๋ฆฌ

๐ŸŒˆ ์˜์นด ๋ฐ์ดํ„ฐ ๊ทธ๋ฃน - ๋ฐ์ดํ„ฐ ์—”์ง€๋‹ˆ์–ด๋ง ํŒ€์ด ํ•˜๋Š” ์ผ ๐ŸŽ ์ด ์ž๋ฃŒ๋ฅผ ์ถ”์ฒœํ•˜๋Š” ์ด์œ  - ๋ฐ์ดํ„ฐ ์—”์ง€๋‹ˆ์–ด๋งํŒ€์ด ํ•˜๋Š” ์ผ์„ ์ž˜ ์ •๋ฆฌํ•œ ๊ธ€์ž…๋‹ˆ๋‹ค - ์‹ ์ž… ๋ฐ์ดํ„ฐ ์—”์ง€๋‹ˆ์–ด๋ถ„์ด ๋ฐ์ดํ„ฐ ์—”์ง€๋‹ˆ์–ด๋กœ ์•Œ๋ฉด ์ข‹์€ Tip์„ ์ค‘๊ฐ„ ์ค‘๊ฐ„ ์ž‘์„ฑํ•ด์ฃผ์…จ์Šต๋‹ˆ๋‹ค - ๋ฐ์ดํ„ฐ ์—”์ง€๋‹ˆ์–ด๊ฐ€ ๋‹ค๋ฃจ๋Š” ๊ธฐ์ˆ ์„ ์ž˜ ์ž‘์„ฑํ•ด์คฌ์Šต๋‹ˆ๋‹ค(Airflow ๋“ฑ) ๐Ÿ‘ ์ฝ์œผ๋ฉด ์ข‹์€ ๋ถ„ - ๋ฐ์ดํ„ฐ ์—”์ง€๋‹ˆ์–ด๊ฐ€ ์–ด๋–ค ์ผ์„ ํ•˜๋Š”์ง€ ๊ถ๊ธˆํ•˜์‹  ๋ถ„ - ๋ฐ์ดํ„ฐ ์—”์ง€๋‹ˆ์–ด๋ฅผ ์ค€๋น„ํ•˜๊ณ  ๊ณ„์‹  ๋ถ„ - ๋ชจ๋นŒ๋ฆฌํ‹ฐ ํšŒ์‚ฌ์˜ ๋ฐ์ดํ„ฐ ์—”์ง€๋‹ˆ์–ด๊ฐ€ ํ•˜๋Š” ์ผ์ด ๊ถ๊ธˆํ•˜์‹  ๋ถ„ ๐Ÿ“‹ ๋‚ด์šฉ ๋ฐ์ดํ„ฐ ๊ทธ๋ฃน๊ณผ ๋ฐ์ดํ„ฐ ์—”์ง€๋‹ˆ์–ด๋ง ํŒ€ ๋ฐ์ดํ„ฐ ๊ทธ๋ฃน์˜ ๊ตฌ์„ฑ - ๋ฐ์ดํ„ฐ ๋ถ„์„ ํŒ€ - ๋น„์ฆˆ๋‹ˆ์Šค ๋ฐ์ดํ„ฐ ํŒ€ - ๋ฐ์ดํ„ฐ ์—”์ง€๋‹ˆ์–ด๋ง ํŒ€ - ๋ฐ์ดํ„ฐ ์—”์ง€๋‹ˆ์–ด๋งํŒ€์˜ ๊ธฐ๋ณธ ์—…๋ฌด : ๋‹ค๋ฅธ ํŒ€์„ ์œ„ํ•œ "์ง€์›" ๋ฐ์ดํ„ฐ ์—”์ง€๋‹ˆ์–ด๋ง ํŒ€ ์—…๋ฌด 1) ์ž์œ ๋กœ์šด ํ†ตํ•ฉ ๋ฐ์ดํ„ฐ ๋ถ„์„ ํ™˜๊ฒฝ ๋งŒ๋“ค๊ธฐ - ์„œ๋น„์Šค ์šด์˜ DB๊ฐ€ ์•„๋‹Œ ๋ณ„๋„์˜ ์ €์žฅ์†Œ์˜ ๋ถ„์„ ํ™˜๊ฒฝ์ด ํ•„์š”ํ•จ - ์—ฌ๋Ÿฌ ์žฅ์†Œ์— ์ €์žฅ๋œ ๋ฐ์ดํ„ฐ๋ฅผ ํ•œ ๊ณณ์œผ๋กœ ๋ชจ์•„์•ผ ํ•จ - Google Cloud Platform์˜ BIgQuery๋ฅผ ๋ฐ์ดํ„ฐ ์›จ์–ดํ•˜์šฐ์Šค๋กœ ์‚ฌ์šฉํ•˜๊ณ , Apache Airflow๋ฅผ Workflow ํˆด๋กœ ์‚ฌ์šฉํ•จ - ๋ฐ์ดํ„ฐ๋ฅผ ์ทจํ•ฉํ•  ๋•Œ ์ƒ๊ฐํ•ด์•ผ ํ•˜๋Š” ์  - ใ„ฑ. ๋ฐ์ดํ„ฐ๊ฐ€ ์–ด๋–ค ํ˜•ํƒœ๊ณ , ์–ด๋–ป๊ฒŒ ๊ฐ€์ ธ์˜ค๋Š”๊ฒŒ ์ตœ์ ํ™”๋œ ๋ฐฉ๋ฒ•์ผ๊นŒ? - ใ„ด. ํ•œ ๋ฒˆ์— ๊ฐ€์ ธ์˜ค๋Š” ๋ฐ์ดํ„ฐ ์–‘์ด ๋งŽ์•„์„œ ์ฒ˜๋ฆฌ ์†๋„์™€ ๋ฉ”๋ชจ๋ฆฌ์— ๋ฌธ์ œ๊ฐ€ ์—†๋‚˜? ์žˆ๋‹ค๋ฉด ์–ด๋–ป๊ฒŒ ํ• ๊นŒ? - ใ„ท. ๋ฐ์ดํ„ฐ ์†Œ์Šค๊ฐ€ ์„œ๋น„์Šค DB์ธ ๊ฒฝ์šฐ ๋ถ€ํ•˜๋ฅผ ์ฃผ์ง€ ์•Š์œผ๋ฉฐ ๋น ๋ฅด๊ฒŒ ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ€์ ธ์˜ค๋ ค๋ฉด ์–ด๋–ป๊ฒŒ ํ• ๊นŒ? - ใ„น. ์„œ๋น„์Šค DB์— UPDATE, DELETE๊ฐ€ ์ˆ˜ํ–‰๋˜์–ด๋„ ์ผ๊ด€์„ฑ ์žˆ๊ฒŒ ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ€์ ธ์˜ค๋ ค๋ฉด ์–ด๋–ป๊ฒŒ ํ• ๊นŒ? - ใ…. ํŒŒ์ดํ”„๋ผ์ธ์„ ์žฌ ์‹คํ–‰ํ•ด๋„ ๋ฉฑ๋“ฑํ•˜๊ฒŒ ๋ฐ์ดํ„ฐ๋ฅผ ์ˆ˜์ง‘ํ•˜๋ ค๋ฉด ์–ด๋–ป๊ฒŒ ํ• ๊นŒ? - ๋ฐ์ดํ„ฐ๋ฅผ ๋ณ„๋„๋กœ ์ •์ œ ๋ฐ ์ง‘๊ณ„ํ•ด ๋ฐ์ดํ„ฐ ๋งˆํŠธ๋กœ ๋งŒ๋“ฌ - ์˜์นด๋Š” SODA Store๋ผ๋Š” ๋ฐ์ดํ„ฐ ๋งˆํŠธ๋ฅผ ๋งŒ๋“ค์–ด ์šด์˜ํ•˜๊ณ  ์žˆ์Œ. ๊ธฐ์กด์— 500์ค„์˜ ์ฟผ๋ฆฌ๋กœ ์ž‘์„ฑํ•ด์•ผ ํ–ˆ๋˜ ๋‚ด์šฉ์„ 10์ค„ ์ด๋‚ด๋กœ ์ถ”์ถœํ•  ์ˆ˜ ์žˆ์Œ 2) ๋ฐ์ดํ„ฐ ์ง€ํ‘œ์™€ ๋ณด๊ณ ์„œ ๋งŒ๋“ค๊ธฐ - ์‹ค์ œ ๋น„์ฆˆ๋‹ˆ์Šค ๋ชฉ์ ์„ ๊ฐ€์ง„ ๋ถ„์„ ์ง€ํ‘œ์™€ ๋ณด๊ณ ์„œ๋ฅผ ์ƒ์„ฑ - ์ง€ํ‘œ ๊ด€๋ จ ๋กœ์ง - ใ„ฑ. ์–ด๋Š ์ •๋„๋กœ Task๋ฅผ ์ชผ๊ฐœ์•ผ ์œ ์ง€๋ณด์ˆ˜์™€ ์žฌ์‚ฌ์šฉ์ด ์‰ฌ์šธ๊นŒ? - ใ„ด. ์ฟผ๋ฆฌ๋Š” ์–ด๋–ป๊ฒŒ ๊ตฌ์กฐํ™”ํ•˜๊ณ  ์ตœ์ ํ™”ํ•ด์•ผ ์ฝ๊ธฐ๋„ ์ข‹๊ณ  ์„ฑ๋Šฅ๋„ ์ข‹์„๊นŒ? - ใ„ท. ์–ด๋Š ์‹œ๊ฐ„๋Œ€์— ์–ด๋–ค ์ˆœ์„œ๋กœ ์‹คํ–‰ํ•ด์•ผ ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ํŒŒ์ดํ”„๋ผ์ธ์ด ๋™์ž‘ํ• ๊นŒ? - ๊ตฌ๊ธ€ ์Šคํ”„๋ ˆ๋“œ์‹œํŠธ, ๊ตฌ๊ธ€ ๋ฐ์ดํ„ฐ ์ŠคํŠœ๋””์˜ค, ํƒœ๋ธ”๋กœ๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค 3) ๋ฐ์ดํ„ฐ ๊ธฐ๋ฐ˜์˜ ๋ฐฑ์—”๋“œ ์„œ๋น„์Šค ๊ฐœ๋ฐœ ๋ฐ ์šด์˜ - ๋ถ„์„ ๋ฐ ๋ชจ๋ธ๋ง ๊ฒฐ๊ณผ๋ฅผ ์„œ๋น„์Šค์— ๋ฐ˜์˜ํ•˜๊ธฐ ์œ„ํ•œ ๋ฐฑ์—”๋“œ ์„œ๋น„์Šค๋„ ๋ฐ์ดํ„ฐ ์—”์ง€๋‹ˆ์–ด๋งํŒ€์ด ๋‹ด๋‹นํ•˜๊ณ  ์žˆ์Œ - ์œ ์ง€ ๋ณด์ˆ˜๋ฅผ ์œ„ํ•œ ํด๋ฆฐ ์ฝ”๋“œ, ์•„ํ‚คํ…์ฒ˜๋‚˜ CI/CD๋ฅผ ๊ณ ๋ฏผํ•˜๋ฉฐ ๋ฐฑ์—”๋“œ ์„œ๋น„์Šค๋ฅผ ๊ฐœ๋ฐœํ•จ - ํŒŒ์ด์ฌ ๋ชจ๋“ˆ ๊ฐœ๋ฐœ์ด๋‚˜ ๊ธฐ์ˆ  ๋ฌธํ™” ๋„์ž…์— ํž˜์“ฐ๊ณ  ์žˆ์Œ - CI/CD ํˆด์€ BuddyWorks๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ์„œ๋ฒ„ ํ”„๋ ˆ์ž„์›Œํฌ๋Š” Flask, RPC ํ†ต์‹ ์€ gRPC๋ฅผ ์‚ฌ์šฉํ•จ 4) ๋ฐ์ดํ„ฐ ๊ทธ๋ฃน์˜ ์ธํ”„๋ผ/๋ฆฌ์†Œ์Šค ๊ด€๋ฆฌ - GCP๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์Œ - Google Compute Engine, BigQuery, ใ„ท์ดํ„ฐ ์ •ํ•ฉ์„ฑ ๊ฒ€์‚ฌ, ๋„คํŠธ์›Œํฌ ๋ฐฉํ™”๋ฒฝ ๋“ฑ - GKE(Google Kubernetes Engine) ๋ฐ์ดํ„ฐ ์—”์ง€๋‹ˆ์–ด๋งํŒ€ ์—…๋ฌด ์ด ์ •๋ฆฌ - ์ „์‚ฌ ์ง์›์„ ์œ„ํ•œ ํ†ตํ•ฉ ๋ฐ์ดํ„ฐ ์ €์žฅ์†Œ ๋งˆ๋ จ - ๋‹ค์–‘ํ•œ ๋ฐ์ดํ„ฐ ์†Œ์Šค์˜ ํ†ตํ•ฉ ๋ฐ์ดํ„ฐ ์ €์žฅ์†Œ๋กœ ์ด๋™ํ•˜๋Š” ํŒŒ์ดํ”„๋ผ์ธ ์„ค๊ณ„ - ์ข€ ๋” ํŽธ๋ฆฌํ•œ ๋ถ„์„์„ ์œ„ํ•œ ๋ฐ์ดํ„ฐ ๋งˆํŠธ ๊ตฌ์ถ• - ํƒ€ ๋ถ€์„œ๋ฅผ ์œ„ํ•œ ์ง€ํ‘œ, ์‹œ๊ฐํ™” ๋ฐ ๋ณด๊ณ ์„œ ๊ฐœ๋ฐœ - ๋ณด๊ณ ์„œ์˜ ๋ฐ์ดํ„ฐ๊ฐ€ ์ง€์†์ ์œผ๋กœ ์—…๋ฐ์ดํŠธ๋˜๋Š” ํŒŒ์ดํ”„๋ผ์ธ ์„ค๊ณ„ - ์—…๋ฌด ๊ทœ์น™ ํ˜‘์˜, ์ง€ํ‘œ ๋ฐ ๋ฐ์ดํ„ฐ ๊ฒ€์ฆ - ๋ฐ์ดํ„ฐ ๊ธฐ๋ฐ˜์˜ ๋ฐฑ์—”๋“œ ์„œ๋น„์Šค ๊ฐœ๋ฐœ ๋ฐ ์šด์˜ - ๋ฐ์ดํ„ฐ ๊ทธ๋ฃน ๋‚ด ์˜คํผ๋ ˆ์ด์…˜, ๋จธ์‹ ๋Ÿฌ๋‹์„ ์„œ๋น™ํ•˜๋Š” ๋ฐฑ์—”๋“œ ์„œ๋น„์Šค ๊ฐœ๋ฐœ - ์ง€์†์ ์ด๊ณ  ์œ ์ง€๋ณด์ˆ˜๊ฐ€ ์‰ฌ์šด ๊ฐœ๋ฐœ ๋ฐฉ๋ฒ•๋ก  ์—ฐ๊ตฌ ๋ฐ ์ ์šฉ - ์šด์˜์— ์ฐจ์งˆ์ด ์—†๋„๋ก ๋กœ๊ทธ, ๋ฆฌ์†Œ์Šค ๋ชจ๋‹ˆํ„ฐ๋ง - ๋ฐ์ดํ„ฐ ๊ทธ๋ฃน ์ธํ”„๋ผ ๋ฐ ๋ฆฌ์†Œ์Šค ๊ด€๋ฆฌ - GCP ์„œ๋น„์Šค ์šด์˜ ๋ฐ ๊ด€๋ฆฌ - ๋ฆฌ์†Œ์Šค, ๋„คํŠธ์›Œํฌ, ๋น…์ฟผ๋ฆฌ ์‚ฌ์šฉ๋Ÿ‰ ๋ชจ๋‹ˆํ„ฐ๋ง - GKE์— ์˜ฌ๋ผ๊ฐ€๋Š” helm chart ๋ฐ ๋ฆฌ์†Œ์Šค ๊ด€๋ฆฌ - ๊ฐœ๋ฐœ ํ™˜๊ฒฝ๊ณผ ๋ฐฐํฌ ํŒŒ์ดํ”„๋ผ์ธ(CI/CD) ๊ด€๋ฆฌ ์•ž์œผ๋กœ ๋ชฉํ‘œ์™€ ํ•  ์ผ๋“ค - GKE ํ™˜๊ฒฝ๊ณผ Airflow on GKE - ํƒ€๋‹ค ๋ฐ์ดํ„ฐ ์—”์ง€๋‹ˆ์–ด๋ง - ์‹ค์‹œ๊ฐ„ ์ŠคํŠธ๋ฆฌ๋ฐ ๋ฐ์ดํ„ฐ

์˜์นด ๋ฐ์ดํ„ฐ ๊ทธ๋ฃน - ๋ฐ์ดํ„ฐ ์—”์ง€๋‹ˆ์–ด๋ง ํŒ€์ด ํ•˜๋Š” ์ผ

SOCAR Tech Blog

2021๋…„ 4์›” 22์ผ ์˜คํ›„ 12:03

๋Œ“๊ธ€ 0

์ฃผ๊ฐ„ ์ธ๊ธฐ TOP 10

์ง€๋‚œ์ฃผ ์ปค๋ฆฌ์–ด๋ฆฌ์—์„œ ์ธ๊ธฐ ์žˆ๋˜ ๊ฒŒ์‹œ๋ฌผ์ด์—์š”!

โ€Œโ€Œ
โ€Œโ€Œ
โ€Œโ€Œ
โ€Œโ€Œ
โ€Œโ€Œ
โ€Œโ€Œ
โ€Œโ€Œ
โ€Œโ€Œ
โ€Œโ€Œ
โ€Œโ€Œ
โ€Œโ€Œ
โ€Œโ€Œ
โ€Œโ€Œ
โ€Œโ€Œ
โ€Œโ€Œ
โ€Œโ€Œ
โ€Œโ€Œ
โ€Œโ€Œ
โ€Œโ€Œ
โ€Œโ€Œ