Google์˜ BigQuery๊ฐ€ ๋ฐ์ดํ„ฐ ๋ถ„์„์„ ๋ฏผ์ฃผํ™”ํ•œ ๋ฐฉ๋ฒ• 2 ๋ถ€

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

XNUMX๋ถ€ ์ฝ๊ธฐ

Google์˜ BigQuery๊ฐ€ ๋ฐ์ดํ„ฐ ๋ถ„์„์„ ๋ฏผ์ฃผํ™”ํ•œ ๋ฐฉ๋ฒ• 2 ๋ถ€

๋ฐ์ดํ„ฐ ๊ด€๋ฆฌ

๊ฐ•๋ ฅํ•œ ๋ฐ์ดํ„ฐ ๊ฑฐ๋ฒ„๋„Œ์Šค๋Š” ํŠธ์œ„ํ„ฐ ์—”์ง€๋‹ˆ์–ด๋ง์˜ ํ•ต์‹ฌ ์›์น™์ž…๋‹ˆ๋‹ค. BigQuery๋ฅผ ํ”Œ๋žซํผ์— ๊ตฌํ˜„ํ•˜๋ฉด์„œ ๋ฐ์ดํ„ฐ ๊ฒ€์ƒ‰, ์•ก์„ธ์Šค ์ œ์–ด, ๋ณด์•ˆ ๋ฐ ๊ฐœ์ธ์ •๋ณด ๋ณดํ˜ธ์— ์ค‘์ ์„ ๋‘ก๋‹ˆ๋‹ค.

๋ฐ์ดํ„ฐ๋ฅผ ๊ฒ€์ƒ‰ํ•˜๊ณ  ๊ด€๋ฆฌํ•˜๊ธฐ ์œ„ํ•ด ๋ฐ์ดํ„ฐ ์•ก์„ธ์Šค ๊ณ„์ธต์„ ํ™•์žฅํ–ˆ์Šต๋‹ˆ๋‹ค. DAL) ์˜จํ”„๋ ˆ๋ฏธ์Šค ๋ฐ Google Cloud ๋ฐ์ดํ„ฐ ๋ชจ๋‘๋ฅผ ์œ„ํ•œ ๋„๊ตฌ๋ฅผ ์ œ๊ณตํ•˜์—ฌ ์‚ฌ์šฉ์ž์—๊ฒŒ ๋‹จ์ผ ์ธํ„ฐํŽ˜์ด์Šค์™€ API๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ๊ตฌ๊ธ€๋กœ์„œ ๋ฐ์ดํ„ฐ ์นดํƒˆ๋กœ๊ทธ ์ผ๋ฐ˜ ๊ฐ€์šฉ์„ฑ์„ ํ–ฅํ•ด ๋‚˜์•„๊ฐ€๊ณ  ์žˆ์œผ๋ฏ€๋กœ ์‚ฌ์šฉ์ž์—๊ฒŒ ์—ด ๊ฒ€์ƒ‰๊ณผ ๊ฐ™์€ ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•˜๊ธฐ ์œ„ํ•ด ํ”„๋กœ์ ํŠธ์— ํฌํ•จํ•  ์˜ˆ์ •์ž…๋‹ˆ๋‹ค.

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

  • ๋„๋ฉ”์ธ ์ œํ•œ ๊ณต์œ : ์‚ฌ์šฉ์ž๊ฐ€ BigQuery ๋ฐ์ดํ„ฐ ์„ธํŠธ๋ฅผ Twitter ์™ธ๋ถ€ ์‚ฌ์šฉ์ž์™€ ๊ณต์œ ํ•˜์ง€ ๋ชปํ•˜๋„๋ก ํ•˜๋Š” ๋ฒ ํƒ€ ๊ธฐ๋Šฅ์ž…๋‹ˆ๋‹ค.
  • VPC ์„œ๋น„์Šค ์ œ์–ด: ๋ฐ์ดํ„ฐ ์œ ์ถœ์„ ๋ฐฉ์ง€ํ•˜๊ณ  ์‚ฌ์šฉ์ž๊ฐ€ ์•Œ๋ ค์ง„ IP ์ฃผ์†Œ ๋ฒ”์œ„์—์„œ BigQuery์— ์•ก์„ธ์Šคํ•˜๋„๋ก ์š”๊ตฌํ•˜๋Š” ์ œ์–ด์ž…๋‹ˆ๋‹ค.

๋ณด์•ˆ์„ ์œ„ํ•ด AAA(์ธ์ฆ, ๊ถŒํ•œ ๋ถ€์—ฌ ๋ฐ ๊ฐ์‚ฌ) ์š”๊ตฌ ์‚ฌํ•ญ์„ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ๊ตฌํ˜„ํ–ˆ์Šต๋‹ˆ๋‹ค.

  • ์ธ์ฆ: ์ž„์‹œ ์š”์ฒญ์—๋Š” GCP ์‚ฌ์šฉ์ž ๊ณ„์ •์„ ์‚ฌ์šฉํ•˜๊ณ  ํ”„๋กœ๋•์…˜ ์š”์ฒญ์—๋Š” ์„œ๋น„์Šค ๊ณ„์ •์„ ์‚ฌ์šฉํ–ˆ์Šต๋‹ˆ๋‹ค.
  • ์Šน์ธ: ๊ฐ ๋ฐ์ดํ„ฐ ์„ธํŠธ์—๋Š” ์†Œ์œ ์ž ์„œ๋น„์Šค ๊ณ„์ •๊ณผ ๋…์ž ๊ทธ๋ฃน์ด ํ•„์š”ํ–ˆ์Šต๋‹ˆ๋‹ค.
  • ๊ฐ์‚ฌ: ์‰ฌ์šด ๋ถ„์„์„ ์œ„ํ•ด ์ž์„ธํ•œ ์ฟผ๋ฆฌ ์‹คํ–‰ ์ •๋ณด๊ฐ€ ํฌํ•จ๋œ BigQuery Stackdriver ๋กœ๊ทธ๋ฅผ BigQuery ๋ฐ์ดํ„ฐ ์„ธํŠธ๋กœ ๋‚ด๋ณด๋ƒˆ์Šต๋‹ˆ๋‹ค.

Twitter ์‚ฌ์šฉ์ž์˜ ๊ฐœ์ธ ๋ฐ์ดํ„ฐ๊ฐ€ ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ์ฒ˜๋ฆฌ๋˜๋„๋ก ํ•˜๋ ค๋ฉด ๋ชจ๋“  BigQuery ๋ฐ์ดํ„ฐ์„ธํŠธ๋ฅผ ๋“ฑ๋กํ•˜๊ณ , ๊ฐœ์ธ ๋ฐ์ดํ„ฐ์— ์ฃผ์„์„ ๋‹ฌ๊ณ , ์ ์ ˆํ•œ ์ €์žฅ์„ ์œ ์ง€ํ•˜๊ณ , ์‚ฌ์šฉ์ž๊ฐ€ ์‚ญ์ œํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ์‚ญ์ œ(์Šคํฌ๋ ˆ์ดํ•‘)ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

์šฐ๋ฆฌ๋Š” ๊ตฌ๊ธ€์„ ๋ณด์•˜๋‹ค ํด๋ผ์šฐ๋“œ ๋ฐ์ดํ„ฐ ์†์‹ค ๋ฐฉ์ง€ API๋Š” ๊ธฐ๊ณ„ ํ•™์Šต์„ ์‚ฌ์šฉํ•˜์—ฌ ๋ฏผ๊ฐํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ๋ถ„๋ฅ˜ํ•˜๊ณ  ํŽธ์ง‘ํ•˜์ง€๋งŒ ์ •ํ™•์„ฑ ๋•Œ๋ฌธ์— ๋ฐ์ดํ„ฐ ์„ธํŠธ์— ์ˆ˜๋™์œผ๋กœ ์ฃผ์„์„ ์ถ”๊ฐ€ํ•˜๊ธฐ๋กœ ๊ฒฐ์ •ํ–ˆ์Šต๋‹ˆ๋‹ค. ์šฐ๋ฆฌ๋Š” Data Loss Prevention API๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์‚ฌ์šฉ์ž ์ •์˜ ์ฃผ์„์„ ๊ฐ•ํ™”ํ•  ๊ณ„ํš์ž…๋‹ˆ๋‹ค.

Twitter์—์„œ๋Š” BigQuery์˜ ๋ฐ์ดํ„ฐ์„ธํŠธ์— ๋Œ€ํ•ด ๋„ค ๊ฐ€์ง€ ๊ฐœ์ธ์ •๋ณด ๋ณดํ˜ธ ์นดํ…Œ๊ณ ๋ฆฌ๋ฅผ ๋งŒ๋“ค์—ˆ์Šต๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์— ๋ฏผ๊ฐ๋„ ๋‚ด๋ฆผ์ฐจ์ˆœ์œผ๋กœ ๋‚˜์—ด๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.

  • ๋งค์šฐ ๋ฏผ๊ฐํ•œ ๋ฐ์ดํ„ฐ ์„ธํŠธ๋Š” ์ตœ์†Œ ๊ถŒํ•œ ์›์น™์— ๋”ฐ๋ผ ํ•„์š”์— ๋”ฐ๋ผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ฐ ๋ฐ์ดํ„ฐ ์„ธํŠธ์—๋Š” ๋ณ„๋„์˜ ๋…์ž ๊ทธ๋ฃน์ด ์žˆ์œผ๋ฉฐ ๊ฐœ๋ณ„ ๊ณ„์ •๋ณ„๋กœ ์‚ฌ์šฉ๋Ÿ‰์„ ์ถ”์ ํ•ฉ๋‹ˆ๋‹ค.
  • ์ค‘๊ฐ„ ๋ฏผ๊ฐ๋„ ๋ฐ์ดํ„ฐ ์„ธํŠธ(์†”ํ‹ฐ๋“œ ํ•ด์‹ฑ์„ ์‚ฌ์šฉํ•œ ๋‹จ๋ฐฉํ–ฅ ๊ฐ€๋ช…)์—๋Š” ๊ฐœ์ธ ์‹๋ณ„ ์ •๋ณด(PII)๊ฐ€ ํฌํ•จ๋˜์–ด ์žˆ์ง€ ์•Š์œผ๋ฉฐ ๋” ๋งŽ์€ ์ง์› ๊ทธ๋ฃน์ด ์•ก์„ธ์Šคํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Š” ๊ฐœ์ธ ์ •๋ณด ๋ณดํ˜ธ ๋ฌธ์ œ์™€ ๋ฐ์ดํ„ฐ ์œ ์šฉ์„ฑ ๊ฐ„์˜ ์ ์ ˆํ•œ ๊ท ํ˜•์ž…๋‹ˆ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด ์ง์›๋“ค์€ ์‹ค์ œ ์‚ฌ์šฉ์ž๊ฐ€ ๋ˆ„๊ตฌ์ธ์ง€ ์•Œ์ง€ ๋ชปํ•œ ์ฑ„ ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•œ ์‚ฌ์šฉ์ž ์ˆ˜ ๊ณ„์‚ฐ๊ณผ ๊ฐ™์€ ๋ถ„์„ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ๋ชจ๋“  ์‚ฌ์šฉ์ž ์‹๋ณ„ ์ •๋ณด๊ฐ€ ํฌํ•จ๋œ ๋ฏผ๊ฐ๋„๊ฐ€ ๋‚ฎ์€ ๋ฐ์ดํ„ฐ์„ธํŠธ์ž…๋‹ˆ๋‹ค. ์ด๋Š” ๊ฐœ์ธ ์ •๋ณด ๋ณดํ˜ธ ๊ด€์ ์—์„œ๋Š” ์ข‹์€ ์ ‘๊ทผ ๋ฐฉ์‹์ด์ง€๋งŒ ์‚ฌ์šฉ์ž ์ˆ˜์ค€ ๋ถ„์„์—๋Š” ์‚ฌ์šฉํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.
  • ๊ณต๊ฐœ ๋ฐ์ดํ„ฐ ์„ธํŠธ(Twitter ์™ธ๋ถ€์— ๊ณต๊ฐœ๋จ)๋Š” ๋ชจ๋“  Twitter ์ง์›์ด ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋กœ๊น…์˜ ๊ฒฝ์šฐ ์˜ˆ์•ฝ๋œ ์ž‘์—…์„ ์‚ฌ์šฉํ•˜์—ฌ BigQuery ๋ฐ์ดํ„ฐ์„ธํŠธ๋ฅผ ์—ด๊ฑฐํ•˜๊ณ  ์ด๋ฅผ ๋ฐ์ดํ„ฐ ์•ก์„ธ์Šค ๋ ˆ์ด์–ด(DAL), Twitter ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ ์ €์žฅ์†Œ. ์‚ฌ์šฉ์ž๋Š” ๋ฐ์ดํ„ฐ ์„ธํŠธ์— ๊ฐœ์ธ์ •๋ณด ์ •๋ณด๋ฅผ ์ถ”๊ฐ€ํ•˜๊ณ  ๋ณด์กด ๊ธฐ๊ฐ„๋„ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค. ์ฒญ์†Œ์— ๊ด€ํ•ด์„œ๋Š” ๋‘ ๊ฐ€์ง€ ์˜ต์…˜์˜ ์„ฑ๋Šฅ๊ณผ ๋น„์šฉ์„ ํ‰๊ฐ€ํ•ฉ๋‹ˆ๋‹ค. 1. Scalding๊ณผ ๊ฐ™์€ ๋„๊ตฌ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ GCS์˜ ๋ฐ์ดํ„ฐ ์„ธํŠธ๋ฅผ ์ •๋ฆฌํ•˜๊ณ  BigQuery์— ๋กœ๋“œํ•ฉ๋‹ˆ๋‹ค. 2. BigQuery DML ๋ฌธ์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ์šฐ๋ฆฌ๋Š” ๋‹ค์–‘ํ•œ ๊ทธ๋ฃน๊ณผ ๋ฐ์ดํ„ฐ์˜ ์š”๊ตฌ ์‚ฌํ•ญ์„ ์ถฉ์กฑํ•˜๊ธฐ ์œ„ํ•ด ๋‘ ๊ฐ€์ง€ ๋ฐฉ๋ฒ•์„ ์กฐํ•ฉํ•˜์—ฌ ์‚ฌ์šฉํ•  ๊ฐ€๋Šฅ์„ฑ์ด ๋†’์Šต๋‹ˆ๋‹ค.

์‹œ์Šคํ…œ ๊ธฐ๋Šฅ

BigQuery๋Š” ๊ด€๋ฆฌํ˜• ์„œ๋น„์Šค์ด๊ธฐ ๋•Œ๋ฌธ์— ์‹œ์Šคํ…œ ๊ด€๋ฆฌ๋‚˜ ์‚ฌ๋ฌด ์—…๋ฌด์— Twitter์˜ SREํŒ€์„ ๊ฐœ์ž…์‹œํ‚ฌ ํ•„์š”๊ฐ€ ์—†์—ˆ์Šต๋‹ˆ๋‹ค. ์Šคํ† ๋ฆฌ์ง€์™€ ์ปดํ“จํŒ… ๋ชจ๋‘์— ๋” ๋งŽ์€ ์šฉ๋Ÿ‰์„ ์ œ๊ณตํ•˜๋Š” ๊ฒƒ์€ ์‰ฌ์› ์Šต๋‹ˆ๋‹ค. Google ์ง€์›ํŒ€์— ํ‹ฐ์ผ“์„ ์ƒ์„ฑํ•˜์—ฌ ์Šฌ๋กฏ ์˜ˆ์•ฝ์„ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์…€ํ”„์„œ๋น„์Šค ์Šฌ๋กฏ ํ• ๋‹น, ๋ชจ๋‹ˆํ„ฐ๋ง์„ ์œ„ํ•œ ๋Œ€์‹œ๋ณด๋“œ ๊ฐœ์„  ๋“ฑ ๊ฐœ์„ ํ•  ์ˆ˜ ์žˆ๋Š” ์˜์—ญ์„ ํŒŒ์•…ํ•˜๊ณ  ํ•ด๋‹น ์š”์ฒญ์„ Google์— ์ œ์ถœํ–ˆ์Šต๋‹ˆ๋‹ค.

๋น„์šฉ

์˜ˆ๋น„ ๋ถ„์„์— ๋”ฐ๋ฅด๋ฉด BigQuery์™€ Presto์˜ ์ฟผ๋ฆฌ ๋น„์šฉ์€ ๋™์ผํ•œ ์ˆ˜์ค€์ด์—ˆ์Šต๋‹ˆ๋‹ค. ์šฐ๋ฆฌ๋Š” ์Šฌ๋กฏ์„ ๊ตฌ์ž…ํ–ˆ์Šต๋‹ˆ๋‹ค ๊ฒฐ์ •๋œ ๊ฒฐ์ œ ๋Œ€์‹  ์•ˆ์ •์ ์ธ ์›” ์ด์šฉ๋ฃŒ๋ฅผ ์ œ๊ณตํ•˜๋Š” ๊ฐ€๊ฒฉ ์ฃผ๋ฌธํ˜• ์ฒ˜๋ฆฌ๋œ ๋ฐ์ดํ„ฐ์˜ TB๋‹น ์ด ๊ฒฐ์ •์€ ๋˜ํ•œ ๊ฐ ์š”์ฒญ์„ ํ•˜๊ธฐ ์ „์— ๋น„์šฉ์— ๋Œ€ํ•ด ์ƒ๊ฐํ•˜๊ณ  ์‹ถ์ง€ ์•Š์€ ์‚ฌ์šฉ์ž์˜ ํ”ผ๋“œ๋ฐฑ์„ ๊ธฐ๋ฐ˜์œผ๋กœ ํ–ˆ์Šต๋‹ˆ๋‹ค.

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

์ˆ˜์‹ญ ํŽ˜ํƒ€๋ฐ”์ดํŠธ์˜ ๋“œ๋ฌผ๊ฒŒ ์ฟผ๋ฆฌ๊ฐ€ ํ•„์š”ํ•œ ๊ฒฝ์šฐ์—๋Š” BigQuery์— ๋ฐ์ดํ„ฐ ์„ธํŠธ๋ฅผ ์ €์žฅํ•˜๋Š” ๊ฒƒ์ด ๋น„์šฉ ํšจ์œจ์ ์ด์ง€ ์•Š๋‹ค๊ณ  ํŒ๋‹จํ•˜๊ณ  Presto๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ GCS์˜ ๋ฐ์ดํ„ฐ ์„ธํŠธ์— ์ง์ ‘ ์•ก์„ธ์Šคํ–ˆ์Šต๋‹ˆ๋‹ค. ์ด๋ฅผ ์œ„ํ•ด BigQuery ์™ธ๋ถ€ ๋ฐ์ดํ„ฐ ์†Œ์Šค๋ฅผ ์‚ดํŽด๋ณด๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

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

์šฐ๋ฆฌ๋Š” ์•ŒํŒŒ ์ถœ์‹œ ์ดํ›„ BigQuery์— ๋งŽ์€ ๊ด€์‹ฌ์„ ๋ณด์˜€์Šต๋‹ˆ๋‹ค. BigQuery์— ๋” ๋งŽ์€ ๋ฐ์ดํ„ฐ์„ธํŠธ์™€ ๋ช…๋ น์–ด๋ฅผ ์ถ”๊ฐ€ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์šฐ๋ฆฌ๋Š” BigQuery ์Šคํ† ๋ฆฌ์ง€๋ฅผ ์ฝ๊ณ  ์“ธ ์ˆ˜ ์žˆ๋Š” Scalding๊ณผ ๊ฐ™์€ ๋ฐ์ดํ„ฐ ๋ถ„์„ ๋„๊ตฌ์šฉ ์ปค๋„ฅํ„ฐ๋ฅผ ๊ฐœ๋ฐœํ•ฉ๋‹ˆ๋‹ค. BigQuery ๋ฐ์ดํ„ฐ ์„ธํŠธ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๊ธฐ์—… ์ˆ˜์ค€์˜ ๋ณด๊ณ ์„œ์™€ ๋ฉ”๋ชจ๋ฅผ ์ƒ์„ฑํ•˜๊ธฐ ์œ„ํ•ด Looker ๋ฐ Apache Zeppelin๊ณผ ๊ฐ™์€ ๋„๊ตฌ๋ฅผ ์‚ดํŽด๋ณด๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

Google๊ณผ์˜ ํ˜‘๋ ฅ์€ ๋งค์šฐ ์ƒ์‚ฐ์ ์ด๋ฉฐ ์ด ํŒŒํŠธ๋„ˆ์‹ญ์„ ๊ณ„์† ๋ฐœ์ „์‹œ์ผœ ๋‚˜๊ฐˆ ์ˆ˜ ์žˆ๊ฒŒ ๋˜์–ด ๊ธฐ์ฉ๋‹ˆ๋‹ค. ์šฐ๋ฆฌ๋Š” Google๊ณผ ํ˜‘๋ ฅํ•˜์—ฌ ์ž์ฒด์ ์œผ๋กœ ๊ตฌํ˜„ํ–ˆ์Šต๋‹ˆ๋‹ค. ํŒŒํŠธ๋„ˆ ๋ฌธ์ œ ์ถ”์ ๊ธฐGoogle์— ์ง์ ‘ ์ฟผ๋ฆฌ๋ฅผ ๋ณด๋‚ด๋ ค๋ฉด BigQuery Parquet ๋กœ๋”์™€ ๊ฐ™์€ ์ผ๋ถ€ ๊ธฐ๋Šฅ์€ ์ด๋ฏธ Google์—์„œ ๊ตฌํ˜„๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

๋‹ค์Œ์€ Google์— ๋Œ€ํ•œ ์ตœ์šฐ์„  ๊ธฐ๋Šฅ ์š”์ฒญ ์ค‘ ์ผ๋ถ€์ž…๋‹ˆ๋‹ค.

  • ํŽธ๋ฆฌํ•œ ๋ฐ์ดํ„ฐ ์ˆ˜์‹  ๋ฐ LZO-Thrift ํ˜•์‹ ์ง€์›์„ ์œ„ํ•œ ๋„๊ตฌ์ž…๋‹ˆ๋‹ค.
  • ์‹œ๊ฐ„๋ณ„ ์„ธ๋ถ„ํ™”
  • ํ…Œ์ด๋ธ”, ํ–‰, ์—ด ์ˆ˜์ค€ ๊ถŒํ•œ๊ณผ ๊ฐ™์€ ์•ก์„ธ์Šค ์ œ์–ด๊ฐ€ ๊ฐœ์„ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • BigQuery ์™ธ๋ถ€ ๋ฐ์ดํ„ฐ ์†Œ์Šค Hive Metastore ํ†ตํ•ฉ ๋ฐ LZO-Thrift ํ˜•์‹ ์ง€์›.
  • BigQuery ์‚ฌ์šฉ์ž ์ธํ„ฐํŽ˜์ด์Šค์˜ ๋ฐ์ดํ„ฐ ์นดํƒˆ๋กœ๊ทธ ํ†ตํ•ฉ ๊ฐœ์„ 
  • ์Šฌ๋กฏ ํ• ๋‹น ๋ฐ ๋ชจ๋‹ˆํ„ฐ๋ง์„ ์œ„ํ•œ ์…€ํ”„ ์„œ๋น„์Šค์ž…๋‹ˆ๋‹ค.

๊ฒฐ๋ก 

๋ฐ์ดํ„ฐ ๋ถ„์„, ์‹œ๊ฐํ™”, ๋จธ์‹ ๋Ÿฌ๋‹์„ ์•ˆ์ „ํ•œ ๋ฐฉ์‹์œผ๋กœ ๋ฏผ์ฃผํ™”ํ•˜๋Š” ๊ฒƒ์ด ๋ฐ์ดํ„ฐ ํ”Œ๋žซํผ ํŒ€์˜ ์ตœ์šฐ์„  ๊ณผ์ œ์ž…๋‹ˆ๋‹ค. ์šฐ๋ฆฌ๋Š” ์ด ๋ชฉํ‘œ๋ฅผ ๋‹ฌ์„ฑํ•˜๋Š” ๋ฐ ๋„์›€์ด ๋  ์ˆ˜ ์žˆ๋Š” ๋„๊ตฌ๋กœ Google BigQuery์™€ Data Studio๋ฅผ ํŒŒ์•…ํ•˜๊ณ  ์ž‘๋…„์— ์ „์‚ฌ์ ์œผ๋กœ BigQuery Alpha๋ฅผ ์ถœ์‹œํ–ˆ์Šต๋‹ˆ๋‹ค.

BigQuery์˜ ์ฟผ๋ฆฌ๋Š” ๊ฐ„๋‹จํ•˜๊ณ  ํšจ์œจ์ ์ด๋ผ๋Š” ๊ฒƒ์„ ์•Œ์•˜์Šต๋‹ˆ๋‹ค. ์šฐ๋ฆฌ๋Š” Google ๋„๊ตฌ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๊ฐ„๋‹จํ•œ ํŒŒ์ดํ”„๋ผ์ธ์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์ˆ˜์ง‘ํ•˜๊ณ  ๋ณ€ํ™˜ํ–ˆ์ง€๋งŒ, ๋ณต์žกํ•œ ํŒŒ์ดํ”„๋ผ์ธ์˜ ๊ฒฝ์šฐ ์ž์ฒด Airflow ํ”„๋ ˆ์ž„์›Œํฌ๋ฅผ ๊ตฌ์ถ•ํ•ด์•ผ ํ–ˆ์Šต๋‹ˆ๋‹ค. ๋ฐ์ดํ„ฐ ๊ด€๋ฆฌ ๊ณต๊ฐ„์—์„œ๋Š” BigQuery์˜ ์ธ์ฆ, ์Šน์ธ, ๊ฐ์‚ฌ ์„œ๋น„์Šค๊ฐ€ ์šฐ๋ฆฌ์˜ ์š”๊ตฌ ์‚ฌํ•ญ์„ ์ถฉ์กฑํ•ฉ๋‹ˆ๋‹ค. ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ๋ฅผ ๊ด€๋ฆฌํ•˜๊ณ  ๊ฐœ์ธ ์ •๋ณด๋ฅผ ์œ ์ง€ํ•˜๋ ค๋ฉด ๋” ๋งŽ์€ ์œ ์—ฐ์„ฑ์ด ํ•„์š”ํ–ˆ๊ณ  ์ž์ฒด ์‹œ์Šคํ…œ์„ ๊ตฌ์ถ•ํ•ด์•ผ ํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ด€๋ฆฌํ˜• ์„œ๋น„์Šค์ธ BigQuery๋Š” ์‚ฌ์šฉ์ด ์‰ฌ์› ์Šต๋‹ˆ๋‹ค. ์ฟผ๋ฆฌ ๋น„์šฉ์€ ๊ธฐ์กด ๋„๊ตฌ์™€ ์œ ์‚ฌํ–ˆ์Šต๋‹ˆ๋‹ค. BigQuery์— ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•˜๋ฉด GCS ๋น„์šฉ ์™ธ์— ๋น„์šฉ์ด ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค.

์ „๋ฐ˜์ ์œผ๋กœ BigQuery๋Š” ์ผ๋ฐ˜์ ์ธ SQL ๋ถ„์„์— ์ ํ•ฉํ•ฉ๋‹ˆ๋‹ค. ์šฐ๋ฆฌ๋Š” BigQuery์— ๋งŽ์€ ๊ด€์‹ฌ์„ ๊ฐ–๊ณ  ์žˆ์œผ๋ฉฐ BigQuery๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋” ๋งŽ์€ ๋ฐ์ดํ„ฐ ์„ธํŠธ๋ฅผ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ํ•˜๊ณ , ๋” ๋งŽ์€ ํŒ€์„ ๊ตฌ์„ฑํ•˜๊ณ , ๋” ๋งŽ์€ ํŒŒ์ดํ”„๋ผ์ธ์„ ๊ตฌ์ถ•ํ•˜๊ธฐ ์œ„ํ•ด ๋…ธ๋ ฅํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. Twitter๋Š” Scalding, Spark, Presto ๋ฐ Druid์™€ ๊ฐ™์€ ๋„๊ตฌ์˜ ์กฐํ•ฉ์ด ํ•„์š”ํ•œ ๋‹ค์–‘ํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ์šฐ๋ฆฌ๋Š” ๋ฐ์ดํ„ฐ ๋ถ„์„ ๋„๊ตฌ๋ฅผ ์ง€์†์ ์œผ๋กœ ๊ฐ•ํ™”ํ•˜๊ณ  ์‚ฌ์šฉ์ž์—๊ฒŒ ์šฐ๋ฆฌ ์ œํ’ˆ์„ ๊ฐ€์žฅ ์ž˜ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•œ ๋ช…ํ™•ํ•œ ์ง€์นจ์„ ์ œ๊ณตํ•  ๊ณ„ํš์ž…๋‹ˆ๋‹ค.

๊ฐ์‚ฌ์˜ ๋ง

์ด ํ”„๋กœ์ ํŠธ๋ฅผ ์œ„ํ•ด ํ›Œ๋ฅญํ•œ ํ˜‘๋ ฅ๊ณผ ๋…ธ๋ ฅ์„ ํ•ด์ค€ ๊ณต๋™ ์ €์ž์ด์ž ํŒ€ ๋™๋ฃŒ์ธ Anju Jha์™€ Will Pascucci์—๊ฒŒ ๊ฐ์‚ฌ์˜ ๋ง์”€์„ ์ „ํ•˜๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ ์šฐ๋ฆฌ์—๊ฒŒ ๋„์›€์„ ์ค€ Twitter์™€ Google ์—ฌ๋Ÿฌ ํŒ€์˜ ์—”์ง€๋‹ˆ์–ด์™€ ๊ด€๋ฆฌ์ž, ๊ท€์ค‘ํ•œ ํ”ผ๋“œ๋ฐฑ์„ ์ œ๊ณตํ•œ Twitter์˜ BigQuery ์‚ฌ์šฉ์ž์—๊ฒŒ๋„ ๊ฐ์‚ฌ์˜ ๋ง์”€์„ ์ „ํ•˜๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค.

์ด๋Ÿฌํ•œ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๋Š” ๋ฐ ๊ด€์‹ฌ์ด ์žˆ๋‹ค๋ฉด ๋‹ค์Œ์„ ํ™•์ธํ•˜์„ธ์š”. ๊ณต์„ ๋ฐ์ดํ„ฐ ํ”Œ๋žซํผ ํŒ€์—์„œ.

DWH์˜ ๋ฐ์ดํ„ฐ ํ’ˆ์งˆ - ๋ฐ์ดํ„ฐ ์›จ์–ดํ•˜์šฐ์Šค ์ผ๊ด€์„ฑ

์ถœ์ฒ˜ : habr.com

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