ํ…Œ์ด๋ธ” ์Šค๋ƒ…์ƒท ์‚ญ์ œ

์ด ๋ฌธ์„œ์—์„œ๋Š”Google Cloud ์ฝ˜์†”, DROP SNAPSHOT TABLE GoogleSQL ๋ฌธ, bq rm ๋ช…๋ น์–ด ๋˜๋Š” BigQuery API tables.delete ํ˜ธ์ถœ์„ ์‚ฌ์šฉํ•˜์—ฌ ํ…Œ์ด๋ธ” ์Šค๋ƒ…์ƒท์„ ์‚ญ์ œํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค. ๋˜ํ•œ ์ด์ „ 7์ผ ๋‚ด์— ์‚ญ์ œ๋˜์—ˆ๊ฑฐ๋‚˜ ๋งŒ๋ฃŒ๋œ ํ…Œ์ด๋ธ” ์Šค๋ƒ…์ƒท์„ ๋ณต๊ตฌํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•œ ์ •๋ณด๋„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ์ด ๋ฌธ์„œ๋Š” ํ…Œ์ด๋ธ” ์Šค๋ƒ…์ƒท์— ์ต์ˆ™ํ•œ ์‚ฌ์šฉ์ž๋ฅผ ๋Œ€์ƒ์œผ๋กœ ํ•ฉ๋‹ˆ๋‹ค.

๊ถŒํ•œ ๋ฐ ์—ญํ• 

์ด ์„น์…˜์—์„œ๋Š” ํ…Œ์ด๋ธ” ์Šค๋ƒ…์ƒท์„ ์‚ญ์ œํ•˜๊ธฐ ์œ„ํ•ด ํ•„์š”ํ•œ Identity and Access Management(IAM) ๊ถŒํ•œ๊ณผ ์ด๋Ÿฌํ•œ ๊ถŒํ•œ์„ ๋ถ€์—ฌํ•˜๋Š” ์‚ฌ์ „ ์ •์˜๋œ IAM ์—ญํ• ์— ๋Œ€ํ•ด ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค.

๊ถŒํ•œ

ํ…Œ์ด๋ธ” ์Šค๋ƒ…์ƒท์„ ์‚ญ์ œํ•˜๋ ค๋ฉด ๋‹ค์Œ ๊ถŒํ•œ์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

๊ถŒํ•œ ๋ฆฌ์†Œ์Šค
bigquery.tables.deleteSnapshot ์‚ญ์ œํ•˜๋ ค๋Š” ํ…Œ์ด๋ธ” ์Šค๋ƒ…์ƒท์ž…๋‹ˆ๋‹ค.

์—ญํ• 

ํ•„์š”ํ•œ ๊ถŒํ•œ์„ ์ œ๊ณตํ•˜๋Š” ์‚ฌ์ „ ์ •์˜๋œ BigQuery ์—ญํ• ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

์—ญํ•  ๋ฆฌ์†Œ์Šค
๋‹ค์Œ ์ค‘ ํ•˜๋‚˜์ธ ๊ฒฝ์šฐ:

bigquery.dataOwner
bigquery.admin
์‚ญ์ œํ•˜๋ ค๋Š” ํ…Œ์ด๋ธ” ์Šค๋ƒ…์ƒท์ž…๋‹ˆ๋‹ค.

ํ…Œ์ด๋ธ” ์Šค๋ƒ…์ƒท ์‚ญ์ œ

ํ‘œ์ค€ ํ…Œ์ด๋ธ”์„ ์‚ญ์ œํ•  ๋•Œ์™€ ๊ฐ™์€ ๋ฐฉ๋ฒ•์œผ๋กœ ํ…Œ์ด๋ธ” ์Šค๋ƒ…์ƒท์„ ์‚ญ์ œํ•ฉ๋‹ˆ๋‹ค. ๋งŒ๋ฃŒ๋œ ํ…Œ์ด๋ธ” ์Šค๋ƒ…์ƒท์€ ์‚ญ์ œํ•  ํ•„์š”๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค.

๋‹ค์Œ ์˜ต์…˜ ์ค‘ ํ•˜๋‚˜๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํ…Œ์ด๋ธ” ์Šค๋ƒ…์ƒท์„ ์‚ญ์ œํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ฝ˜์†”

  1. Google Cloud ์ฝ˜์†”์—์„œ BigQuery ํŽ˜์ด์ง€๋กœ ์ด๋™ํ•ฉ๋‹ˆ๋‹ค.

BigQuery๋กœ ์ด๋™

  1. ํƒ์ƒ‰๊ธฐ ์ฐฝ์—์„œ ๋ณด๋ ค๋Š” ํ…Œ์ด๋ธ” ์Šค๋ƒ…์ƒท์˜ ํ”„๋กœ์ ํŠธ์™€ ๋ฐ์ดํ„ฐ ์„ธํŠธ ๋…ธ๋“œ๋ฅผ ํ™•์žฅํ•ฉ๋‹ˆ๋‹ค.

  2. ํ…Œ์ด๋ธ” ์Šค๋ƒ…์ƒท ์ด๋ฆ„์„ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.

  3. ํ‘œ์‹œ๋œ ์Šค๋ƒ…์ƒท ์ฐฝ์—์„œ ์‚ญ์ œ๋ฅผ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.

  4. ํ™•์ธ ํ›„ ์‚ญ์ œ๋ฅผ ๋‹ค์‹œ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.

SQL

DROP SNAPSHOT TABLE DDL ๋ฌธ์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

  1. Google Cloud ์ฝ˜์†”์—์„œ BigQuery ํŽ˜์ด์ง€๋กœ ์ด๋™ํ•ฉ๋‹ˆ๋‹ค.

    BigQuery๋กœ ์ด๋™

  2. ์ฟผ๋ฆฌ ํŽธ์ง‘๊ธฐ์—์„œ ๋‹ค์Œ ๋ฌธ์„ ์ž…๋ ฅํ•ฉ๋‹ˆ๋‹ค.

    DROP SNAPSHOT TABLE PROJECT_ID.DATASET_NAME.SNAPSHOT_NAME;

    ๋‹ค์Œ์„ ๋ฐ”๊ฟ‰๋‹ˆ๋‹ค.

    • PROJECT_ID: ์Šค๋ƒ…์ƒท์ด ํฌํ•จ๋œ ํ”„๋กœ์ ํŠธ์˜ ํ”„๋กœ์ ํŠธ ID
    • DATASET_NAME: ์Šค๋ƒ…์ƒท์ด ํฌํ•จ๋œ ๋ฐ์ดํ„ฐ ์„ธํŠธ์˜ ์ด๋ฆ„
    • SNAPSHOT_NAME: ์Šค๋ƒ…์ƒท์˜ ์ด๋ฆ„

  3. ์‹คํ–‰์„ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.

์ฟผ๋ฆฌ๋ฅผ ์‹คํ–‰ํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•œ ์ž์„ธํ•œ ๋‚ด์šฉ์€ ๋Œ€ํ™”ํ˜• ์ฟผ๋ฆฌ ์‹คํ–‰์„ ์ฐธ์กฐํ•˜์„ธ์š”.

bq

Cloud Shell์— ๋‹ค์Œ ๋ช…๋ น์–ด๋ฅผ ์ž…๋ ฅํ•ฉ๋‹ˆ๋‹ค.

Cloud Shell๋กœ ์ด๋™

bq rm \
PROJECT_ID:DATASET_NAME.SNAPSHOT_NAME

๋‹ค์Œ์„ ๋ฐ”๊ฟ‰๋‹ˆ๋‹ค.

  • PROJECT_ID: ์Šค๋ƒ…์ƒท์ด ํฌํ•จ๋œ ํ”„๋กœ์ ํŠธ์˜ ํ”„๋กœ์ ํŠธ ID
  • DATASET_NAME: ์Šค๋ƒ…์ƒท์ด ํฌํ•จ๋œ ๋ฐ์ดํ„ฐ ์„ธํŠธ์˜ ์ด๋ฆ„
  • SNAPSHOT_NAME: ์Šค๋ƒ…์ƒท ์ด๋ฆ„

API

๋‹ค์Œ ๋งค๊ฐœ๋ณ€์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ tables.delete ๋ฉ”์„œ๋“œ๋ฅผ ํ˜ธ์ถœํ•ฉ๋‹ˆ๋‹ค.

๋งค๊ฐœ๋ณ€์ˆ˜ ๊ฐ’
projectId ์Šค๋ƒ…์ƒท์ด ํฌํ•จ๋œ ํ”„๋กœ์ ํŠธ์˜ ํ”„๋กœ์ ํŠธ ID์ž…๋‹ˆ๋‹ค.
datasetId ์Šค๋ƒ…์ƒท์ด ํฌํ•จ๋œ ๋ฐ์ดํ„ฐ ์„ธํŠธ์˜ ์ด๋ฆ„์ž…๋‹ˆ๋‹ค.
tableId ์Šค๋ƒ…์ƒท ์ด๋ฆ„์ž…๋‹ˆ๋‹ค.

์‚ญ์ œ๋˜๊ฑฐ๋‚˜ ๋งŒ๋ฃŒ๋œ ํ…Œ์ด๋ธ” ์Šค๋ƒ…์ƒท ๋ณต์›

ํ‘œ์ค€ ํ…Œ์ด๋ธ”์„ ๋ณต๊ตฌํ•  ๋•Œ์™€ ๋™์ผํ•œ ๋ฐฉ๋ฒ•์œผ๋กœ ์ด์ „ 7์ผ ๋‚ด์— ์‚ญ์ œ๋˜์—ˆ๊ฑฐ๋‚˜ ๋งŒ๋ฃŒ๋œ ํ…Œ์ด๋ธ” ์Šค๋ƒ…์ƒท์„ ๋ณต๊ตฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ž์„ธํ•œ ๋‚ด์šฉ์€ ํ…Œ์ด๋ธ” ์Šค๋ƒ…์ƒท ๋ณต์›์„ ์ฐธ์กฐํ•˜์„ธ์š”.

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