BI Engine ์†Œ๊ฐœ

BigQuery BI Engine์€ ๊ฐ€์žฅ ์ž์ฃผ ์‚ฌ์šฉํ•˜๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ์ง€๋Šฅ์ ์œผ๋กœ ์บ์‹œํ•˜์—ฌ BigQuery์˜ ์—ฌ๋Ÿฌ SQL ์ฟผ๋ฆฌ๋ฅผ ๊ฐ€์†ํ™”ํ•˜๋Š” ๋น ๋ฅธ ๋ฉ”๋ชจ๋ฆฌ ๋‚ด ๋ถ„์„ ์„œ๋น„์Šค์ž…๋‹ˆ๋‹ค. BI Engine์€ ๋ฐ์ดํ„ฐ ์‹œ๊ฐํ™” ๋„๊ตฌ๋กœ ์ž‘์„ฑ๋œ ๊ฒƒ์„ ํฌํ•จํ•˜์—ฌ ๋ชจ๋“  ์†Œ์Šค์—์„œ SQL ์ฟผ๋ฆฌ๋ฅผ ๊ฐ€์†ํ™”ํ•˜๊ณ  ์ƒ์‹œ ์ตœ์ ํ™”๋ฅผ ์œ„ํ•ด ์บ์‹œ๋œ ํ…Œ์ด๋ธ”์„ ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋ ‡๊ฒŒ ํ•˜๋ฉด ์ˆ˜๋™ ์กฐ์ • ๋˜๋Š” ๋ฐ์ดํ„ฐ ๊ณ„์ธตํ™” ์—†์ด ์ฟผ๋ฆฌ ์„ฑ๋Šฅ์„ ํ–ฅ์ƒ์‹œํ‚ฌ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํ…Œ์ด๋ธ”์„ ํด๋Ÿฌ์Šคํ„ฐ๋งํ•˜๊ณ  ํŒŒํ‹ฐ์…˜์„ ๋‚˜๋ˆŒ ์ˆ˜ ์žˆ์–ด ๋Œ€๊ทœ๋ชจ ํ…Œ์ด๋ธ”์˜ BI Engine ์„ฑ๋Šฅ์„ ๋”์šฑ ์ตœ์ ํ™”ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์˜ˆ๋ฅผ ๋“ค์–ด ๋Œ€์‹œ๋ณด๋“œ์— ์ง€๋‚œ ๋ถ„๊ธฐ์˜ ๋ฐ์ดํ„ฐ๋งŒ ํ‘œ์‹œ๋˜๋Š” ๊ฒฝ์šฐ ์ตœ์‹  ํŒŒํ‹ฐ์…˜๋งŒ ๋ฉ”๋ชจ๋ฆฌ์— ๋กœ๋“œ๋  ์ˆ˜ ์žˆ๋„๋ก ์‹œ๊ฐ„๋ณ„๋กœ ํ…Œ์ด๋ธ” ํŒŒํ‹ฐ์…˜์„ ๋‚˜๋ˆŒ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ ๊ตฌ์ฒดํ™”๋œ ๋ทฐ์™€ BI Engine์˜ ์ด์ ์„ ์กฐํ•ฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Š” ๊ตฌ์ฒดํ™”๋œ ๋ทฐ๋ฅผ ์‚ฌ์šฉํ•ด์„œ ๋ฐ์ดํ„ฐ๋ฅผ ์กฐ์ธํ•˜๊ณ  ๋‹จ์ˆœํ™”ํ•˜์—ฌ BI Engine์˜ ๊ตฌ์กฐ๋ฅผ ์ตœ์ ํ™”ํ•˜๋Š” ๋ฐ ํŠนํžˆ ํšจ๊ณผ์ ์ž…๋‹ˆ๋‹ค.

BI Engine์€ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์ด์ ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

  • BigQuery API ํ˜ธํ™˜์„ฑ: BI Engine์€ BigQuery API์™€ ์ง์ ‘ ํ†ตํ•ฉ๋ฉ๋‹ˆ๋‹ค. REST ๋˜๋Š” JDBC ๋ฐ ODBC ๋“œ๋ผ์ด๋ฒ„์™€ ๊ฐ™์€ ํ‘œ์ค€ ๋ฉ”์ปค๋‹ˆ์ฆ˜์„ ํ†ตํ•ด BigQuery API๋กœ ์ž‘๋™ํ•˜๋Š” ๋ชจ๋“  BI ์†”๋ฃจ์…˜ ๋˜๋Š” ์ปค์Šคํ…€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์€ ์ˆ˜์ • ์—†์ด BI Engine์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ๋ฒกํ„ฐํ™”๋œ ๋Ÿฐํƒ€์ž„: ์‹คํ–‰ ์—”์ง„์—์„œ ๋ฒกํ„ฐํ™”๋œ ์ฒ˜๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋ฐ์ดํ„ฐ ๋ฐฐ์น˜๋ฅผ ํ•œ ๋ฒˆ์— ์ž‘์—…ํ•˜์—ฌ ์ตœ์‹  CPU ์•„ํ‚คํ…์ฒ˜๋ฅผ ๋ณด๋‹ค ํšจ์œจ์ ์œผ๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. BI Engine์€ ๋˜ํ•œ ๊ณ ๊ธ‰ ๋ฐ์ดํ„ฐ ์ธ์ฝ”๋”ฉ, ํŠนํžˆ ์‚ฌ์ „ ์‹คํ–‰ ๊ธธ์ด ์ธ์ฝ”๋”ฉ์„ ์‚ฌ์šฉํ•˜์—ฌ ๋ฉ”๋ชจ๋ฆฌ ๋‚ด ๋ ˆ์ด์–ด์— ์ €์žฅ๋œ ๋ฐ์ดํ„ฐ๋ฅผ ์ถ”๊ฐ€๋กœ ์••์ถ•ํ•ฉ๋‹ˆ๋‹ค.
  • ์›ํ™œํ•œ ํ†ตํ•ฉ: BI Engine์€ ์Šน์ธ๋œ ๋ทฐ, ์—ด ์ˆ˜์ค€ ๋ณด์•ˆ, ๋ฐ์ดํ„ฐ ๋งˆ์Šคํ‚น์„ ํฌํ•จํ•œ BigQuery ๊ธฐ๋Šฅ ๋ฐ ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ์™€ ํ•จ๊ป˜ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค.
  • ์˜ˆ์•ฝ ํ• ๋‹น: BI Engine ์˜ˆ์•ฝ์€ ๊ฐ ํ”„๋กœ์ ํŠธ ๋ฐ ๋ฆฌ์ „์˜ ๋ฉ”๋ชจ๋ฆฌ ํ• ๋‹น์„ ๋ณ„๋„๋กœ ๊ด€๋ฆฌํ•ฉ๋‹ˆ๋‹ค. BI Engine์€ ์ฟผ๋ฆฌ๋˜๊ณ  ํ•„์š”ํ•œ ์—ด๊ณผ ํŒŒํ‹ฐ์…˜ ๋ถ€๋ถ„๋งŒ ์บ์‹œํ•ฉ๋‹ˆ๋‹ค. ์„ ํ˜ธ ํ…Œ์ด๋ธ”์„ ์‚ฌ์šฉํ•˜์—ฌ BI Engine ๊ฐ€์†์„ ์‚ฌ์šฉํ•˜๋Š” ํ…Œ์ด๋ธ”์„ ์ง€์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋Œ€๋ถ€๋ถ„์˜ ์กฐ์ง์—์„œ BI Engine์€ BI Engine ๊ฐ€์†์„ ์œ„ํ•œ ์šฉ๋Ÿ‰์„ ์˜ˆ์•ฝํ•ด์•ผ ํ•˜๋Š” ๊ฒฐ์ œ ๊ด€๋ฆฌ์ž๊ฐ€ ์‚ฌ์šฉ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค. ์ž์„ธํ•œ ๋‚ด์šฉ์€ BI Engine ์šฉ๋Ÿ‰ ์˜ˆ์•ฝ์„ ์ฐธ๊ณ ํ•˜์„ธ์š”.

BI Engine ์‚ฌ์šฉ ์‚ฌ๋ก€

BI Engine์€ BI ๋Œ€์‹œ๋ณด๋“œ์— ์‚ฌ์šฉ๋˜๋Š” ์ฟผ๋ฆฌ๋ฅผ ํฌํ•จํ•˜์—ฌ ๋งŽ์€ SQL ์ฟผ๋ฆฌ๋ฅผ ๋Œ€ํญ ๊ฐ€์†ํ™”ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ฟผ๋ฆฌ์— ํ•„์ˆ˜์ ์ธ ํ…Œ์ด๋ธ”์„ ์‹๋ณ„ํ•œ ๋‹ค์Œ ์ด๋ฅผ ๊ธฐ๋ณธ ์„ค์ • ํ…Œ์ด๋ธ”๋กœ ํ‘œ์‹œํ•˜๋ฉด ๊ฐ€์žฅ ํšจ๊ณผ์ ์œผ๋กœ ๊ฐ€์†ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. BI Engine์„ ์‚ฌ์šฉํ•˜๋ ค๋ฉด ๋ฆฌ์ „์—์„œ ์˜ˆ์•ฝ์„ ๋งŒ๋“ค๊ณ  ํฌ๊ธฐ๋ฅผ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค. BigQuery๊ฐ€ ํ”„๋กœ์ ํŠธ์˜ ์‚ฌ์šฉ ํŒจํ„ด์— ๋”ฐ๋ผ ์บ์‹œํ•  ํ…Œ์ด๋ธ”์„ ๊ฒฐ์ •ํ•˜๋„๋ก ํ•˜๊ฑฐ๋‚˜ ๋‹ค๋ฅธ ํŠธ๋ž˜ํ”ฝ์ด ๊ฐ€์†์„ ๋ฐฉํ•ดํ•˜์ง€ ๋ชปํ•˜๋„๋ก ํŠน์ • ํ…Œ์ด๋ธ”์„ ์ง€์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

BI Engine์€ ๋‹ค์Œ ์‚ฌ์šฉ ์‚ฌ๋ก€์— ์œ ์šฉํ•ฉ๋‹ˆ๋‹ค.

  • BI ๋„๊ตฌ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ฐ์ดํ„ฐ๋ฅผ ๋ถ„์„ํ•˜๋Š” ๊ฒฝ์šฐ: BI Engine์€ BigQuery ์ฝ˜์†”, Looker Studio, Tableau์™€ ๊ฐ™์€ BI ๋„๊ตฌ, ํด๋ผ์ด์–ธํŠธ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ, API, ODBC ๋˜๋Š” JDBC ์ปค๋„ฅํ„ฐ์—์„œ ์‹คํ–‰๋˜๋Š”์ง€ ์—ฌ๋ถ€์— ๊ด€๊ณ„์—†์ด BigQuery ์ฟผ๋ฆฌ๋ฅผ ๊ฐ€์†ํ™”ํ•ฉ๋‹ˆ๋‹ค. ๊ธฐ๋ณธ ์ œ๊ณต ์—ฐ๊ฒฐ(API) ๋˜๋Š” ์ปค๋„ฅํ„ฐ๋ฅผ ํ†ตํ•ด BigQuery์— ์—ฐ๊ฒฐ๋œ ๋Œ€์‹œ๋ณด๋“œ์˜ ์„ฑ๋Šฅ์„ ํฌ๊ฒŒ ํ–ฅ์ƒ์‹œํ‚ฌ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ์ž์ฃผ ์ฟผ๋ฆฌ๋˜๋Š” ํ…Œ์ด๋ธ”์ด ์žˆ๋Š” ๊ฒฝ์šฐ: BI Engine์„ ์‚ฌ์šฉํ•˜๋ฉด ๊ฐ€์†ํ™”ํ•  ์„ ํ˜ธ ํ…Œ์ด๋ธ”์„ ์ง€์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ๋ฐฉ๋ฒ•์€ ํ…Œ์ด๋ธ”์˜ ํ•˜์œ„ ์ง‘ํ•ฉ์ด ๋” ์ž์ฃผ ์ฟผ๋ฆฌ๋˜๊ฑฐ๋‚˜ ๊ฐ€์‹œ์„ฑ์ด ๋†’์€ ๋Œ€์‹œ๋ณด๋“œ์— ์‚ฌ์šฉ๋˜๋Š” ๊ฒฝ์šฐ์— ์œ ์šฉํ•ฉ๋‹ˆ๋‹ค.

BI Engine์€ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์‚ฌ์šฉ์ž์˜ ๋‹ˆ์ฆˆ์— ๋งž์ง€ ์•Š์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  • ์ฟผ๋ฆฌ์— ์™€์ผ๋“œ ์นด๋“œ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ: ์™€์ผ๋“œ ์นด๋“œ ํ…Œ์ด๋ธ”์„ ์ฐธ์กฐํ•˜๋Š” ์ฟผ๋ฆฌ๋Š” BI Engine์—์„œ ์ง€์›๋˜์ง€ ์•Š์œผ๋ฉฐ ๊ฐ€์†ํ™”์˜ ์ด์ ์„ ๋ˆ„๋ฆด ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.
  • BI Engine์—์„œ ์ง€์›ํ•˜์ง€ ์•Š๋Š” BigQuery ๊ธฐ๋Šฅ์ด ํ•„์š”ํ•œ ๊ฒฝ์šฐ: BI Engine์€ ๋Œ€๋ถ€๋ถ„์˜ SQL ํ•จ์ˆ˜์™€ ์—ฐ์‚ฐ์ž๋ฅผ ์ง€์›ํ•˜์ง€๋งŒ, ์™ธ๋ถ€ ํ…Œ์ด๋ธ”, ํ–‰ ์ˆ˜์ค€ ๋ณด์•ˆ, SQL์ด ์•„๋‹Œ ์‚ฌ์šฉ์ž ์ •์˜ ํ•จ์ˆ˜ ๋“ฑ BI Engine์—์„œ ์ง€์›ํ•˜์ง€ ์•Š๋Š” ๊ธฐ๋Šฅ์ด ์žˆ์Šต๋‹ˆ๋‹ค.

BI Engine ๊ณ ๋ ค์‚ฌํ•ญ

BI Engine ๊ตฌ์„ฑ ๋ฐฉ๋ฒ•์„ ๊ฒฐ์ •ํ•  ๋•Œ ๋‹ค์Œ์„ ๊ณ ๋ คํ•ฉ๋‹ˆ๋‹ค.

ํŠน์ • ์ฟผ๋ฆฌ์˜ ๊ฐ€์†ํ™” ๋ณด์žฅ

์ฟผ๋ฆฌ ์ง‘ํ•ฉ์ด ๊ฐ€์†ํ™”๋˜๋„๋ก ํ•˜๋ ค๋ฉด ์ „์šฉ BI Engine ์˜ˆ์•ฝ์œผ๋กœ ๋ณ„๋„์˜ ํ”„๋กœ์ ํŠธ๋ฅผ ๋งŒ๋“œ์„ธ์š”. ๋จผ์ € ์ฟผ๋ฆฌ์— ํ•„์š”ํ•œ ์ปดํ“จํŒ… ์šฉ๋Ÿ‰์„ ์ถ”์ •ํ•œ ๋‹ค์Œ ํ•ด๋‹น ํ…Œ์ด๋ธ”์„ BI Engine์˜ ๊ธฐ๋ณธ ํ…Œ์ด๋ธ”๋กœ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค.

์กฐ์ธ ์ตœ์†Œํ™”

BI Engine์€ ์‚ฌ์ „ ์กฐ์ธ๋˜์—ˆ๊ฑฐ๋‚˜ ์‚ฌ์ „ ์ง‘๊ณ„๋œ ๋ฐ์ดํ„ฐ ๊ทธ๋ฆฌ๊ณ  ์กฐ์ธ ์ˆ˜๊ฐ€ ์ ์€ ์ฟผ๋ฆฌ์—์„œ ์ตœ์ ์˜ ์„ฑ๋Šฅ์„ ๋ฐœํœ˜ํ•ฉ๋‹ˆ๋‹ค. ํ•œ์ชฝ ์กฐ์ธ์ด ํฌ๊ณ  ๋‹ค๋ฅธ ์ชฝ์€ ์ž‘์€ ๊ฒฝ์šฐ(์˜ˆ: ์ž‘์€ ์ธก์ •๊ธฐ์ค€ ํ…Œ์ด๋ธ”๊ณผ ์กฐ์ธ๋œ ํฐ ํŒฉํŠธ ํ…Œ์ด๋ธ”์„ ์ฟผ๋ฆฌํ•˜๋Š” ๊ฒฝ์šฐ)์— ํŠนํžˆ ์ž˜ ์—ฐ๋™๋ฉ๋‹ˆ๋‹ค. BI Engine์„ ์กฐ์ธ์„ ์ˆ˜ํ–‰ํ•˜๋Š” ๊ตฌ์ฒดํ™”๋œ ๋ทฐ์™€ ๊ฒฐํ•ฉํ•˜์—ฌ ํฐ ๋‹จ์ผ ํ”Œ๋žซ ํ…Œ์ด๋ธ”์„ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ๋ฐฉ์‹์—์„œ๋Š” ๋™์ผํ•œ ์กฐ์ธ์„ ๊ฐ ์ฟผ๋ฆฌ์— ๋Œ€ํ•ด ์ˆ˜ํ–‰ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์ตœ์ ์˜ ์ฟผ๋ฆฌ ์„ฑ๋Šฅ์„ ์œ„ํ•ด ์˜ค๋ž˜๋œ ๊ตฌ์ฒดํ™”๋œ ๋ทฐ๊ฐ€ ๊ถŒ์žฅ๋ฉ๋‹ˆ๋‹ค.

BI Engine์˜ ์˜ํ–ฅ ์ดํ•ด

BI Engine ์‚ฌ์šฉ์„ ์ดํ•ดํ•˜๋ ค๋ฉด Cloud Monitoring์œผ๋กœ BI Engine ๋ชจ๋‹ˆํ„ฐ๋ง์„ ์ฐธ์กฐํ•˜๊ฑฐ๋‚˜ INFORMATION_SCHEMA.BI_CAPACITIES ๋ฐ INFORMATION_SCHEMA.BI_CAPACITY_CHANGES ๋ทฐ๋ฅผ ์ฟผ๋ฆฌํ•˜์„ธ์š”. ๊ฐ€์žฅ ์ •ํ™•ํ•œ ๋น„๊ต๋ฅผ ์–ป๊ธฐ ์œ„ํ•ด์„œ๋Š” BigQuery์—์„œ ์บ์‹œ๋œ ๊ฒฐ๊ณผ ์‚ฌ์šฉ ์˜ต์…˜์„ ์‚ฌ์šฉ ์ค‘์ง€ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ž์„ธํ•œ ๋‚ด์šฉ์€ ์บ์‹œ๋œ ์ฟผ๋ฆฌ ๊ฒฐ๊ณผ ์‚ฌ์šฉ์„ ์ฐธ์กฐํ•˜์„ธ์š”.

์„ ํ˜ธ ํ…Œ์ด๋ธ”

BI Engine ์„ ํ˜ธ ํ…Œ์ด๋ธ”์„ ์‚ฌ์šฉํ•˜๋ฉด BI Engine ๊ฐ€์†์„ ์ง€์ •๋œ ํ…Œ์ด๋ธ” ์ง‘ํ•ฉ์œผ๋กœ ์ œํ•œํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋‹ค๋ฅธ ๋ชจ๋“  ํ…Œ์ด๋ธ”์— ๋Œ€ํ•œ ์ฟผ๋ฆฌ๋Š” ์ผ๋ฐ˜ BigQuery ์Šฌ๋กฏ์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ์„ ํ˜ธ ํ…Œ์ด๋ธ”์„ ์‚ฌ์šฉํ•˜๋ฉด ๋น„์ฆˆ๋‹ˆ์Šค์— ์ค‘์š”ํ•œ ๊ฒƒ์œผ๋กœ ์‹๋ณ„๋œ ํ…Œ์ด๋ธ”๊ณผ ๋Œ€์‹œ๋ณด๋“œ๋งŒ ๊ฐ€์†ํ™”ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

ํ”„๋กœ์ ํŠธ์— ๋ชจ๋“  ์„ ํ˜ธ ํ…Œ์ด๋ธ”์„ ๋ณด๊ด€ํ•  ์ˆ˜ ์žˆ์„ ๋งŒํผ RAM์ด ์ถฉ๋ถ„ํ•˜์ง€ ์•Š์€ ๊ฒฝ์šฐ BI Engine์€ ์ตœ๊ทผ์— ์•ก์„ธ์Šคํ•˜์ง€ ์•Š์€ ํŒŒํ‹ฐ์…˜๊ณผ ์—ด์„ ์˜คํ”„๋กœ๋“œํ•ฉ๋‹ˆ๋‹ค. ์ด ํ”„๋กœ์„ธ์Šค๋Š” ๊ฐ€์†์ด ํ•„์š”ํ•œ ์ƒˆ ์ฟผ๋ฆฌ์— ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ํ™•๋ณดํ•ฉ๋‹ˆ๋‹ค.

์„ ํ˜ธ ํ…Œ์ด๋ธ” ์ œํ•œ์‚ฌํ•ญ

BI Engine ์„ ํ˜ธ ํ…Œ์ด๋ธ”์—๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์ œํ•œ์‚ฌํ•ญ์ด ์žˆ์Šต๋‹ˆ๋‹ค.

  • ์„ ํ˜ธ ํ…Œ์ด๋ธ” ์˜ˆ์•ฝ ๋ชฉ๋ก์— ๋ทฐ๋ฅผ ์ถ”๊ฐ€ํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. BI Engine ์„ ํ˜ธ ํ…Œ์ด๋ธ”์€ ํ…Œ์ด๋ธ”๋งŒ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค.
  • ๊ตฌ์ฒดํ™”๋œ ๋ทฐ๋กœ์˜ ์ฟผ๋ฆฌ๋Š” ๊ตฌ์ฒดํ™”๋œ ๋ทฐ์™€ ๊ธฐ๋ณธ ํ…Œ์ด๋ธ”์ด ๋ชจ๋‘ ์„ ํ˜ธ ํ…Œ์ด๋ธ” ๋ชฉ๋ก์— ์žˆ๋Š” ๊ฒฝ์šฐ์—๋งŒ ๊ฐ€์†ํ™”๋ฉ๋‹ˆ๋‹ค.
  • ๊ฐ€์†ํ™”๋ฅผ ์œ„ํ•œ ํŒŒํ‹ฐ์…˜ ๋˜๋Š” ์—ด ์ง€์ •์€ ์ง€์›๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
  • JSON ์œ ํ˜• ์—ด์€ ์ง€์›๋˜์ง€ ์•Š์œผ๋ฉฐ BI Engine์œผ๋กœ ๊ฐ€์†ํ™”๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
  • ์—ฌ๋Ÿฌ ํ…Œ์ด๋ธ”์— ์•ก์„ธ์Šคํ•˜๋Š” ์ฟผ๋ฆฌ๋Š” ๋ชจ๋“  ํ…Œ์ด๋ธ”์ด ์„ ํ˜ธ ํ…Œ์ด๋ธ”์ธ ๊ฒฝ์šฐ์—๋งŒ ๊ฐ€์†ํ™”๋ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด JOIN์ด ์žˆ๋Š” ์ฟผ๋ฆฌ์˜ ๋ชจ๋“  ํ…Œ์ด๋ธ”์ด ๊ฐ€์†์„ ์›ํ•˜๋Š” ํ…Œ์ด๋ธ” ๋ชฉ๋ก์— ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์„ ํ˜ธ ๋ชฉ๋ก์— ํ•˜๋‚˜์˜ ํ…Œ์ด๋ธ”์ด ์—†์–ด๋„ ์ฟผ๋ฆฌ๋Š” BI Engine์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.
  • Google Cloud ์ฝ˜์†”์—์„œ๋Š” ๊ณต๊ฐœ ๋ฐ์ดํ„ฐ์„ธํŠธ๊ฐ€ ์ง€์›๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๊ณต๊ฐœ ํ…Œ์ด๋ธ”์„ ์„ ํ˜ธ ํ…Œ์ด๋ธ”๋กœ ์ถ”๊ฐ€ํ•˜๋ ค๋ฉด API ๋˜๋Š” DDL์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

์ œํ•œ์‚ฌํ•ญ

BigQuery BI Engine์—๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์ œํ•œ์‚ฌํ•ญ์ด ์žˆ์Šต๋‹ˆ๋‹ค.

์กฐ์ธ

BI Engine์€ ํŠน์ • ์œ ํ˜•์˜ ์กฐ์ธ ์ฟผ๋ฆฌ๋ฅผ ๊ฐ€์†ํ™”ํ•ฉ๋‹ˆ๋‹ค. ๊ฐ€์†์€ INNER ๋ฐ LEFT OUTER JOINS๋ฅผ ํฌํ•จํ•˜๋Š” ๋ฆฌํ”„ ์ˆ˜์ค€ ์„œ๋ธŒ ์ฟผ๋ฆฌ์—์„œ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค. ํ•˜๋‚˜์˜ ํฐ ํŒฉํŠธ ํ…Œ์ด๋ธ”์€ ์ตœ๋Œ€ 4๊ฐœ์˜ ์ž‘์€ "์ธก์ •๊ธฐ์ค€" ํ…Œ์ด๋ธ”๊ณผ ์กฐ์ธ๋ฉ๋‹ˆ๋‹ค. ์†Œ๊ทœ๋ชจ ์ธก์ •๊ธฐ์ค€ ํ…Œ์ด๋ธ”์—๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์ œํ•œ์‚ฌํ•ญ์ด ์žˆ์Šต๋‹ˆ๋‹ค.

  • ํ–‰์ด 5๋ฐฑ๋งŒ ๊ฐœ ๋ฏธ๋งŒ
  • ํฌ๊ธฐ ํ•œ๋„:
    • ํŒŒํ‹ฐ์…˜์„ ๋‚˜๋ˆ„์ง€ ์•Š์€ ํ…Œ์ด๋ธ”: 5GiB ์ดํ•˜
    • ํŒŒํ‹ฐ์…˜์„ ๋‚˜๋ˆˆ ํ…Œ์ด๋ธ”: ์ฐธ์กฐ๋œ ํŒŒํ‹ฐ์…˜์ด 1GB ์ดํ•˜

์œˆ๋„์šฐ ํ•จ์ˆ˜

๋ถ„์„ ํ•จ์ˆ˜๋ผ๊ณ ๋„ ํ•˜๋Š” ์œˆ๋„์šฐ ํ•จ์ˆ˜์—๋Š” BigQuery BI Engine์— ์˜ํ•ด ๊ฐ€์†ํ™”๋  ๋•Œ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์ œํ•œ์‚ฌํ•ญ์ด ์ ์šฉ๋ฉ๋‹ˆ๋‹ค.

  • ์ž…๋ ฅ ๋‹จ๊ณ„์— ์œˆ๋„์šฐ ํ•จ์ˆ˜๊ฐ€ ์—†์œผ๋ฉด BigQuery BI Engine์—์„œ ์œˆ๋„์šฐ ํ•จ์ˆ˜๋ฅผ ๊ฐ€์†ํ™”ํ•ฉ๋‹ˆ๋‹ค. ์ด ๊ฒฝ์šฐ INFORMATION_SCHEMA.JOBS ๋ทฐ์—์„œ bi_engine_statistics.acceleration_mode๋ฅผ FULL_INPUT์œผ๋กœ ๋ณด๊ณ ํ•ฉ๋‹ˆ๋‹ค.
  • ์ž…๋ ฅ ๋‹จ๊ณ„์— ์œˆ๋„์šฐ ํ•จ์ˆ˜๊ฐ€ ์žˆ๋Š” ์ฟผ๋ฆฌ์˜ ์ž…๋ ฅ ๋‹จ๊ณ„๋Š” BI Engine์— ์˜ํ•ด ๊ฐ€์†ํ™”๋˜์ง€๋งŒ BI Engine ์œˆ๋„์šฐ ํ•จ์ˆ˜ ์ œํ•œ์‚ฌํ•ญ์— ์„ค๋ช…๋œ ์ œํ•œ์‚ฌํ•ญ์ด ์ ์šฉ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์ด ๊ฒฝ์šฐ ์ž…๋ ฅ ์Šคํ…Œ์ด์ง€๋‚˜ ์ „์ฒด ์ฟผ๋ฆฌ๋Š” BI Engine์—์„œ ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค. ์ด ๊ฒฝ์šฐ INFORMATION_SCHEMA.JOBS ๋ทฐ์—์„œ bi_engine_statistics.acceleration_mode๋ฅผ FULL_INPUT ๋˜๋Š” FULL_QUERY๋กœ ๋ณด๊ณ ํ•ฉ๋‹ˆ๋‹ค.

BiEngineStatistics ํ•„๋“œ์— ๋Œ€ํ•œ ์ž์„ธํ•œ ๋‚ด์šฉ์€ ์ž‘์—… ์ฐธ์กฐ๋ฅผ ํ™•์ธํ•˜์„ธ์š”.

BI Engine ์œˆ๋„์šฐ ํ•จ์ˆ˜ ์ œํ•œ์‚ฌํ•ญ

์œˆ๋„์šฐ ํ•จ์ˆ˜๊ฐ€ ์žˆ๋Š” ์ฟผ๋ฆฌ๋Š” ๋‹ค์Œ ์กฐ๊ฑด์ด ๋ชจ๋‘ ์ถฉ์กฑ๋˜๋Š” ๊ฒฝ์šฐ์—๋งŒ BI Engine์—์„œ ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค.

  • ์ฟผ๋ฆฌ๋Š” ํ…Œ์ด๋ธ” ํ•˜๋‚˜๋งŒ ์Šค์บ”ํ•ฉ๋‹ˆ๋‹ค.
    • ์ด ํ…Œ์ด๋ธ”์€ ํŒŒํ‹ฐ์…˜์„ ๋‚˜๋ˆ„์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
    • ํ…Œ์ด๋ธ”์—๋Š” ํ–‰์ด 5๋ฐฑ๋งŒ ๊ฐœ ๋ฏธ๋งŒ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ์ฟผ๋ฆฌ์— JOIN ์—ฐ์‚ฐ์ž๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค.
  • ์Šค์บ”๋œ ํ…Œ์ด๋ธ” ํฌ๊ธฐ์™€ ์œˆ๋„์šฐ ํ•จ์ˆ˜ ์—ฐ์‚ฐ์ž ์ˆ˜๋ฅผ ๊ณฑํ•œ ๊ฐ’์€ 300MiB๋ฅผ ์ดˆ๊ณผํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

OVER ์ ˆ์ด ๋™์ผํ•˜๊ณ  ์ง์ ‘ ์ž…๋ ฅ์ด ๋™์ผํ•œ ์œˆ๋„์šฐ ํ•จ์ˆ˜ 2๊ฐœ์—์„œ ๊ฐ™์€ ์œˆ๋„์šฐ ํ•จ์ˆ˜ ์—ฐ์‚ฐ์ž๋ฅผ ๊ณต์œ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

  • SELECT ROW_NUMBER() OVER (ORDER BY x), SUM(x) OVER (ORDER BY x) FROM my_table์—๋Š” ์œˆ๋„์šฐ ํ•จ์ˆ˜ ์—ฐ์‚ฐ์ž๊ฐ€ ํ•˜๋‚˜๋งŒ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ๋‘ ํ•จ์ˆ˜์˜ OVER ์ ˆ์ด ๋‹ค๋ฅด๋ฏ€๋กœ SELECT ROW_NUMBER() OVER (ORDER BY x), SUM(x) OVER (PARTITION BY y ORDER BY x) FROM my_table์—๋Š” ์œˆ๋„์šฐ ํ•จ์ˆ˜ ์—ฐ์‚ฐ์ž๊ฐ€ ๋‘ ๊ฐœ์ž…๋‹ˆ๋‹ค.
  • SELECT ROW_NUMBER() OVER (ORDER BY x) FROM (SELECT SUM(x) OVER (ORDER BY x) AS x FROM my_table)์—๋Š” ์œˆ๋„์šฐ ํ•จ์ˆ˜ ์—ฐ์‚ฐ์ž๊ฐ€ ๋‘ ๊ฐœ ์žˆ๋Š”๋ฐ, OVER ์ ˆ์ด ๋™์ผํ•ด ๋ณด์ด๋”๋ผ๋„ ๋‘ ํ•จ์ˆ˜๋Š” ๋‹ค๋ฅธ ์ง์—… ์ž…๋ ฅ์„ ๊ฐ€์ง€๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค.

์ง€์›๋˜๋Š” ์œˆ๋„์šฐ ํ•จ์ˆ˜

๋‹ค์Œ ์ฐธ์กฐ๋œ ์œˆ๋„์šฐ ํ•จ์ˆ˜๊ฐ€ ์ง€์›๋ฉ๋‹ˆ๋‹ค.

  • ANY_VALUE
  • AVG
  • BIT_AND
  • BIT_OR
  • BIT_XOR
  • CORR
  • COUNT
  • COUNTIF
  • COVAR_POP
  • COVAR_SAMP
  • CUME_DIST
  • DENSE_RANK
  • FIRST_VALUE
  • LAG
  • LAST_VALUE
  • LEAD
  • LOGICAL_AND
  • LOGICAL_OR
  • MAX
  • MIN
  • NTH_VALUE
  • NTILE
  • PERCENT_RANK
  • PERCENTILE_CONT
  • PERCENTILE_DISC
  • RANK
  • ROW_NUMBER
  • ST_CLUSTERDBSCAN
  • STDDEV_POP
  • STDDEV_SAMP
  • STDDEV
  • STRING_AGG
  • SUM
  • VAR_POP
  • VAR_SAMP
  • VARIANCE

์œˆ๋„์šฐ ํ•จ์ˆ˜๊ฐ€ ์ง€์›๋˜์ง€ ์•Š์œผ๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์˜ค๋ฅ˜๊ฐ€ ํ‘œ์‹œ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋ถ„์„ ํ•จ์ˆ˜๊ฐ€ ๋‹ค๋ฅธ ์—ฐ์‚ฐ์ž์™€ ํ˜ธํ™˜๋˜์ง€ ์•Š๊ฑฐ๋‚˜ ์ž…๋ ฅ์ด ๋„ˆ๋ฌด ํผ

๊ธฐํƒ€ BI Engine ์ œํ•œ์‚ฌํ•ญ

BI Engine ๊ฐ€์†ํ™”๋Š” ๋‹ค์Œ ๊ธฐ๋Šฅ์— ์‚ฌ์šฉํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.

  • JavaScript UDF
  • BigLake ํ…Œ์ด๋ธ”์„ ๋น„๋กฏํ•œ ์™ธ๋ถ€ ํ…Œ์ด๋ธ”
  • JSON ๋ฐ์ดํ„ฐ ์ฟผ๋ฆฌ - ์˜ค๋ฅ˜ ๋ฉ”์‹œ์ง€: JSON ๋„ค์ดํ‹ฐ๋ธŒ ์œ ํ˜•์€ ์ง€์›๋˜์ง€ ์•Š์Œ
  • ์˜๊ตฌ BigQuery ํ…Œ์ด๋ธ”์— ๊ฒฐ๊ณผ ์“ฐ๊ธฐ
  • BigQuery ๋ณ€๊ฒฝ ๋ฐ์ดํ„ฐ ์บก์ฒ˜๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์‚ฝ์ž…/์—…๋ฐ์ดํŠธ(upsert)๊ฐ€ ํฌํ•จ๋œ ํ…Œ์ด๋ธ”
  • ํŠธ๋žœ์žญ์…˜
  • 1GiB๊ฐ€ ๋„˜๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ๋ฐ˜ํ™˜ํ•˜๋Š” ์ฟผ๋ฆฌ. ์ง€์—ฐ ์‹œ๊ฐ„์— ๋ฏผ๊ฐํ•œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ๊ฒฝ์šฐ ์‘๋‹ต ํฌ๊ธฐ๊ฐ€ 1MiB ๋ฏธ๋งŒ์ธ ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค.
  • ํ–‰ ์ˆ˜์ค€ ๋ณด์•ˆ
  • SEARCH ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜๊ฑฐ๋‚˜ ๊ฒ€์ƒ‰ ์ƒ‰์ธ์œผ๋กœ ์ตœ์ ํ™”๋œ ์ฟผ๋ฆฌ

์ง€์›๋˜์ง€ ์•Š๋Š” ๊ธฐ๋Šฅ์˜ ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•

BigQuery BI Engine์—์„œ ์ผ๋ถ€ SQL ๊ธฐ๋Šฅ์€ ์ง€์›๋˜์ง€ ์•Š์ง€๋งŒ ๋‹ค์Œ์˜ ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  1. BigQuery์—์„œ ์ฟผ๋ฆฌ๋ฅผ ์ž‘์„ฑํ•ฉ๋‹ˆ๋‹ค.
  2. ์ฟผ๋ฆฌ ๊ฒฐ๊ณผ๋ฅผ ํ…Œ์ด๋ธ”์— ์ €์žฅํ•ฉ๋‹ˆ๋‹ค.
  3. ์ฟผ๋ฆฌ๋ฅผ ์˜ˆ์•ฝํ•˜์—ฌ ํ…Œ์ด๋ธ”์„ ์ •๊ธฐ์ ์œผ๋กœ ์—…๋ฐ์ดํŠธํ•ฉ๋‹ˆ๋‹ค. 1์‹œ๊ฐ„๋งˆ๋‹ค ๋˜๋Š” ๋งค์ผ ์ƒˆ๋กœ๊ณ ์นจ์„ ํ•˜๋Š” ๊ฒƒ์ด ๊ฐ€์žฅ ์ ํ•ฉํ•ฉ๋‹ˆ๋‹ค. 1๋ถ„๋งˆ๋‹ค ์ƒˆ๋กœ๊ณ ์นจํ•˜๋ฉด ์บ์‹œ๊ฐ€ ๋„ˆ๋ฌด ์ž์ฃผ ๋ฌดํšจํ™”๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  4. ์„ฑ๋Šฅ์ด ์ค‘์š”ํ•œ ์ฟผ๋ฆฌ์—์„œ ์ด ํ…Œ์ด๋ธ”์„ ์ฐธ์กฐํ•˜์„ธ์š”.

ํ• ๋‹น๋Ÿ‰ ๋ฐ ํ•œ๋„

BI Engine์— ์ ์šฉ๋˜๋Š” ํ• ๋‹น๋Ÿ‰ ๋ฐ ํ•œ๋„๋Š” BigQuery ํ• ๋‹น๋Ÿ‰ ๋ฐ ํ•œ๋„๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.

๊ฐ€๊ฒฉ ์ฑ…์ •

BI Engine ์šฉ๋Ÿ‰์— ๋Œ€ํ•ด ์ƒ์„ฑํ•œ ์˜ˆ์•ฝ ๋น„์šฉ์ด ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค. BI Engine ๊ฐ€๊ฒฉ ์ฑ…์ •์— ๋Œ€ํ•œ ์ž์„ธํ•œ ๋‚ด์šฉ์€ BigQuery ๊ฐ€๊ฒฉ ์ฑ…์ • ํŽ˜์ด์ง€๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.

๋‹ค์Œ ๋‹จ๊ณ„