Sber ์ €์šธ์ด ์žˆ์„ ๋•Œ. Hive ๋ฐ GreenPlum๊ณผ ํ•จ๊ป˜ Ab Initio ์‚ฌ์šฉ

์–ผ๋งˆ ์ „ ์šฐ๋ฆฌ๋Š” ๋น… ๋ฐ์ดํ„ฐ ์ž‘์—…์„ ์œ„ํ•œ ETL ๋„๊ตฌ๋ฅผ ์„ ํƒํ•˜๋Š” ๋ฌธ์ œ์— ์ง๋ฉดํ–ˆ์Šต๋‹ˆ๋‹ค. ์ด์ „์— ์‚ฌ์šฉํ–ˆ๋˜ Informatica BDM ์†”๋ฃจ์…˜์€ ์ œํ•œ๋œ ๊ธฐ๋Šฅ์œผ๋กœ ์ธํ•ด ์šฐ๋ฆฌ์—๊ฒŒ ์ ํ•ฉํ•˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค. ๊ทธ ์‚ฌ์šฉ์€ Spark-submit ๋ช…๋ น์„ ์‹คํ–‰ํ•˜๊ธฐ ์œ„ํ•œ ํ”„๋ ˆ์ž„์›Œํฌ๋กœ ์ถ•์†Œ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์›์น™์ ์œผ๋กœ ์šฐ๋ฆฌ๊ฐ€ ๋งค์ผ ์ฒ˜๋ฆฌํ•˜๋Š” ์—„์ฒญ๋‚œ ์–‘์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๋Š” ์•„๋‚ ๋กœ๊ทธ ์ œํ’ˆ์€ ์‹œ์žฅ์— ๋งŽ์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค. ๊ฒฐ๊ตญ ์šฐ๋ฆฌ๋Š” Ab Initio๋ฅผ ์„ ํƒํ–ˆ์Šต๋‹ˆ๋‹ค. ํŒŒ์ผ๋Ÿฟ ์‹œ์—ฐ์—์„œ ์ œํ’ˆ์€ ๋งค์šฐ ๋น ๋ฅธ ๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ ์†๋„๋ฅผ ๋ณด์—ฌ์ฃผ์—ˆ์Šต๋‹ˆ๋‹ค. ๋Ÿฌ์‹œ์•„์–ด์—๋Š” Ab Initio์— ๋Œ€ํ•œ ์ •๋ณด๊ฐ€ ๊ฑฐ์˜ ์—†๊ธฐ ๋•Œ๋ฌธ์— Habrรฉ์— ๋Œ€ํ•œ ๊ฒฝํ—˜์— ๋Œ€ํ•ด ์ด์•ผ๊ธฐํ•˜๊ธฐ๋กœ ๊ฒฐ์ •ํ–ˆ์Šต๋‹ˆ๋‹ค.

Ab Initio์—๋Š” ๊ณ ์œ ํ•œ PDL ์–ธ์–ด๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ฝ”๋“œ๋ฅผ ํ™•์žฅํ•  ์ˆ˜ ์žˆ๋Š” ๊ณ ์ „์ ์ด๊ณ  ํŠน์ดํ•œ ๋ณ€ํ˜•์ด ๋งŽ์ด ์žˆ์Šต๋‹ˆ๋‹ค. ์†Œ๊ทœ๋ชจ ๊ธฐ์—…์˜ ๊ฒฝ์šฐ ์ด๋Ÿฌํ•œ ๊ฐ•๋ ฅํ•œ ๋„๊ตฌ๋Š” ๊ณผ๋„ํ•  ๊ฐ€๋Šฅ์„ฑ์ด ๋†’์œผ๋ฉฐ ๋Œ€๋ถ€๋ถ„์˜ ๊ธฐ๋Šฅ์€ ๋น„์šฉ์ด ๋งŽ์ด ๋“ค๊ณ  ์‚ฌ์šฉ๋˜์ง€ ์•Š์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ๊ทœ๋ชจ๊ฐ€ Sberov์˜ ๊ทœ๋ชจ์— ๊ฐ€๊นŒ์šฐ๋ฉด Ab Initio๊ฐ€ ํฅ๋ฏธ๋กœ์šธ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๊ธฐ์—…์ด ์ „ ์„ธ๊ณ„์ ์œผ๋กœ ์ง€์‹์„ ์ถ•์ ํ•˜๊ณ  ์ƒํƒœ๊ณ„๋ฅผ ๊ฐœ๋ฐœํ•˜๋Š” ๋ฐ ๋„์›€์ด ๋˜๋ฉฐ, ๊ฐœ๋ฐœ์ž๋Š” ETL ๊ธฐ์ˆ ์„ ํ–ฅ์ƒํ•˜๊ณ  ์‰˜์— ๋Œ€ํ•œ ์ง€์‹์„ ํ–ฅ์ƒํ•˜๋ฉฐ PDL ์–ธ์–ด๋ฅผ ๋งˆ์Šคํ„ฐํ•  ์ˆ˜ ์žˆ๋Š” ๊ธฐํšŒ๋ฅผ ์ œ๊ณตํ•˜๊ณ  ๋กœ๋”ฉ ํ”„๋กœ์„ธ์Šค์— ๋Œ€ํ•œ ์‹œ๊ฐ์  ๊ทธ๋ฆผ์„ ์ œ๊ณตํ•˜๋ฉฐ ๊ฐœ๋ฐœ์„ ๋‹จ์ˆœํ™”ํ•ฉ๋‹ˆ๋‹ค. ๊ธฐ๋Šฅ์„ฑ ์„ฑ๋ถ„์ด ํ’๋ถ€ํ•˜๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.

์ด ๊ฒŒ์‹œ๋ฌผ์—์„œ๋Š” Ab Initio์˜ ๊ธฐ๋Šฅ์— ๋Œ€ํ•ด ์ด์•ผ๊ธฐํ•˜๊ณ  Hive ๋ฐ GreenPlum ์ž‘์—…์˜ ๋น„๊ต ํŠน์„ฑ์„ ์ œ๊ณตํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค.

  • MDW ํ”„๋ ˆ์ž„์›Œํฌ์— ๋Œ€ํ•œ ์„ค๋ช… ๋ฐ GreenPlum์— ๋Œ€ํ•œ ์‚ฌ์šฉ์ž ์ •์˜ ์ž‘์—…
  • Hive์™€ GreenPlum์˜ Ab Initio ์„ฑ๋Šฅ ๋น„๊ต
  • ๊ฑฐ์˜ ์‹ค์‹œ๊ฐ„ ๋ชจ๋“œ์—์„œ GreenPlum์„ ์‚ฌ์šฉํ•˜์—ฌ Ab Initio ์ž‘์—…


์ด ์ œํ’ˆ์˜ ๊ธฐ๋Šฅ์€ ๋งค์šฐ ๊ด‘๋ฒ”์œ„ํ•˜๊ณ  ์—ฐ๊ตฌํ•˜๋Š” ๋ฐ ๋งŽ์€ ์‹œ๊ฐ„์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์ ์ ˆํ•œ ์ž‘์—… ๊ธฐ์ˆ ๊ณผ ์˜ฌ๋ฐ”๋ฅธ ์„ฑ๋Šฅ ์„ค์ •์„ ์‚ฌ์šฉํ•˜๋ฉด ๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ ๊ฒฐ๊ณผ๊ฐ€ ๋งค์šฐ ์ธ์ƒ์ ์ž…๋‹ˆ๋‹ค. ๊ฐœ๋ฐœ์ž์—๊ฒŒ Ab Initio๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ํฅ๋ฏธ๋กœ์šด ๊ฒฝํ—˜์„ ์ œ๊ณตํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Š” ์Šคํฌ๋ฆฝํŠธ์™€ ์œ ์‚ฌํ•œ ์–ธ์–ด๋กœ ์‹œ๊ฐ์  ํ™˜๊ฒฝ๊ณผ ๋‹ค์šด๋กœ๋“œ ๊ฐœ๋ฐœ์„ ํ˜ผํ•ฉํ•œ ETL ๊ฐœ๋ฐœ์— ๋Œ€ํ•œ ์ƒˆ๋กœ์šด ์‹œ๋„์ž…๋‹ˆ๋‹ค.

๊ธฐ์—…์€ ์ƒํƒœ๊ณ„๋ฅผ ๊ฐœ๋ฐœํ•˜๊ณ  ์žˆ์œผ๋ฉฐ ์ด ๋„๊ตฌ๋Š” ๊ทธ ์–ด๋Š ๋•Œ๋ณด๋‹ค ์œ ์šฉํ•ฉ๋‹ˆ๋‹ค. Ab Initio๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ํ˜„์žฌ ๋น„์ฆˆ๋‹ˆ์Šค์— ๋Œ€ํ•œ ์ง€์‹์„ ์ถ•์ ํ•˜๊ณ  ์ด ์ง€์‹์„ ์‚ฌ์šฉํ•˜์—ฌ ๊ธฐ์กด ๋น„์ฆˆ๋‹ˆ์Šค๋ฅผ ํ™•์žฅํ•˜๊ณ  ์ƒˆ๋กœ์šด ๋น„์ฆˆ๋‹ˆ์Šค๋ฅผ ์—ด ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. Ab Initio์˜ ๋Œ€์•ˆ์œผ๋กœ๋Š” ์‹œ๊ฐ์  ๊ฐœ๋ฐœ ํ™˜๊ฒฝ์ธ Informatica BDM๊ณผ ๋น„์‹œ๊ฐ์  ๊ฐœ๋ฐœ ํ™˜๊ฒฝ์ธ Apache Spark๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.

Ab Initio์— ๋Œ€ํ•œ ์„ค๋ช…

๋‹ค๋ฅธ ETL ๋„๊ตฌ์™€ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ Ab Initio๋Š” ์ œํ’ˆ ๋ชจ์Œ์ž…๋‹ˆ๋‹ค.

Sber ์ €์šธ์ด ์žˆ์„ ๋•Œ. Hive ๋ฐ GreenPlum๊ณผ ํ•จ๊ป˜ Ab Initio ์‚ฌ์šฉ

Ab Initio GDE(๊ทธ๋ž˜ํ”ฝ ๊ฐœ๋ฐœ ํ™˜๊ฒฝ)๋Š” ๋ฐ์ดํ„ฐ ๋ณ€ํ™˜์„ ๊ตฌ์„ฑํ•˜๊ณ  ์ด๋ฅผ ํ™”์‚ดํ‘œ ํ˜•ํƒœ์˜ ๋ฐ์ดํ„ฐ ํ๋ฆ„๊ณผ ์—ฐ๊ฒฐํ•˜๋Š” ๊ฐœ๋ฐœ์ž๋ฅผ ์œ„ํ•œ ํ™˜๊ฒฝ์ž…๋‹ˆ๋‹ค. ์ด ๊ฒฝ์šฐ ์ด๋Ÿฌํ•œ ๋ณ€ํ™˜ ์ง‘ํ•ฉ์„ ๊ทธ๋ž˜ํ”„๋ผ๊ณ  ํ•ฉ๋‹ˆ๋‹ค.

Sber ์ €์šธ์ด ์žˆ์„ ๋•Œ. Hive ๋ฐ GreenPlum๊ณผ ํ•จ๊ป˜ Ab Initio ์‚ฌ์šฉ

๊ธฐ๋Šฅ ๊ตฌ์„ฑ ์š”์†Œ์˜ ์ž…๋ ฅ ๋ฐ ์ถœ๋ ฅ ์—ฐ๊ฒฐ์€ ํฌํŠธ์ด๋ฉฐ ๋ณ€ํ™˜ ๋‚ด์—์„œ ๊ณ„์‚ฐ๋œ ํ•„๋“œ๋ฅผ ํฌํ•จํ•ฉ๋‹ˆ๋‹ค. ์‹คํ–‰ ์ˆœ์„œ์— ๋”ฐ๋ผ ํ™”์‚ดํ‘œ ํ˜•ํƒœ์˜ ํ๋ฆ„์œผ๋กœ ์—ฐ๊ฒฐ๋œ ์—ฌ๋Ÿฌ ๊ทธ๋ž˜ํ”„๋ฅผ ๊ณ„ํš์ด๋ผ๊ณ  ํ•ฉ๋‹ˆ๋‹ค.

์ˆ˜๋ฐฑ ๊ฐ€์ง€์˜ ๊ธฐ๋Šฅ์  ๊ตฌ์„ฑ ์š”์†Œ๊ฐ€ ์žˆ๋Š”๋ฐ ์ด๋Š” ๋งŽ์Šต๋‹ˆ๋‹ค. ๊ทธ๋“ค ์ค‘ ๋‹ค์ˆ˜๋Š” ๊ณ ๋„๋กœ ์ „๋ฌธํ™”๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. Ab Initio์˜ ๊ธฐ๋ณธ ๋ณ€ํ™˜ ๊ธฐ๋Šฅ์€ ๋‹ค๋ฅธ ETL ๋„๊ตฌ๋ณด๋‹ค ๋” ๊ด‘๋ฒ”์œ„ํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด Join์—๋Š” ์—ฌ๋Ÿฌ ์ถœ๋ ฅ์ด ์žˆ์Šต๋‹ˆ๋‹ค. ๋ฐ์ดํ„ฐ์…‹์„ ์—ฐ๊ฒฐํ•œ ๊ฒฐ๊ณผ ์™ธ์—๋„ ํ‚ค๋ฅผ ์—ฐ๊ฒฐํ•  ์ˆ˜ ์—†๋Š” ์ž…๋ ฅ ๋ฐ์ดํ„ฐ์…‹์˜ ์ถœ๋ ฅ ๋ ˆ์ฝ”๋“œ๋ฅผ ์–ป์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ ํ…์ŠคํŠธ ํŒŒ์ผ๊ณผ ๋™์ผํ•œ ์—ด์—์„œ ์ฝ์„ ์ˆ˜ ์žˆ๊ณ  ๋‹ค๋ฅธ ๋ณ€ํ™˜์œผ๋กœ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๋Š” ๋ณ€ํ™˜ ์ž‘์—…์˜ ๊ฑฐ๋ถ€, ์˜ค๋ฅ˜ ๋ฐ ๋กœ๊ทธ๋ฅผ ์–ป์„ ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค.

Sber ์ €์šธ์ด ์žˆ์„ ๋•Œ. Hive ๋ฐ GreenPlum๊ณผ ํ•จ๊ป˜ Ab Initio ์‚ฌ์šฉ

๋˜๋Š” ์˜ˆ๋ฅผ ๋“ค์–ด ๋ฐ์ดํ„ฐ ์ˆ˜์‹ ๊ธฐ๋ฅผ ํ…Œ์ด๋ธ” ํ˜•์‹์œผ๋กœ ๊ตฌ์ฒดํ™”ํ•˜๊ณ  ๋™์ผํ•œ ์—ด์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ์ฝ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์›๋ž˜์˜ ๋ณ€ํ˜•์ด ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ์Šค์บ” ๋ณ€ํ™˜์—๋Š” ๋ถ„์„ ๊ธฐ๋Šฅ๊ณผ ์œ ์‚ฌํ•œ ๊ธฐ๋Šฅ์ด ์žˆ์Šต๋‹ˆ๋‹ค. ๋ฐ์ดํ„ฐ ์ƒ์„ฑ, Excel ์ฝ๊ธฐ, ์ •๊ทœํ™”, ๊ทธ๋ฃน ๋‚ด ์ •๋ ฌ, ํ”„๋กœ๊ทธ๋žจ ์‹คํ–‰, SQL ์‹คํ–‰, DB์™€ ์กฐ์ธ ๋“ฑ ์ด๋ฆ„์ด ์ž์ฒด์ ์œผ๋กœ ์„ค๋ช…๋˜๋Š” ๋ณ€ํ™˜์ด ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ž˜ํ”„๋Š” ๋งค๊ฐœ๋ณ€์ˆ˜ ์ „๋‹ฌ ๊ฐ€๋Šฅ์„ฑ์„ ํฌํ•จํ•˜์—ฌ ๋Ÿฐํƒ€์ž„ ๋งค๊ฐœ๋ณ€์ˆ˜๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์šด์˜ ์ฒด์ œ. ๊ทธ๋ž˜ํ”„์— ์ „๋‹ฌ๋œ ๋ฏธ๋ฆฌ ๋งŒ๋“ค์–ด์ง„ ๋งค๊ฐœ๋ณ€์ˆ˜ ์„ธํŠธ๊ฐ€ ์žˆ๋Š” ํŒŒ์ผ์„ ๋งค๊ฐœ๋ณ€์ˆ˜ ์„ธํŠธ(pset)๋ผ๊ณ  ํ•ฉ๋‹ˆ๋‹ค.

์˜ˆ์ƒ๋Œ€๋กœ Ab Initio GDE์—๋Š” EME(Enterprise Meta Environment)๋ผ๋Š” ์ž์ฒด ์ €์žฅ์†Œ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ฐœ๋ฐœ์ž๋Š” ๋กœ์ปฌ ๋ฒ„์ „์˜ ์ฝ”๋“œ๋กœ ์ž‘์—…ํ•˜๊ณ  ๊ฐœ๋ฐœ ๋‚ด์šฉ์„ ์ค‘์•™ ์ €์žฅ์†Œ์— ์ฒดํฌ์ธํ•  ์ˆ˜ ์žˆ๋Š” ๊ธฐํšŒ๋ฅผ ๊ฐ–์Šต๋‹ˆ๋‹ค.

๊ทธ๋ž˜ํ”„๋ฅผ ์‹คํ–‰ํ•˜๋Š” ๋™์•ˆ์ด๋‚˜ ์‹คํ–‰ํ•œ ํ›„์— ๋ณ€ํ™˜์„ ์—ฐ๊ฒฐํ•˜๋Š” ํ๋ฆ„์„ ํด๋ฆญํ•˜๊ณ  ์ด๋Ÿฌํ•œ ๋ณ€ํ™˜ ์‚ฌ์ด์— ์ „๋‹ฌ๋œ ๋ฐ์ดํ„ฐ๋ฅผ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Sber ์ €์šธ์ด ์žˆ์„ ๋•Œ. Hive ๋ฐ GreenPlum๊ณผ ํ•จ๊ป˜ Ab Initio ์‚ฌ์šฉ

๋˜ํ•œ ์ž„์˜์˜ ์ŠคํŠธ๋ฆผ์„ ํด๋ฆญํ•˜๊ณ  ์ถ”์  ์„ธ๋ถ€ ์ •๋ณด(๋ณ€ํ™˜์ด ์ˆ˜ํ–‰๋œ ๋ณ‘๋ ฌ ์ˆ˜, ์–ด๋–ค ๋ณ‘๋ ฌ์— ๋กœ๋“œ๋œ ๋ผ์ธ ๋ฐ ๋ฐ”์ดํŠธ ์ˆ˜)๋ฅผ ๋ณผ ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค.

Sber ์ €์šธ์ด ์žˆ์„ ๋•Œ. Hive ๋ฐ GreenPlum๊ณผ ํ•จ๊ป˜ Ab Initio ์‚ฌ์šฉ

๊ทธ๋ž˜ํ”„์˜ ์‹คํ–‰์„ ์—ฌ๋Ÿฌ ๋‹จ๊ณ„๋กœ ๋‚˜๋ˆ„๊ณ  ์ผ๋ถ€ ๋ณ€ํ™˜์„ ๋จผ์ €(XNUMX ๋‹จ๊ณ„์—์„œ) ์ˆ˜ํ–‰ํ•ด์•ผ ํ•˜๊ณ , ๋‹ค์Œ ๋ณ€ํ™˜์€ ์ฒซ ๋ฒˆ์งธ ๋‹จ๊ณ„์—์„œ, ๋‹ค์Œ ๋ณ€ํ™˜์€ ๋‘ ๋ฒˆ์งธ ๋‹จ๊ณ„์—์„œ ์ˆ˜ํ–‰ํ•ด์•ผ ํ•œ๋‹ค๋Š” ์ ์„ ํ‘œ์‹œํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๊ฐ ๋ณ€ํ™˜์— ๋Œ€ํ•ด ์†Œ์œ„ ๋ ˆ์ด์•„์›ƒ(์‹คํ–‰๋  ์œ„์น˜)์„ ์„ ํƒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ฆ‰, ๋ณ‘๋ ฌ์ด ์—†๊ฑฐ๋‚˜ ๋ณ‘๋ ฌ ์Šค๋ ˆ๋“œ์—์„œ ๊ฐœ์ˆ˜๋ฅผ ์ง€์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋™์‹œ์— ๋ณ€ํ™˜์ด ์‹คํ–‰๋  ๋•Œ Ab Initio๊ฐ€ ์ƒ์„ฑํ•˜๋Š” ์ž„์‹œ ํŒŒ์ผ์€ ์„œ๋ฒ„ ํŒŒ์ผ ์‹œ์Šคํ…œ๊ณผ HDFS ๋ชจ๋‘์— ๋ฐฐ์น˜๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๊ฐ ๋ณ€ํ™˜์—์„œ๋Š” ๊ธฐ๋ณธ ํ…œํ”Œ๋ฆฟ์„ ๊ธฐ๋ฐ˜์œผ๋กœ PDL์—์„œ ์‰˜๊ณผ ์œ ์‚ฌํ•œ ๊ณ ์œ ํ•œ ์Šคํฌ๋ฆฝํŠธ๋ฅผ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

PDL์„ ์‚ฌ์šฉํ•˜๋ฉด ๋ณ€ํ™˜ ๊ธฐ๋Šฅ์„ ํ™•์žฅํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ํŠนํžˆ ๋Ÿฐํƒ€์ž„์— ๋Ÿฐํƒ€์ž„ ๋งค๊ฐœ๋ณ€์ˆ˜์— ๋”ฐ๋ผ ์ž„์˜์˜ ์ฝ”๋“œ ์กฐ๊ฐ์„ ๋™์ ์œผ๋กœ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Ab Initio๋Š” ๋˜ํ•œ ์‰˜์„ ํ†ตํ•ด OS์™€์˜ ํ†ตํ•ฉ์ด ์ž˜ ๋ฐœ๋‹ฌ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. ํŠนํžˆ Sberbank๋Š” Linux ksh๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ์…ธ๊ณผ ๋ณ€์ˆ˜๋ฅผ ๊ตํ™˜ํ•˜์—ฌ ๊ทธ๋ž˜ํ”„ ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์…ธ์—์„œ Ab Initio ๊ทธ๋ž˜ํ”„ ์‹คํ–‰์„ ํ˜ธ์ถœํ•˜๊ณ  Ab Initio๋ฅผ ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Ab Initio GDE ์™ธ์—๋„ ๋‹ค์–‘ํ•œ ์ œํ’ˆ์ด ๋ฐฐ์†ก์— ํฌํ•จ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. ์šด์˜ ์ฒด์ œ๋ผ๊ณ  ๋ถˆ๋ฆฌ๋Š” ์ž์ฒด Co>Operation System์ด ์žˆ์Šต๋‹ˆ๋‹ค. ๋‹ค์šด๋กœ๋“œ ํ๋ฆ„์„ ์˜ˆ์•ฝํ•˜๊ณ  ๋ชจ๋‹ˆํ„ฐ๋งํ•  ์ˆ˜ ์žˆ๋Š” ์ œ์–ด>์„ผํ„ฐ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. Ab Initio GDE๊ฐ€ ํ—ˆ์šฉํ•˜๋Š” ๊ฒƒ๋ณด๋‹ค ๋” ์›์‹œ์ ์ธ ์ˆ˜์ค€์—์„œ ๊ฐœ๋ฐœ์„ ์ˆ˜ํ–‰ํ•˜๊ธฐ ์œ„ํ•œ ์ œํ’ˆ์ด ์žˆ์Šต๋‹ˆ๋‹ค.

MDW ํ”„๋ ˆ์ž„์›Œํฌ์— ๋Œ€ํ•œ ์„ค๋ช… ๋ฐ GreenPlum์— ๋Œ€ํ•œ ์‚ฌ์šฉ์ž ์ •์˜ ์ž‘์—…

ํ•ด๋‹น ์ œํ’ˆ๊ณผ ํ•จ๊ป˜ ๊ณต๊ธ‰์—…์ฒด๋Š” ๋ฐ์ดํ„ฐ ์›จ์–ดํ•˜์šฐ์Šค ๋˜๋Š” ๋ฐ์ดํ„ฐ ์ €์žฅ์†Œ๋ฅผ ์ฑ„์šฐ๋Š” ์ผ๋ฐ˜์ ์ธ ์ž‘์—…์„ ์ง€์›ํ•˜๋„๋ก ์„ค๊ณ„๋œ ๊ทธ๋ž˜ํ”„ ๊ตฌ์„ฑ๊ธฐ์ธ MDW(Metadata Driven Warehouse) ์ œํ’ˆ์„ ๊ณต๊ธ‰ํ•ฉ๋‹ˆ๋‹ค.

์—ฌ๊ธฐ์—๋Š” ์‚ฌ์šฉ์ž ์ •์˜(ํ”„๋กœ์ ํŠธ๋ณ„) ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ ํŒŒ์„œ์™€ ์ฆ‰์‹œ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ๊ธฐ์„ฑ ์ฝ”๋“œ ์ƒ์„ฑ๊ธฐ๊ฐ€ ํฌํ•จ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.

Sber ์ €์šธ์ด ์žˆ์„ ๋•Œ. Hive ๋ฐ GreenPlum๊ณผ ํ•จ๊ป˜ Ab Initio ์‚ฌ์šฉ
์ž…๋ ฅ์œผ๋กœ MDW๋Š” ๋ฐ์ดํ„ฐ ๋ชจ๋ธ, ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค(Oracle, Teradata ๋˜๋Š” Hive)์— ๋Œ€ํ•œ ์—ฐ๊ฒฐ์„ ์„ค์ •ํ•˜๊ธฐ ์œ„ํ•œ ๊ตฌ์„ฑ ํŒŒ์ผ ๋ฐ ๊ธฐํƒ€ ์„ค์ •์„ ๋ฐ›์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ํ”„๋กœ์ ํŠธ๋ณ„ ๋ถ€๋ถ„์€ ๋ชจ๋ธ์„ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ๋ฐฐํฌํ•ฉ๋‹ˆ๋‹ค. ์ œํ’ˆ์˜ ๊ธฐ๋ณธ ์ œ๊ณต ๋ถ€๋ถ„์€ ๋ชจ๋ธ ํ…Œ์ด๋ธ”์— ๋ฐ์ดํ„ฐ๋ฅผ ๋กœ๋“œํ•˜์—ฌ ๊ทธ๋ž˜ํ”„์™€ ๊ตฌ์„ฑ ํŒŒ์ผ์„ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค. ์ด ๊ฒฝ์šฐ ์—”ํ„ฐํ‹ฐ ์—…๋ฐ์ดํŠธ์— ๋Œ€ํ•œ ์ฆ๋ถ„ ์ž‘์—… ๋ฐ ์ดˆ๊ธฐํ™”์˜ ์—ฌ๋Ÿฌ ๋ชจ๋“œ์— ๋Œ€ํ•œ ๊ทธ๋ž˜ํ”„(๋ฐ pset)๊ฐ€ ์ƒ์„ฑ๋ฉ๋‹ˆ๋‹ค.

Hive์™€ RDBMS์˜ ๊ฒฝ์šฐ ์ดˆ๊ธฐํ™”์™€ ์ฆ๋ถ„ ๋ฐ์ดํ„ฐ ์—…๋ฐ์ดํŠธ๋ฅผ ์œ„ํ•ด ์„œ๋กœ ๋‹ค๋ฅธ ๊ทธ๋ž˜ํ”„๊ฐ€ ์ƒ์„ฑ๋ฉ๋‹ˆ๋‹ค.

Hive์˜ ๊ฒฝ์šฐ ๋“ค์–ด์˜ค๋Š” ๋ธํƒ€ ๋ฐ์ดํ„ฐ๋Š” ์—…๋ฐ์ดํŠธ ์ด์ „์— ํ…Œ์ด๋ธ”์— ์žˆ๋˜ ๋ฐ์ดํ„ฐ์™€ Ab Initio Join์„ ํ†ตํ•ด ์—ฐ๊ฒฐ๋ฉ๋‹ˆ๋‹ค. MDW(Hive ๋ฐ RDBMS ๋ชจ๋‘)์˜ ๋ฐ์ดํ„ฐ ๋กœ๋”๋Š” ๋ธํƒ€์—์„œ ์ƒˆ ๋ฐ์ดํ„ฐ๋ฅผ ์‚ฝ์ž…ํ•  ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ๊ธฐ๋ณธ ํ‚ค๊ฐ€ ๋ธํƒ€๋ฅผ ์ˆ˜์‹ ํ•œ ๋ฐ์ดํ„ฐ์˜ ๊ด€๋ จ ๊ธฐ๊ฐ„์„ ๋‹ซ์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ ๋ฐ์ดํ„ฐ์˜ ๋ณ€๊ฒฝ๋˜์ง€ ์•Š์€ ๋ถ€๋ถ„์„ ๋‹ค์‹œ ์ž‘์„ฑํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ Hive์—๋Š” ์‚ญ์ œ ๋˜๋Š” ์—…๋ฐ์ดํŠธ ์ž‘์—…์ด ์—†๊ธฐ ๋•Œ๋ฌธ์— ์ด ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

Sber ์ €์šธ์ด ์žˆ์„ ๋•Œ. Hive ๋ฐ GreenPlum๊ณผ ํ•จ๊ป˜ Ab Initio ์‚ฌ์šฉ

RDBMS์˜ ๊ฒฝ์šฐ, RDBMS์—๋Š” ์‹ค์ œ ์—…๋ฐ์ดํŠธ ๊ธฐ๋Šฅ์ด ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ์ฆ๋ถ„ ๋ฐ์ดํ„ฐ ์—…๋ฐ์ดํŠธ์— ๋Œ€ํ•œ ๊ทธ๋ž˜ํ”„๊ฐ€ ๋” ์ตœ์ ์œผ๋กœ ๋ณด์ž…๋‹ˆ๋‹ค.

Sber ์ €์šธ์ด ์žˆ์„ ๋•Œ. Hive ๋ฐ GreenPlum๊ณผ ํ•จ๊ป˜ Ab Initio ์‚ฌ์šฉ

์ˆ˜์‹ ๋œ ๋ธํƒ€๋Š” ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ์ค‘๊ฐ„ ํ…Œ์ด๋ธ”์— ๋กœ๋“œ๋ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฐ ๋‹ค์Œ ๋ธํƒ€๋Š” ์—…๋ฐ์ดํŠธ ์ด์ „์— ํ…Œ์ด๋ธ”์— ์žˆ๋˜ ๋ฐ์ดํ„ฐ์— ์—ฐ๊ฒฐ๋ฉ๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์ด๋Š” ์ƒ์„ฑ๋œ SQL ์ฟผ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ SQL์„ ์‚ฌ์šฉํ•˜์—ฌ ์ˆ˜ํ–‰๋ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฐ ๋‹ค์Œ SQL ๋ช…๋ น delete+insert๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ธํƒ€์˜ ์ƒˆ ๋ฐ์ดํ„ฐ๊ฐ€ ๋Œ€์ƒ ํ…Œ์ด๋ธ”์— ์‚ฝ์ž…๋˜๊ณ  ๊ธฐ๋ณธ ํ‚ค๊ฐ€ ๋ธํƒ€๋ฅผ ์ˆ˜์‹ ํ•œ ๋ฐ์ดํ„ฐ์˜ ๊ด€๋ จ ๊ธฐ๊ฐ„์ด ๋‹ซํž™๋‹ˆ๋‹ค.
๋ณ€๊ฒฝ๋˜์ง€ ์•Š์€ ๋ฐ์ดํ„ฐ๋ฅผ ๋‹ค์‹œ ์“ธ ํ•„์š”๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค.

๊ทธ๋ž˜์„œ ์šฐ๋ฆฌ๋Š” Hive์˜ ๊ฒฝ์šฐ Hive์— ์—…๋ฐ์ดํŠธ ๊ธฐ๋Šฅ์ด ์—†๊ธฐ ๋•Œ๋ฌธ์— MDW๊ฐ€ ์ „์ฒด ํ…Œ์ด๋ธ”์„ ๋‹ค์‹œ ์ž‘์„ฑํ•ด์•ผ ํ•œ๋‹ค๋Š” ๊ฒฐ๋ก ์— ๋„๋‹ฌํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์—…๋ฐ์ดํŠธํ•  ๋•Œ ๋ฐ์ดํ„ฐ๋ฅผ ์™„์ „ํžˆ ๋‹ค์‹œ ์“ฐ๋Š” ๊ฒƒ๋ณด๋‹ค ๋” ์ข‹์€ ๊ฒƒ์€ ์—†์Šต๋‹ˆ๋‹ค. ๋ฐ˜๋ฉด RDBMS์˜ ๊ฒฝ์šฐ ์ œํ’ˆ ์ž‘์„ฑ์ž๋Š” ํ…Œ์ด๋ธ” ์—ฐ๊ฒฐ ๋ฐ ์—…๋ฐ์ดํŠธ๋ฅผ SQL ์‚ฌ์šฉ์— ๋งก๊ธธ ํ•„์š”๊ฐ€ ์žˆ๋‹ค๊ณ  ํŒ๋‹จํ–ˆ์Šต๋‹ˆ๋‹ค.

Sberbank์˜ ํ”„๋กœ์ ํŠธ๋ฅผ ์œ„ํ•ด ์šฐ๋ฆฌ๋Š” GreenPlum์šฉ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๋กœ๋”์˜ ์žฌ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ์ƒˆ ๊ตฌํ˜„์„ ๋งŒ๋“ค์—ˆ์Šต๋‹ˆ๋‹ค. ์ด๋Š” MDW๊ฐ€ Teradata์šฉ์œผ๋กœ ์ƒ์„ฑํ•œ ๋ฒ„์ „์„ ๊ธฐ๋ฐ˜์œผ๋กœ ์ˆ˜ํ–‰๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ด์— ๊ฐ€์žฅ ๊ฐ€๊น๊ณ  ์ตœ์„ ์„ ๋‹คํ•œ ๊ฒƒ์€ Oracle์ด ์•„๋‹ˆ๋ผ Teradata์˜€์Šต๋‹ˆ๋‹ค. ์™œ๋ƒํ•˜๋ฉด... MPP ์‹œ์Šคํ…œ์ด๊ธฐ๋„ ํ•ฉ๋‹ˆ๋‹ค. Teradata์™€ GreenPlum์˜ ์ž‘์—… ๋ฐฉ์‹๊ณผ ๊ตฌ๋ฌธ์€ ์œ ์‚ฌํ•œ ๊ฒƒ์œผ๋กœ ๋‚˜ํƒ€๋‚ฌ์Šต๋‹ˆ๋‹ค.

๋‹ค์–‘ํ•œ RDBMS ๊ฐ„์˜ MDW ์ค‘์š”ํ•œ ์ฐจ์ด์ ์˜ ์˜ˆ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค. GreenPlum์—์„œ๋Š” Teradata์™€ ๋‹ฌ๋ฆฌ ํ…Œ์ด๋ธ”์„ ์ƒ์„ฑํ•  ๋•Œ ์ ˆ์„ ์ž‘์„ฑํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

distributed by

ํ…Œ๋ผ๋ฐ์ดํƒ€๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์“ฐ๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

delete <table> all

, ๊ทธ๋ฆฌ๊ณ  GreenPlum์—์„œ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์”๋‹ˆ๋‹ค.

delete from <table>

Oracle์—์„œ๋Š” ์ตœ์ ํ™” ๋ชฉ์ ์œผ๋กœ ๋‹ค์Œ์„ ์ž‘์„ฑํ•ฉ๋‹ˆ๋‹ค.

delete from t where rowid in (<ัะพะตะดะธะฝะตะฝะธะต t ั ะดะตะปัŒั‚ะพะน>)

, Teradata์™€ GreenPlum์ด ์ž‘์„ฑ

delete from t where exists (select * from delta where delta.pk=t.pk)

๋˜ํ•œ Ab Initio๊ฐ€ GreenPlum๊ณผ ํ•จ๊ป˜ ์ž‘๋™ํ•˜๋ ค๋ฉด Ab Initio ํด๋Ÿฌ์Šคํ„ฐ์˜ ๋ชจ๋“  ๋…ธ๋“œ์— GreenPlum ํด๋ผ์ด์–ธํŠธ๋ฅผ ์„ค์น˜ํ•ด์•ผ ํ–ˆ์Šต๋‹ˆ๋‹ค. ์ด๋Š” ํด๋Ÿฌ์Šคํ„ฐ์˜ ๋ชจ๋“  ๋…ธ๋“œ์—์„œ ๋™์‹œ์— GreenPlum์— ์—ฐ๊ฒฐํ–ˆ๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  GreenPlum์—์„œ ๋ณ‘๋ ฌ๋กœ ์ฝ๊ณ  ๊ฐ ๋ณ‘๋ ฌ Ab Initio ์Šค๋ ˆ๋“œ๊ฐ€ GreenPlum์—์„œ ๋ฐ์ดํ„ฐ์˜ ์ž์ฒด ๋ถ€๋ถ„์„ ์ฝ์œผ๋ ค๋ฉด SQL ์ฟผ๋ฆฌ์˜ "where" ์„น์…˜์— Ab Initio๊ฐ€ ์ดํ•ดํ•˜๋Š” ๊ตฌ์„ฑ์„ ๋ฐฐ์น˜ํ•ด์•ผ ํ–ˆ์Šต๋‹ˆ๋‹ค.

where ABLOCAL()

๋ณ€ํ™˜ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์—์„œ ์ฝ์€ ๋งค๊ฐœ๋ณ€์ˆ˜๋ฅผ ์ง€์ •ํ•˜์—ฌ ์ด ๊ตฌ์„ฑ์˜ ๊ฐ’์„ ๊ฒฐ์ •ํ•ฉ๋‹ˆ๋‹ค.

ablocal_expr=ยซstring_concat("mod(t.", string_filter_out("{$TABLE_KEY}","{}"), ",", (decimal(3))(number_of_partitions()),")=", (decimal(3))(this_partition()))ยป

, ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ปดํŒŒ์ผ๋ฉ๋‹ˆ๋‹ค.

mod(sk,10)=3

, ์ฆ‰. ๊ฐ ํŒŒํ‹ฐ์…˜์— ๋Œ€ํ•ด ๋ช…์‹œ์ ์ธ ํ•„ํ„ฐ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ GreenPlum์— ๋ฉ”์‹œ์ง€๋ฅผ ํ‘œ์‹œํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๋‹ค๋ฅธ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค(Teradata, Oracle)์˜ ๊ฒฝ์šฐ Ab Initio๋Š” ์ด ๋ณ‘๋ ฌํ™”๋ฅผ ์ž๋™์œผ๋กœ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Hive์™€ GreenPlum์˜ Ab Initio ์„ฑ๋Šฅ ๋น„๊ต

Sberbank๋Š” Hive ๋ฐ GreenPlum๊ณผ ๊ด€๋ จํ•˜์—ฌ MDW ์ƒ์„ฑ ๊ทธ๋ž˜ํ”„์˜ ์„ฑ๋Šฅ์„ ๋น„๊ตํ•˜๋Š” ์‹คํ—˜์„ ์ˆ˜ํ–‰ํ–ˆ์Šต๋‹ˆ๋‹ค. ์‹คํ—˜์˜ ์ผํ™˜์œผ๋กœ Hive์˜ ๊ฒฝ์šฐ Ab Initio์™€ ๋™์ผํ•œ ํด๋Ÿฌ์Šคํ„ฐ์— 5๊ฐœ์˜ ๋…ธ๋“œ๊ฐ€ ์žˆ์—ˆ๊ณ , GreenPlum์˜ ๊ฒฝ์šฐ ๋ณ„๋„์˜ ํด๋Ÿฌ์Šคํ„ฐ์— 4๊ฐœ์˜ ๋…ธ๋“œ๊ฐ€ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค. ์ €๊ฒƒ๋“ค. Hive๋Š” GreenPlum์— ๋น„ํ•ด ํ•˜๋“œ์›จ์–ด ์ด์ ์ด ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค.

์šฐ๋ฆฌ๋Š” Hive์™€ GreenPlum์—์„œ ๋™์ผํ•œ ๋ฐ์ดํ„ฐ ์—…๋ฐ์ดํŠธ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•˜๋Š” ๋‘ ์Œ์˜ ๊ทธ๋ž˜ํ”„๋ฅผ ๊ณ ๋ คํ–ˆ์Šต๋‹ˆ๋‹ค. ๋™์‹œ์— MDW ๊ตฌ์„ฑ๊ธฐ์— ์˜ํ•ด ์ƒ์„ฑ๋œ ๊ทธ๋ž˜ํ”„๊ฐ€ ์‹œ์ž‘๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

  • Hive ํ…Œ์ด๋ธ”์— ๋ฌด์ž‘์œ„๋กœ ์ƒ์„ฑ๋œ ๋ฐ์ดํ„ฐ์˜ ์ดˆ๊ธฐ ๋กœ๋“œ + ์ฆ๋ถ„ ๋กœ๋“œ
  • ๋™์ผํ•œ GreenPlum ํ…Œ์ด๋ธ”์— ๋ฌด์ž‘์œ„๋กœ ์ƒ์„ฑ๋œ ๋ฐ์ดํ„ฐ์˜ ์ดˆ๊ธฐ ๋กœ๋“œ + ์ฆ๋ถ„ ๋กœ๋“œ

๋‘ ๊ฒฝ์šฐ ๋ชจ๋‘(Hive ๋ฐ GreenPlum) ๋™์ผํ•œ Ab Initio ํด๋Ÿฌ์Šคํ„ฐ์—์„œ 10๊ฐœ์˜ ๋ณ‘๋ ฌ ์Šค๋ ˆ๋“œ์— ์—…๋กœ๋“œ๋ฅผ ์‹คํ–‰ํ–ˆ์Šต๋‹ˆ๋‹ค. Ab Initio๋Š” ๊ณ„์‚ฐ์„ ์œ„ํ•ด ์ค‘๊ฐ„ ๋ฐ์ดํ„ฐ๋ฅผ HDFS์— ์ €์žฅํ–ˆ์Šต๋‹ˆ๋‹ค(Ab Initio์˜ ๊ฒฝ์šฐ HDFS๋ฅผ ์‚ฌ์šฉํ•œ MFS ๋ ˆ์ด์•„์›ƒ์„ ์‚ฌ์šฉํ–ˆ์Šต๋‹ˆ๋‹ค). ๋‘ ๊ฒฝ์šฐ ๋ชจ๋‘ ๋ฌด์ž‘์œ„๋กœ ์ƒ์„ฑ๋œ ๋ฐ์ดํ„ฐ ํ•œ ์ค„์ด 200๋ฐ”์ดํŠธ๋ฅผ ์ฐจ์ง€ํ–ˆ์Šต๋‹ˆ๋‹ค.

๊ฒฐ๊ณผ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์•˜์Šต๋‹ˆ๋‹ค.

ํ•˜์ด๋ธŒ :

Hive์˜ ์ดˆ๊ธฐ ๋กœ๋”ฉ

์‚ฝ์ž…๋œ ํ–‰
+ 6 000 000
+ 60 000 000
+ 600 000 000

์ดˆ๊ธฐํ™” ๊ธฐ๊ฐ„
๋ช‡ ์ดˆ ๋งŒ์— ๋‹ค์šด๋กœ๋“œ
41
203
1 601

Hive์˜ ์ฆ๋ถ„ ๋กœ๋”ฉ

์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ํ–‰ ์ˆ˜
์‹คํ—˜ ์‹œ์ž‘ ์‹œ ๋ชฉํ‘œ ํ…Œ์ด๋ธ”
+ 6 000 000
+ 60 000 000
+ 600 000 000

์ ์šฉ๋˜๋Š” ๋ธํƒ€ ๋ผ์ธ ์ˆ˜
์‹คํ—˜ ์ค‘ ํƒ€๊ฒŸ ํ…Œ์ด๋ธ”
+ 6 000 000
+ 6 000 000
+ 6 000 000

์ฆ๋ถ„ ๊ธฐ๊ฐ„
๋ช‡ ์ดˆ ๋งŒ์— ๋‹ค์šด๋กœ๋“œ
88
299
2 541

๊ทธ๋ฆฐํ”Œ๋Ÿผ:

GreenPlum์˜ ์ดˆ๊ธฐ ๋กœ๋”ฉ

์‚ฝ์ž…๋œ ํ–‰
+ 6 000 000
+ 60 000 000
+ 600 000 000

์ดˆ๊ธฐํ™” ๊ธฐ๊ฐ„
๋ช‡ ์ดˆ ๋งŒ์— ๋‹ค์šด๋กœ๋“œ
72
360
3 631

GreenPlum์˜ ์ฆ๋ถ„ ๋กœ๋”ฉ

์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ํ–‰ ์ˆ˜
์‹คํ—˜ ์‹œ์ž‘ ์‹œ ๋ชฉํ‘œ ํ…Œ์ด๋ธ”
+ 6 000 000
+ 60 000 000
+ 600 000 000

์ ์šฉ๋˜๋Š” ๋ธํƒ€ ๋ผ์ธ ์ˆ˜
์‹คํ—˜ ์ค‘ ํƒ€๊ฒŸ ํ…Œ์ด๋ธ”
+ 6 000 000
+ 6 000 000
+ 6 000 000

์ฆ๋ถ„ ๊ธฐ๊ฐ„
๋ช‡ ์ดˆ ๋งŒ์— ๋‹ค์šด๋กœ๋“œ
159
199
321

Hive์™€ GreenPlum ๋ชจ๋‘์˜ ์ดˆ๊ธฐ ๋กœ๋”ฉ ์†๋„๋Š” ๋ฐ์ดํ„ฐ ์–‘์— ๋”ฐ๋ผ ์„ ํ˜•์ ์œผ๋กœ ๋‹ฌ๋ผ์ง€๋ฉฐ ๋” ๋‚˜์€ ํ•˜๋“œ์›จ์–ด๋กœ ์ธํ•ด GreenPlum๋ณด๋‹ค Hive๊ฐ€ ์•ฝ๊ฐ„ ๋” ๋น ๋ฆ…๋‹ˆ๋‹ค.

Hive์˜ ์ฆ๋ถ„ ๋กœ๋“œ ์—ญ์‹œ ๋Œ€์ƒ ํ…Œ์ด๋ธ”์—์„œ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ์ด์ „์— ๋กœ๋“œ๋œ ๋ฐ์ดํ„ฐ์˜ ๋ณผ๋ฅจ์— ์„ ํ˜•์ ์œผ๋กœ ์˜์กดํ•˜๋ฉฐ ๋ณผ๋ฅจ์ด ์ฆ๊ฐ€ํ•จ์— ๋”ฐ๋ผ ๋งค์šฐ ๋Š๋ฆฌ๊ฒŒ ์ง„ํ–‰๋ฉ๋‹ˆ๋‹ค. ์ด๋Š” ๋Œ€์ƒ ํ…Œ์ด๋ธ”์„ ์™„์ „ํžˆ ๋‹ค์‹œ ์ž‘์„ฑํ•ด์•ผ ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค. ์ด๋Š” ๊ฑฐ๋Œ€ํ•œ ํ…Œ์ด๋ธ”์— ์ž‘์€ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ์ ์šฉํ•˜๋Š” ๊ฒƒ์ด Hive์˜ ์ข‹์€ ์‚ฌ์šฉ ์‚ฌ๋ก€๊ฐ€ ์•„๋‹ˆ๋ผ๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค.

GreenPlum์˜ ์ฆ๋ถ„ ๋กœ๋“œ๋Š” ๋Œ€์ƒ ํ…Œ์ด๋ธ”์—์„œ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ์ด์ „์— ๋กœ๋“œ๋œ ๋ฐ์ดํ„ฐ์˜ ์–‘์— ๋”ฐ๋ผ ์•ฝํ•˜๊ฒŒ ๋‹ฌ๋ผ์ง€๋ฉฐ ๋งค์šฐ ๋น ๋ฅด๊ฒŒ ์ง„ํ–‰๋ฉ๋‹ˆ๋‹ค. ์ด๋Š” ์‚ญ์ œ ์ž‘์—…์„ ํ—ˆ์šฉํ•˜๋Š” SQL ์กฐ์ธ ๋ฐ GreenPlum ์•„ํ‚คํ…์ฒ˜ ๋•๋ถ„์— ๋ฐœ์ƒํ–ˆ์Šต๋‹ˆ๋‹ค.

๋”ฐ๋ผ์„œ GreenPlum์€ delete+insert ๋ฉ”์„œ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ธํƒ€๋ฅผ ์ถ”๊ฐ€ํ•˜์ง€๋งŒ Hive์—๋Š” ์‚ญ์ œ ๋˜๋Š” ์—…๋ฐ์ดํŠธ ์ž‘์—…์ด ์—†์œผ๋ฏ€๋กœ ์ฆ๋ถ„ ์—…๋ฐ์ดํŠธ ์ค‘์— ์ „์ฒด ๋ฐ์ดํ„ฐ ๋ฐฐ์—ด์„ ์™„์ „ํžˆ ๋‹ค์‹œ ์ž‘์„ฑํ•ด์•ผ ํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ตต์€ ๊ธ€์”จ๋กœ ๊ฐ•์กฐ ํ‘œ์‹œ๋œ ์…€์˜ ๋น„๊ต๋Š” ๋ฆฌ์†Œ์Šค ์ง‘์•ฝ์ ์ธ ๋‹ค์šด๋กœ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฐ€์žฅ ์ผ๋ฐ˜์ ์ธ ์˜ต์…˜์— ํ•ด๋‹นํ•˜๋ฏ€๋กœ ๊ฐ€์žฅ ์ž˜ ๋“œ๋Ÿฌ๋‚ฉ๋‹ˆ๋‹ค. ์ด ํ…Œ์ŠคํŠธ์—์„œ GreenPlum์ด Hive๋ฅผ 8๋ฐฐ๋‚˜ ์•ž์„ฐ๋‹ค๋Š” ๊ฒƒ์„ ์•Œ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๊ฑฐ์˜ ์‹ค์‹œ๊ฐ„ ๋ชจ๋“œ์—์„œ GreenPlum์„ ์‚ฌ์šฉํ•˜์—ฌ Ab Initio ์ž‘์—…

์ด ์‹คํ—˜์—์„œ๋Š” ๋ฌด์ž‘์œ„๋กœ ์ƒ์„ฑ๋œ ๋ฐ์ดํ„ฐ ์ฒญํฌ๋กœ ๊ฑฐ์˜ ์‹ค์‹œ๊ฐ„์œผ๋กœ GreenPlum ํ…Œ์ด๋ธ”์„ ์—…๋ฐ์ดํŠธํ•˜๋Š” Ab Initio์˜ ๊ธฐ๋Šฅ์„ ํ…Œ์ŠคํŠธํ•ฉ๋‹ˆ๋‹ค. ์šฐ๋ฆฌ๊ฐ€ ์ž‘์—…ํ•  GreenPlum ํ…Œ์ด๋ธ” dev42_1_db_usl.TESTING_SUBJ_org_finval์„ ๊ณ ๋ คํ•ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

์„ธ ๊ฐ€์ง€ Ab Initio ๊ทธ๋ž˜ํ”„๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ž‘์—…ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.

1) Graph Create_test_data.mp โ€“ 10๊ฐœ์˜ ๋ณ‘๋ ฌ ์Šค๋ ˆ๋“œ์— 6๊ฐœ์˜ ํ–‰์ด ์žˆ๋Š” HDFS์— ๋ฐ์ดํ„ฐ ํŒŒ์ผ์„ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค. ๋ฐ์ดํ„ฐ๋Š” ๋ฌด์ž‘์œ„์ด๋ฉฐ ๊ทธ ๊ตฌ์กฐ๋Š” ํ…Œ์ด๋ธ”์— ์‚ฝ์ž…๋˜๋„๋ก ๊ตฌ์„ฑ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.

Sber ์ €์šธ์ด ์žˆ์„ ๋•Œ. Hive ๋ฐ GreenPlum๊ณผ ํ•จ๊ป˜ Ab Initio ์‚ฌ์šฉ

Sber ์ €์šธ์ด ์žˆ์„ ๋•Œ. Hive ๋ฐ GreenPlum๊ณผ ํ•จ๊ป˜ Ab Initio ์‚ฌ์šฉ

2) ๊ทธ๋ž˜ํ”„ mdw_load.day_one.current.dev42_1_db_usl_testing_subj_org_finval.pset โ€“ 10๊ฐœ์˜ ๋ณ‘๋ ฌ ์Šค๋ ˆ๋“œ์—์„œ ํ…Œ์ด๋ธ”์— ๋ฐ์ดํ„ฐ ์‚ฝ์ž…์„ ์ดˆ๊ธฐํ™”ํ•˜์—ฌ MDW์—์„œ ์ƒ์„ฑ๋œ ๊ทธ๋ž˜ํ”„(๊ทธ๋ž˜ํ”„ (1)์—์„œ ์ƒ์„ฑ๋œ ํ…Œ์ŠคํŠธ ๋ฐ์ดํ„ฐ๊ฐ€ ์‚ฌ์šฉ๋จ)

Sber ์ €์šธ์ด ์žˆ์„ ๋•Œ. Hive ๋ฐ GreenPlum๊ณผ ํ•จ๊ป˜ Ab Initio ์‚ฌ์šฉ

3) ๊ทธ๋ž˜ํ”„ mdw_load.regular.current.dev42_1_db_usl_testing_subj_org_finval.pset โ€“ ๊ทธ๋ž˜ํ”„์—์„œ ์ƒ์„ฑ๋œ ์ƒˆ๋กœ ์ˆ˜์‹ ๋œ ๋ฐ์ดํ„ฐ(๋ธํƒ€)์˜ ์ผ๋ถ€๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ 10๊ฐœ์˜ ๋ณ‘๋ ฌ ์Šค๋ ˆ๋“œ์—์„œ ํ…Œ์ด๋ธ”์˜ ์ฆ๋ถ„ ์—…๋ฐ์ดํŠธ๋ฅผ ์œ„ํ•ด MDW์—์„œ ์ƒ์„ฑ๋œ ๊ทธ๋ž˜ํ”„(1)

Sber ์ €์šธ์ด ์žˆ์„ ๋•Œ. Hive ๋ฐ GreenPlum๊ณผ ํ•จ๊ป˜ Ab Initio ์‚ฌ์šฉ

NRT ๋ชจ๋“œ์—์„œ ์•„๋ž˜ ์Šคํฌ๋ฆฝํŠธ๋ฅผ ์‹คํ–‰ํ•ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

  • 6๊ฐœ์˜ ํ…Œ์ŠคํŠธ ๋ผ์ธ ์ƒ์„ฑ
  • ์ดˆ๊ธฐ ๋กœ๋“œ๋ฅผ ์ˆ˜ํ–‰ํ•˜์—ฌ ๋นˆ ํ…Œ์ด๋ธ”์— 6๊ฐœ์˜ ํ…Œ์ŠคํŠธ ํ–‰์„ ์‚ฝ์ž…ํ•ฉ๋‹ˆ๋‹ค.
  • ์ฆ๋ถ„ ๋‹ค์šด๋กœ๋“œ๋ฅผ 5ํšŒ ๋ฐ˜๋ณต
    • 6๊ฐœ์˜ ํ…Œ์ŠคํŠธ ๋ผ์ธ ์ƒ์„ฑ
    • 6๊ฐœ์˜ ํ…Œ์ŠคํŠธ ํ–‰์„ ํ…Œ์ด๋ธ”์— ์ฆ๋ถ„ ์‚ฝ์ž…ํ•ฉ๋‹ˆ๋‹ค(์ด ๊ฒฝ์šฐ valid_to_ts ๋งŒ๋ฃŒ ์‹œ๊ฐ„์€ ์ด์ „ ๋ฐ์ดํ„ฐ๋กœ ์„ค์ •๋˜๊ณ  ๋™์ผํ•œ ๊ธฐ๋ณธ ํ‚ค๋ฅผ ๊ฐ€์ง„ ์ตœ์‹  ๋ฐ์ดํ„ฐ๊ฐ€ ์‚ฝ์ž…๋ฉ๋‹ˆ๋‹ค).

์ด ์‹œ๋‚˜๋ฆฌ์˜ค๋Š” ํŠน์ • ๋น„์ฆˆ๋‹ˆ์Šค ์‹œ์Šคํ…œ์˜ ์‹ค์ œ ์šด์˜ ๋ชจ๋“œ๋ฅผ ์—๋ฎฌ๋ ˆ์ด์…˜ํ•ฉ๋‹ˆ๋‹ค. ์ฆ‰, ์ƒ๋‹นํžˆ ๋งŽ์€ ์–‘์˜ ์ƒˆ ๋ฐ์ดํ„ฐ๊ฐ€ ์‹ค์‹œ๊ฐ„์œผ๋กœ ๋‚˜ํƒ€๋‚˜๊ณ  ์ฆ‰์‹œ GreenPlum์— ์Ÿ์•„์ง‘๋‹ˆ๋‹ค.

์ด์ œ ์Šคํฌ๋ฆฝํŠธ์˜ ๋กœ๊ทธ๋ฅผ ์‚ดํŽด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

2020-06-04 11:49:11์— Create_test_data.input.pset ์‹œ์ž‘
2020-06-04 11:49:37์— Create_test_data.input.pset ์™„๋ฃŒ
42-1-2020 06:04:11์— mdw_load.day_one.current.dev49_37_db_usl_testing_subj_org_finval.pset๋ฅผ ์‹œ์ž‘ํ•˜์„ธ์š”.
42-1-2020 06:04:11์— mdw_load.day_one.current.dev50_42_db_usl_testing_subj_org_finval.pset ์™„๋ฃŒ
2020-06-04 11:50:42์— Create_test_data.input.pset ์‹œ์ž‘
2020-06-04 11:51:06์— Create_test_data.input.pset ์™„๋ฃŒ
42-1-2020 06:04:11์— mdw_load.regular.current.dev51_06_db_usl_testing_subj_org_finval.pset๋ฅผ ์‹œ์ž‘ํ•˜์„ธ์š”.
42-1-2020 06:04:11์— mdw_load.regular.current.dev53_41_db_usl_testing_subj_org_finval.pset ์™„๋ฃŒ
2020-06-04 11:53:41์— Create_test_data.input.pset ์‹œ์ž‘
2020-06-04 11:54:04์— Create_test_data.input.pset ์™„๋ฃŒ
42-1-2020 06:04:11์— mdw_load.regular.current.dev54_04_db_usl_testing_subj_org_finval.pset๋ฅผ ์‹œ์ž‘ํ•˜์„ธ์š”.
42-1-2020 06:04:11์— mdw_load.regular.current.dev56_51_db_usl_testing_subj_org_finval.pset ์™„๋ฃŒ
2020-06-04 11:56:51์— Create_test_data.input.pset ์‹œ์ž‘
2020-06-04 11:57:14์— Create_test_data.input.pset ์™„๋ฃŒ
42-1-2020 06:04:11์— mdw_load.regular.current.dev57_14_db_usl_testing_subj_org_finval.pset๋ฅผ ์‹œ์ž‘ํ•˜์„ธ์š”.
42-1-2020 06:04:11์— mdw_load.regular.current.dev59_55_db_usl_testing_subj_org_finval.pset ์™„๋ฃŒ
2020-06-04 11:59:55์— Create_test_data.input.pset ์‹œ์ž‘
2020-06-04 12:00:23์— Create_test_data.input.pset ์™„๋ฃŒ
42-1-2020 06:04:12์— mdw_load.regular.current.dev00_23_db_usl_testing_subj_org_finval.pset๋ฅผ ์‹œ์ž‘ํ•˜์„ธ์š”.
42-1-2020 06:04:12์— mdw_load.regular.current.dev03_23_db_usl_testing_subj_org_finval.pset ์™„๋ฃŒ
2020-06-04 12:03:23์— Create_test_data.input.pset ์‹œ์ž‘
2020-06-04 12:03:49์— Create_test_data.input.pset ์™„๋ฃŒ
42-1-2020 06:04:12์— mdw_load.regular.current.dev03_49_db_usl_testing_subj_org_finval.pset๋ฅผ ์‹œ์ž‘ํ•˜์„ธ์š”.
42-1-2020 06:04:12์— mdw_load.regular.current.dev06_46_db_usl_testing_subj_org_finval.pset ์™„๋ฃŒ

์ด ์‚ฌ์ง„์ด ๋‚˜์˜ต๋‹ˆ๋‹ค.

๊ทธ๋ž˜ํ”„
์‹œ์ž‘ ์‹œ๊ฐ„
์ข…๋ฃŒ ์‹œ๊ฐ„
๊ธธ์ด

Create_test_data.input.pset
04.06.2020 11 : 49 : 11
04.06.2020 11 : 49 : 37
00:00:26

mdw_load.day_one.current.
dev42_1_db_usl_testing_subj_org_finval.pset
04.06.2020 11 : 49 : 37
04.06.2020 11 : 50 : 42
00:01:05

Create_test_data.input.pset
04.06.2020 11 : 50 : 42
04.06.2020 11 : 51 : 06
00:00:24

mdw_load.regular.current.
dev42_1_db_usl_testing_subj_org_finval.pset
04.06.2020 11 : 51 : 06
04.06.2020 11 : 53 : 41
00:02:35

Create_test_data.input.pset
04.06.2020 11 : 53 : 41
04.06.2020 11 : 54 : 04
00:00:23

mdw_load.regular.current.
dev42_1_db_usl_testing_subj_org_finval.pset
04.06.2020 11 : 54 : 04
04.06.2020 11 : 56 : 51
00:02:47

Create_test_data.input.pset
04.06.2020 11 : 56 : 51
04.06.2020 11 : 57 : 14
00:00:23

mdw_load.regular.current.
dev42_1_db_usl_testing_subj_org_finval.pset
04.06.2020 11 : 57 : 14
04.06.2020 11 : 59 : 55
00:02:41

Create_test_data.input.pset
04.06.2020 11 : 59 : 55
04.06.2020 12 : 00 : 23
00:00:28

mdw_load.regular.current.
dev42_1_db_usl_testing_subj_org_finval.pset
04.06.2020 12 : 00 : 23
04.06.2020 12 : 03 : 23
00:03:00

Create_test_data.input.pset
04.06.2020 12 : 03 : 23
04.06.2020 12 : 03 : 49
00:00:26

mdw_load.regular.current.
dev42_1_db_usl_testing_subj_org_finval.pset
04.06.2020 12 : 03 : 49
04.06.2020 12 : 06 : 46
00:02:57

6๊ฐœ์˜ ์ฆ๋ถ„ ๋ผ์ธ์ด 000๋ถ„ ์•ˆ์— ์ฒ˜๋ฆฌ๋˜๋Š” ๊ฒƒ์„ ๋ณผ ์ˆ˜ ์žˆ๋Š”๋ฐ ์ด๋Š” ๋งค์šฐ ๋น ๋ฅธ ์†๋„์ž…๋‹ˆ๋‹ค.
๋Œ€์ƒ ํ…Œ์ด๋ธ”์˜ ๋ฐ์ดํ„ฐ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์ด ๋ถ„ํฌ๋˜์–ด ์žˆ๋Š” ๊ฒƒ์œผ๋กœ ๋‚˜ํƒ€๋‚ฌ์Šต๋‹ˆ๋‹ค.

select valid_from_ts, valid_to_ts, count(1), min(sk), max(sk) from dev42_1_db_usl.TESTING_SUBJ_org_finval group by valid_from_ts, valid_to_ts order by 1,2;

Sber ์ €์šธ์ด ์žˆ์„ ๋•Œ. Hive ๋ฐ GreenPlum๊ณผ ํ•จ๊ป˜ Ab Initio ์‚ฌ์šฉ
๊ทธ๋ž˜ํ”„๊ฐ€ ์‹œ์ž‘๋œ ์‹œ๊ฐ„์— ์‚ฝ์ž…๋œ ๋ฐ์ดํ„ฐ์˜ ๋Œ€์‘์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
์ด๋Š” Ab Initio์—์„œ ๋งค์šฐ ๋†’์€ ๋นˆ๋„๋กœ GreenPlum์— ๋ฐ์ดํ„ฐ ์ฆ๋ถ„ ๋กœ๋“œ๋ฅผ ์‹คํ–‰ํ•˜๊ณ  ์ด ๋ฐ์ดํ„ฐ๋ฅผ GreenPlum์— ์‚ฝ์ž…ํ•˜๋Š” ๋น ๋ฅธ ์†๋„๋ฅผ ๊ด€์ฐฐํ•  ์ˆ˜ ์žˆ์Œ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. ๋ฌผ๋ก  ๋‹ค๋ฅธ ETL ๋„๊ตฌ์™€ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ Ab Initio๋„ ์‹คํ–‰ ์‹œ "์‹œ์ž‘"ํ•˜๋Š” ๋ฐ ์‹œ๊ฐ„์ด ํ•„์š”ํ•˜๊ธฐ ๋•Œ๋ฌธ์— XNUMX์ดˆ์— ํ•œ ๋ฒˆ ์‹คํ–‰ํ•˜๋Š” ๊ฒƒ์€ ๋ถˆ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.

๊ฒฐ๋ก 

Ab Initio๋Š” ํ˜„์žฌ Sberbank์—์„œ ESS(Unified Semantic Data Layer)๋ฅผ ๊ตฌ์ถ•ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. ์ด ํ”„๋กœ์ ํŠธ์—๋Š” ๋‹ค์–‘ํ•œ ์€ํ–‰ ์‚ฌ์—…์ฒด ์ƒํƒœ์˜ ํ†ตํ•ฉ ๋ฒ„์ „์„ ๊ตฌ์ถ•ํ•˜๋Š” ์ž‘์—…์ด ํฌํ•จ๋ฉ๋‹ˆ๋‹ค. ์ •๋ณด๋Š” ๋‹ค์–‘ํ•œ ์†Œ์Šค์—์„œ ๋‚˜์˜ค๋ฉฐ ๊ทธ ๋ณต์ œ๋ณธ์€ Hadoop์—์„œ ์ค€๋น„๋ฉ๋‹ˆ๋‹ค. ๋น„์ฆˆ๋‹ˆ์Šค ์š”๊ตฌ์— ๋”ฐ๋ผ ๋ฐ์ดํ„ฐ ๋ชจ๋ธ์„ ์ค€๋น„ํ•˜๊ณ  ๋ฐ์ดํ„ฐ ๋ณ€ํ™˜์„ ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค. Ab Initio๋Š” ESN์— ์ •๋ณด๋ฅผ ๋กœ๋“œํ•˜๋ฉฐ ๋‹ค์šด๋กœ๋“œ๋œ ๋ฐ์ดํ„ฐ๋Š” ๋น„์ฆˆ๋‹ˆ์Šค ์ž์ฒด์— ๊ด€์‹ฌ์ด ์žˆ์„ ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ๋ฐ์ดํ„ฐ ๋งˆํŠธ ๊ตฌ์ถ•์„ ์œ„ํ•œ ์†Œ์Šค ์—ญํ• ๋„ ํ•ฉ๋‹ˆ๋‹ค. ๋™์‹œ์— ์ œํ’ˆ์˜ ๊ธฐ๋Šฅ์„ ํ†ตํ•ด ๋‹ค์–‘ํ•œ ์‹œ์Šคํ…œ(Hive, Greenplum, Teradata, Oracle)์„ ์ˆ˜์‹ ์ž๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ ๋น„์ฆˆ๋‹ˆ์Šค์— ํ•„์š”ํ•œ ๋‹ค์–‘ํ•œ ํ˜•์‹์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์‰ฝ๊ฒŒ ์ค€๋น„ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Ab Initio์˜ ๊ธฐ๋Šฅ์€ ๊ด‘๋ฒ”์œ„ํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ํฌํ•จ๋œ MDW ํ”„๋ ˆ์ž„์›Œํฌ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๊ธฐ์ˆ  ๋ฐ ๋น„์ฆˆ๋‹ˆ์Šค ๊ธฐ๋ก ๋ฐ์ดํ„ฐ๋ฅผ ์ฆ‰์‹œ ๊ตฌ์ถ•ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ฐœ๋ฐœ์ž์˜ ๊ฒฝ์šฐ Ab Initio๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋ฐ”ํ€ด๋ฅผ ์žฌ๋ฐœ๋ช…ํ•˜๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ ๋ฐ์ดํ„ฐ ์ž‘์—… ์‹œ ๊ธฐ๋ณธ์ ์œผ๋กœ ํ•„์š”ํ•œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์ธ ๊ธฐ์กด์˜ ๋งŽ์€ ๊ธฐ๋Šฅ ๊ตฌ์„ฑ ์š”์†Œ๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ €์ž๋Š” Sberbank SberProfi DWH/BigData ์ „๋ฌธ ์ปค๋ฎค๋‹ˆํ‹ฐ์˜ ์ „๋ฌธ๊ฐ€์ž…๋‹ˆ๋‹ค. SberProfi DWH/BigData ์ „๋ฌธ ์ปค๋ฎค๋‹ˆํ‹ฐ๋Š” Hadoop ์ƒํƒœ๊ณ„, Teradata, Oracle DB, GreenPlum์€ ๋ฌผ๋ก  BI ๋„๊ตฌ Qlik, SAP BO, Tableau ๋“ฑ๊ณผ ๊ฐ™์€ ์˜์—ญ์—์„œ ์—ญ๋Ÿ‰ ๊ฐœ๋ฐœ์„ ๋‹ด๋‹นํ•ฉ๋‹ˆ๋‹ค.

์ถœ์ฒ˜ : habr.com

์ฝ”๋ฉ˜ํŠธ๋ฅผ ์ถ”๊ฐ€