๊ฐ€์†์„ ์œ„ํ•ด GPU๋ฅผ ์‚ฌ์šฉํ•˜๋Š” BlazingSQL SQL ์—”์ง„ ์ฝ”๋“œ ์—ด๊ธฐ

๋ฐœํ‘œ SQL ์—”์ง„ ์†Œ์Šค ์—ด๊ธฐ ์ •๋ณด ๋ธ”๋ ˆ์ด์ง•SQL, GPU๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ ์†๋„๋ฅผ ๋†’์ž…๋‹ˆ๋‹ค. BlazingSQL์€ ๋ณธ๊ฒฉ์ ์ธ DBMS๋Š” ์•„๋‹ˆ์ง€๋งŒ ์ž‘์—… ์ธก๋ฉด์—์„œ ๋Œ€๊ทœ๋ชจ ๋ฐ์ดํ„ฐ ์„ธํŠธ๋ฅผ ๋ถ„์„ํ•˜๊ณ  ์ฒ˜๋ฆฌํ•˜๋Š” ์—”์ง„์œผ๋กœ ์ž๋ฆฌ์žก๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์•„ํŒŒ์น˜ ์ŠคํŒŒํฌ. ์ฝ”๋“œ๋Š” Python์œผ๋กœ ์ž‘์„ฑ๋˜์—ˆ์œผ๋ฉฐ, ์—ด๋ ค์žˆ๋‹ค Apache 2.0์— ๋”ฐ๋ผ ๋ผ์ด์„ผ์Šค๊ฐ€ ๋ถ€์—ฌ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

BlazingSQL์€ ํ…Œ์ด๋ธ” ํ˜•์‹(์˜ˆ: ๋กœ๊ทธ, NetFlow ํ†ต๊ณ„ ๋“ฑ)์œผ๋กœ ์ €์žฅ๋œ ๋Œ€๊ทœ๋ชจ ๋ฐ์ดํ„ฐ ์„ธํŠธ(์ˆ˜์‹ญ ๊ธฐ๊ฐ€๋ฐ”์ดํŠธ)์— ๋Œ€ํ•ด ๋‹จ์ผ ๋ถ„์„ ์ฟผ๋ฆฌ๋ฅผ ์ˆ˜ํ–‰ํ•˜๋Š” ๋ฐ ์ ํ•ฉํ•ฉ๋‹ˆ๋‹ค. BlazingSQL์€ HDSF ๋ฐ AWS S3์™€ ๊ฐ™์€ ๋„คํŠธ์›Œํฌ ๋ฐ ํด๋ผ์šฐ๋“œ ํŒŒ์ผ ์‹œ์Šคํ…œ์—์„œ ํ˜ธ์ŠคํŒ…๋˜๋Š” CSV ๋ฐ Apache Parquet ํ˜•์‹์˜ ์›์‹œ ํŒŒ์ผ์—์„œ ์ฟผ๋ฆฌ๋ฅผ ์‹คํ–‰ํ•˜์—ฌ ๊ฒฐ๊ณผ๋ฅผ GPU ๋ฉ”๋ชจ๋ฆฌ๋กœ ์ง์ ‘ ์ „์†กํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. GPU์˜ ์ž‘์—… ๋ณ‘๋ ฌํ™”์™€ ๋” ๋น ๋ฅธ ๋น„๋””์˜ค ๋ฉ”๋ชจ๋ฆฌ ์‚ฌ์šฉ ๋•๋ถ„์— BlazingSQL ์ฟผ๋ฆฌ๋Š” 20 ๋ฒˆ ์•„ํŒŒ์น˜ ์ŠคํŒŒํฌ๋ณด๋‹ค ๋น ๋ฆ…๋‹ˆ๋‹ค.

๊ฐ€์†์„ ์œ„ํ•ด GPU๋ฅผ ์‚ฌ์šฉํ•˜๋Š” BlazingSQL SQL ์—”์ง„ ์ฝ”๋“œ ์—ด๊ธฐ

GPU ์ž‘์—…์—๋Š” NVIDIA๊ฐ€ ์ฐธ์—ฌํ•˜์—ฌ ๊ฐœ๋ฐœ๋œ ์„ธํŠธ๊ฐ€ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. ์—ด๋‹ค ๋„์„œ๊ด€ ์—ฌ์šธ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์™„์ „ํžˆ GPU ์ธก์—์„œ ์‹คํ–‰๋˜๋Š” ๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ ๋ฐ ๋ถ„์„ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๋งŒ๋“ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค(์ œ๊ณต: ํŒŒ์ด์ฌ ์ธํ„ฐํŽ˜์ด์Šค ๋‚ฎ์€ ์ˆ˜์ค€์˜ CUDA ํ”„๋ฆฌ๋ฏธํ‹ฐ๋ธŒ๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ๊ณ„์‚ฐ์„ ๋ณ‘๋ ฌํ™”ํ•ฉ๋‹ˆ๋‹ค.

BlazingSQL์€ ๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ API ๋Œ€์‹  SQL์„ ์‚ฌ์šฉํ•˜๋Š” ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. cuUDF (๋ฒ ์ด์Šค์— ์•„ํŒŒ์น˜ ์• ๋กœ์šฐ) RAPIDS์—์„œ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. BlazingSQL์€ cuDF ์œ„์—์„œ ์‹คํ–‰๋˜๊ณ  cuIO ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋””์Šคํฌ์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ์ฝ๋Š” ์ถ”๊ฐ€ ๊ณ„์ธต์ž…๋‹ˆ๋‹ค. SQL ์ฟผ๋ฆฌ๋Š” cuUDF ํ•จ์ˆ˜์— ๋Œ€ํ•œ ํ˜ธ์ถœ๋กœ ๋ณ€ํ™˜๋˜์–ด GPU์— ๋ฐ์ดํ„ฐ๋ฅผ ๋กœ๋“œํ•˜๊ณ  ์ด์— ๋Œ€ํ•œ ๋ณ‘ํ•ฉ, ์ง‘๊ณ„ ๋ฐ ํ•„ํ„ฐ๋ง ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ˆ˜์ฒœ ๊ฐœ์˜ GPU์— ๊ฑธ์นœ ๋ถ„์‚ฐ ๊ตฌ์„ฑ ์ƒ์„ฑ์ด ์ง€์›๋ฉ๋‹ˆ๋‹ค.

BlazingSQL์€ ๋ฐ์ดํ„ฐ ์ž‘์—…์„ ํฌ๊ฒŒ ๋‹จ์ˆœํ™”ํ•ฉ๋‹ˆ๋‹ค. cuDF ํ•จ์ˆ˜๋ฅผ ์ˆ˜๋ฐฑ ๋ฒˆ ํ˜ธ์ถœํ•˜๋Š” ๋Œ€์‹  ํ•˜๋‚˜์˜ SQL ์ฟผ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. SQL์„ ์‚ฌ์šฉํ•˜๋ฉด ํŠน์ • ํ”„๋กœ์„ธ์„œ๋ฅผ ์ž‘์„ฑํ•˜๊ฑฐ๋‚˜ ์ถ”๊ฐ€ DBMS์— ๋ฐ์ดํ„ฐ๋ฅผ ์ค‘๊ฐ„ ๋กœ๋”ฉํ•˜์ง€ ์•Š๊ณ ๋„ RAPIDS๋ฅผ ๊ธฐ์กด ๋ถ„์„ ์‹œ์Šคํ…œ๊ณผ ํ†ตํ•ฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
RAPIDS์˜ ๋ชจ๋“  ๋ถ€๋ถ„๊ณผ ์™„์ „ํ•œ ํ˜ธํ™˜์„ฑ์„ ์œ ์ง€ํ•˜๋ฉด์„œ ๊ธฐ์กด ๊ธฐ๋Šฅ์„ SQL๋กœ ๋ณ€ํ™˜ํ•˜๊ณ  cuDF ์ˆ˜์ค€์˜ ์„ฑ๋Šฅ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์—๋Š” ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์™€์˜ ํ†ตํ•ฉ ์ง€์›์ด ํฌํ•จ๋ฉ๋‹ˆ๋‹ค. XGBoost ะธ cumML ๋ถ„์„ ๋ฐ ๊ธฐ๊ณ„ ํ•™์Šต ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•œ ๊ฒƒ์ž…๋‹ˆ๋‹ค.

์ถœ์ฒ˜ : opennet.ru

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