ETC.
[Big Query] Google Cloud ๋ฐ์ดํฐ ์จ์ดํ์ฐ์ค Big Query
carsumin
2025. 3. 9. 17:59
BigQuery๋?
- Google Cloud Platform(GCP)์์ ์ ๊ณตํ๋ ์์ ๊ด๋ฆฌํ ์๋ฒ๋ฆฌ์ค ๋ฐ์ดํฐ ์จ์ดํ์ฐ์ค
- ์ฌ์ฉ์๊ฐ ์ง์ ์๋ฒ๋ฅผ ๊ด๋ฆฌํ๊ฑฐ๋ ์คํ ๋ฆฌ์ง๋ฅผ ํ์ฅํ์ง ์์๋ ๋์ฉ๋ ๋ฐ์ดํฐ๋ฅผ ๋น ๋ฅด๊ฒ ์ ์ฅํ๊ณ ๋ถ์ํ ์ ์๋ ์๋น์ค
- ์๋ฒ๋ฆฌ์ค(Serverless) : ์ธํ๋ผ ๊ตฌ์ฑ, ๋ ธ๋ ๊ด๋ฆฌ, ํ์ฅ ๋ฑ์ ์ ํ ์ ๊ฒฝ ์ธ ํ์ ์์
- SQL ๊ธฐ๋ฐ ๋ถ์ : ํ์ค SQL๋ก ์์ญ์ต ํ์ ๋ฐ์ดํฐ๋ฅผ ์ด ๋จ์๋ก ๋ถ์ ๊ฐ๋ฅ
- ์๋ ํ์ฅ : ๋ฐ์ดํฐ ์์ด๋ ์ฟผ๋ฆฌ๋์ด ๋์ด๋๋ฉด ์๋์ผ๋ก ๋ฆฌ์์ค ํ ๋น
- ๊ฒฐ์ ๋ฐฉ์ : ์ฟผ๋ฆฌ ์คํ๋(์ค์บ๋ ๋ฐ์ดํฐ ์ฉ๋)๊ณผ ์ ์ฅ ์ฉ๋ ๊ธฐ์ค์ผ๋ก ๊ณผ๊ธ
๊ตฌ์กฐ ๋ฐ ์ฃผ์ ๊ตฌ์ฑ์์
- Project : GCP ๋ฆฌ์์ค๋ฅผ ๊ด๋ฆฌํ๋ ์ต์์ ๋จ์
- Dataset : ํ ์ด๋ธ์ ๋ฌถ์ (์คํค๋ง์ ๋ ผ๋ฆฌ ๋จ์)
- Table : ์ค์ ๋ฐ์ดํฐ๊ฐ ์ ์ฅ๋๋ ๋จ์
- View : SQL ์ฟผ๋ฆฌ ๊ฒฐ๊ณผ๋ฅผ ๊ฐ์ ํ ์ด๋ธ ํํ๋ก ์ ์ฅ
- Job : ์ฟผ๋ฆฌ, ๋ก๋, ์ต์คํฌํธ ๋ฑ์ ์คํ ๋จ์
- Storage : ๋ด๋ถ์ ์ผ๋ก Colossus ์คํ ๋ฆฌ์ง ์ฌ์ฉ
- Compute Engine : ์ฟผ๋ฆฌ ์คํ ์ ๋ด๋ถ์ ์ผ๋ก Dremel ์์ง์ ํตํด ๋ณ๋ ฌ ์ฒ๋ฆฌ ์ํ
๋์ ๋ฐฉ์
- ๋ฐ์ดํฐ ์ ์ฌ (Load)
- Cloud Storage(GCS), Cloud Pub/Sub, Cloud SQL, Google Sheets ๋ฑ ๋ค์ํ ์์ค์์ ๋ก๋ ๊ฐ๋ฅ
- ์ฟผ๋ฆฌ ์คํ
- ํ์ค SQL๋ก ์ฟผ๋ฆฌ ์์ฑ
- BigQuery ์์ง์ด ์๋์ผ๋ก ๋ถ์ฐ ์ฒ๋ฆฌ -> ์ด๊ณ ์ ๊ฒฐ๊ณผ ๋ฐํ
- ๊ฒฐ๊ณผ ์ ์ฅ / ์๊ฐํ
- ์ฟผ๋ฆฌ ๊ฒฐ๊ณผ๋ฅผ Table๋ก ์ ์ฅํ๊ฑฐ๋ Data Studio, Looker Studio ๋ฑ์ผ๋ก ์๊ฐํ ๊ฐ๋ฅ
์ฌ์ฉ ์์
- ๋๊ท๋ชจ ๋ก๊ทธ ๋ถ์
SELECT
user_id,
COUNT(*) AS login_count
FROM
`project_id.analytics.login_logs`
WHERE
event_date BETWEEN '2025-10-01' AND '2025-10-14'
GROUP BY
user_id
ORDER BY
login_count DESC;
- ์ค์๊ฐ ๋ฐ์ดํฐ ์คํธ๋ฆฌ๋ฐ (Pub/Sub)
- ์น ํธ๋ํฝ ๋ก๊ทธ, IoT ์ผ์ ๋ฐ์ดํฐ, ํด๋ฆญ ๋ก๊ทธ ๋ฑ์ ์ค์๊ฐ์ผ๋ก BigQuery์ ์ ์ฌ
- ์ค์๊ฐ ๋์๋ณด๋ ๊ตฌ์ถ ๊ฐ๋ฅ
BigQuery ์ฅ์
- ๊ด๋ฆฌ๊ฐ ๋ถํ์ํ๋ค (์๋ฒ๊ด๋ฆฌ, ํ์ฅ, ๋ฐฑ์ ์๋ํ)
- Google Dremel ๊ธฐ๋ฐ์ ๋๊ท๋ชจ ๋ณ๋ ฌ์ฒ๋ฆฌ๋ก ๊ณ ์ฑ๋ฅ์ด๋ค
- ์ฌ์ฉ๋ ๊ธฐ๋ฐ ๊ณผ๊ธ์ผ๋ก ์ ๋น์ฉ
- PB ๋จ์ ๋ฐ์ดํฐ๋ ์์ ์ ์ผ๋ก ์ฒ๋ฆฌํ ์ ๋๋ก ํ์ฅ์ฑ์ด ์ข์
- ML/AI ํตํฉ ๊ฐ๋ฅ
BigQuery ๋จ์
- ๋น์ฉ ์ ์ด ํ์
- ์ฐ๊ธฐ ์ง์ฐ
- ์ ํ๋ ํธ๋์ญ์ ๊ธฐ๋ฅ
- ๋ณต์กํ ์กฐ์ธ ์ ์ฑ๋ฅ ์ ํ ๊ฐ๋ฅ