Data Catalog ๊ตฌ๋ฌธ ๊ฒ€์ƒ‰

์ด ๋ฌธ์„œ์—์„œ๋Š” Data Catalog ๊ฒ€์ƒ‰ ์ฟผ๋ฆฌ์˜ ๊ตฌ๋ฌธ์„ ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค. ์ด ๋ฌธ์„œ๋ฅผ ์ฝ๊ธฐ ์ „์— ๋ฐ์ดํ„ฐ ํ•ญ๋ชฉ, ํƒœ๊ทธ ๋ฐ ํƒœ๊ทธ ํ…œํ”Œ๋ฆฟ, ๊ธฐํƒ€ ์ข…๋ฅ˜์˜ ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ์™€ ๊ฐ™์€ Data Catalog์˜ ๊ฐœ๋…์„ ์ดํ•ดํ•˜๋Š” ๊ฒƒ์ด ์ค‘์š”ํ•ฉ๋‹ˆ๋‹ค. Data Catalog๋ž€ ๋ฌด์—‡์ธ๊ฐ€์š”?๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.

Google Cloud ์ฝ˜์†”์—์„œ Data Catalog ๊ฒ€์ƒ‰์–ด๋ฅผ ์‹คํ–‰ํ•˜๋ ค๋ฉด Data Catalog ๊ฒ€์ƒ‰ ํŽ˜์ด์ง€๋กœ ์ด๋™ํ•˜์—ฌ ๊ฒ€์ƒ‰ ๋ชจ๋“œ๋กœ Data Catalog๋ฅผ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.

๊ฒ€์ƒ‰ ํŽ˜์ด์ง€๋กœ ์ด๋™

๊ฐ€์žฅ ๊ฐ„๋‹จํ•œ ํ˜•ํƒœ์˜ Data Catalog ๊ฒ€์ƒ‰์–ด๋Š” ๋‹จ์ผ ์กฐ๊ฑด์ž๋กœ ๊ตฌ์„ฑ๋ฉ๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ์กฐ๊ฑด์ž๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์—ฌ๋Ÿฌ ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ์™€ ์ผ์น˜ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  • ์ด๋ฆ„, ํ‘œ์‹œ ์ด๋ฆ„ ๋˜๋Š” ๋ฐ์ดํ„ฐ ์• ์…‹ ์„ค๋ช…์˜ ํ•˜์œ„ ๋ฌธ์ž์—ด
  • ๋ฐ์ดํ„ฐ ์• ์…‹์˜ ์ •ํ™•ํ•œ ์œ ํ˜•
  • ๋ฐ์ดํ„ฐ ์• ์…‹์˜ ์Šคํ‚ค๋งˆ์— ์žˆ๋Š” ์—ด ์ด๋ฆ„์˜ ํ•˜์œ„ ๋ฌธ์ž์—ด(๋˜๋Š” ์ค‘์ฒฉ๋œ ์—ด ์ด๋ฆ„)
  • ํ”„๋กœ์ ํŠธ ID์˜ ํ•˜์œ„ ๋ฌธ์ž์—ด
  • ๊ณต๊ฐœ ํƒœ๊ทธ ๊ฐ’, ๊ณต๊ฐœ ํƒœ๊ทธ ํ…œํ”Œ๋ฆฟ ์ด๋ฆ„, ๋ฐ์ดํ„ฐ ํ•ญ๋ชฉ์— ์—ฐ๊ฒฐ๋œ ๊ณต๊ฐœ ํƒœ๊ทธ ํ…œํ”Œ๋ฆฟ์˜ ํ•„๋“œ ์ด๋ฆ„
  • (๋ฏธ๋ฆฌ๋ณด๊ธฐ) ๋ฐ์ดํ„ฐ ์ŠคํŠœ์–ด๋“œ์˜ ์ด๋ฉ”์ผ ์ฃผ์†Œ๋‚˜ ์ด๋ฆ„์˜ ๋ฌธ์ž์—ด
  • (๋ฏธ๋ฆฌ๋ณด๊ธฐ) ๊ฐœ์š” ์„ค๋ช…์˜ ๋ฌธ์ž์—ด

๋‹จ์ˆœ ๊ฒ€์ƒ‰์—์„œ๋Š” datetime ์œ ํ˜•์˜ ํƒœ๊ทธ ํ…œํ”Œ๋ฆฟ ํ•„๋“œ๋ฅผ ์ง€์›ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

์˜ˆ๋ฅผ ๋“ค์–ด ์กฐ๊ฑด์ž foo๋Š” ๋‹ค์Œ ํ•ญ๋ชฉ๊ณผ ์ผ์น˜ํ•ฉ๋‹ˆ๋‹ค.

  • foo.bar ์ด๋ฆ„์˜ ๋ฐ์ดํ„ฐ ์• ์…‹
  • Foo Bar ํ‘œ์‹œ ์ด๋ฆ„์˜ ๋ฐ์ดํ„ฐ ์• ์…‹
  • This is the foo script. ์„ค๋ช…์„ ํฌํ•จํ•œ ๋ฐ์ดํ„ฐ ์• ์…‹
  • ์ •ํ™•ํ•œ foo ์œ ํ˜•์˜ ๋ฐ์ดํ„ฐ ์• ์…‹
  • ๋ฐ์ดํ„ฐ ์• ์…‹ ์Šคํ‚ค๋งˆ์˜ ์—ด foo_bar
  • ๋ฐ์ดํ„ฐ ์• ์…‹ ์Šคํ‚ค๋งˆ์˜ ์ค‘์ฒฉ ์—ด foo_bar
  • ํ”„๋กœ์ ํŠธ prod-foo-bar
  • foo๋ผ๋Š” ๊ณต๊ฐœ ํƒœ๊ทธ ํ…œํ”Œ๋ฆฟ, foo ํƒœ๊ทธ ํ…œํ”Œ๋ฆฟ์œผ๋กœ ํƒœ๊ทธ๋œ ๋ฐ์ดํ„ฐ ํ•ญ๋ชฉ, foo์˜ ํƒœ๊ทธ ํ…œํ”Œ๋ฆฟ ํ‘œ์‹œ ์ด๋ฆ„, foo์˜ ํƒœ๊ทธ ํ…œํ”Œ๋ฆฟ ํ•„๋“œ ์ด๋ฆ„, ๋ฌธ์ž์—ด์˜ foo ํƒœ๊ทธ ํ•„๋“œ ๊ฐ’, enum ๋˜๋Š” ์„œ์‹ ์žˆ๋Š” ํ…์ŠคํŠธ๋ฅผ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.
  • (๋ฏธ๋ฆฌ๋ณด๊ธฐ) foo๋ผ๋Š” ๋ฐ์ดํ„ฐ ์ŠคํŠœ์–ด๋“œ๊ฐ€ ์žˆ๋Š” ๋ฐ์ดํ„ฐ ์• ์…‹
  • (๋ฏธ๋ฆฌ๋ณด๊ธฐ) ๊ฐœ์š”์— foo๋ผ๋Š” ๋‹จ์–ด๊ฐ€ ํฌํ•จ๋œ ๋ฐ์ดํ„ฐ ์• ์…‹

๊ณต๊ฐœ ๋ฐ ๋น„๊ณต๊ฐœ ํƒœ๊ทธ๋ฅผ ๋ณผ ์ˆ˜ ์žˆ๋Š” ์—ญํ•  ๋ฐ ๊ถŒํ•œ์— ๋Œ€ํ•ด ์ž์„ธํžˆ ์•Œ์•„๋ณด๋ ค๋ฉด ๊ณต๊ฐœ ๋ฐ ๋น„๊ณต๊ฐœ ํƒœ๊ทธ๋ฅผ ๋ณผ ์ˆ˜ ์žˆ๋Š” ์—ญํ• ์„ ์ฐธ์กฐํ•˜์„ธ์š”.

ํ•œ์ •๋œ ์กฐ๊ฑด์ž

ํŠน์ • ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ ์กฐ๊ฐ์œผ๋กœ ์ผ์น˜๋ฅผ ์ œํ•œํ•˜๋Š” ํ‚ค๋ฅผ ์กฐ๊ฑด์ž์— ํ”„๋ฆฌํ”ฝ์Šค๋กœ ์ง€์ •ํ•˜์—ฌ ์กฐ๊ฑด์ž๋ฅผ ํ•œ์ •์‹œํ‚ฌ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋“ฑํ˜ธ(=)๋Š” ๊ฒ€์ƒ‰์„ ์ผ์น˜๊ฒ€์ƒ‰์œผ๋กœ ์ œํ•œํ•ฉ๋‹ˆ๋‹ค.

ํ‚ค ๋’ค์˜ ์ฝœ๋ก (:)์€ ์กฐ๊ฑด์ž๋ฅผ ๊ฒ€์ƒ‰๊ฒฐ๊ณผ ๊ฐ’์˜ ํ•˜์œ„ ๋ฌธ์ž์—ด ๋˜๋Š” ํ† ํฐ๊ณผ ์ผ์น˜์‹œํ‚ต๋‹ˆ๋‹ค.

ํ† ํฐํ™”๋Š” ํ…์ŠคํŠธ ์ŠคํŠธ๋ฆผ์„ ์ผ๋ จ์˜ ํ† ํฐ์œผ๋กœ ๋‚˜๋ˆ•๋‹ˆ๋‹ค. ๊ฐ ํ† ํฐ์€ ๋‹จ์–ด ํ•˜๋‚˜์— ํ•ด๋‹นํ•ฉ๋‹ˆ๋‹ค.

์˜ˆ๋ฅผ ๋“ค๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

  • name:foo๋Š” foo ํ•˜์œ„ ๋ฌธ์ž์—ด์ด ํฌํ•จ๋œ ์ด๋ฆ„์˜ ํ•ญ๋ชฉ์„ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค(foo1 ๋ฐ barfoo).
  • description:foo๋Š” ์„ค๋ช…์—์„œ foo ํ† ํฐ์ด ์žˆ๋Š” ํ•ญ๋ชฉ์„ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค(bar and foo).
  • location=foo๋Š” ์ง€์ •๋œ ์œ„์น˜์—์„œ ์œ„์น˜ ์ด๋ฆ„์ด foo์ธ ๋ชจ๋“  ๋ฐ์ดํ„ฐ ์• ์…‹์„ ์ฐพ์Šต๋‹ˆ๋‹ค.

Data Catalog๋Š” ๋‹ค์Œ ํ•œ์ •์ž๋ฅผ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค.

ํ•œ์ •์ž ์„ค๋ช…
name:x ๋ฐ์ดํ„ฐ ์• ์…‹ ID์˜ ํ•˜์œ„ ๋ฌธ์ž์—ด์ธ x๊ณผ ์ผ์น˜ํ•ฉ๋‹ˆ๋‹ค.
displayname:x ๋ฐ์ดํ„ฐ ์• ์…‹ ํ‘œ์‹œ ์ด๋ฆ„์˜ ํ•˜์œ„ ๋ฌธ์ž์—ด์ธ x๊ณผ ์ผ์น˜ํ•ฉ๋‹ˆ๋‹ค.
column:x ๋ฐ์ดํ„ฐ ์• ์…‹ ์Šคํ‚ค๋งˆ์—์„œ ์—ด ์ด๋ฆ„(๋˜๋Š” ์ค‘์ฒฉ ์—ด ์ด๋ฆ„)์˜ ํ•˜์œ„ ๋ฌธ์ž์—ด์ธ x๊ณผ ์ผ์น˜ํ•ฉ๋‹ˆ๋‹ค.
AND ๋…ผ๋ฆฌ ์—ฐ์‚ฐ์ž๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๊ฒฝ๋กœ๋ฅผ ํ†ตํ•ด ์ค‘์ฒฉ ์—ด์„ ๊ฒ€์ƒ‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
์˜ˆ๋ฅผ ๋“ค์–ด column:(foo bar)์€ ์ค‘์ฒฉ๋œ ์—ด์„ foo.bar ๊ฒฝ๋กœ์™€ ์ผ์น˜์‹œํ‚ต๋‹ˆ๋‹ค.
description:x ๋ฐ์ดํ„ฐ ์• ์…‹ ์„ค๋ช…์— ์žˆ๋Š” x ํ† ํฐ์„ ์ฐพ์Šต๋‹ˆ๋‹ค.
label:bar ๋ผ๋ฒจ(์ผ๋ถ€ ๊ฐ’ ํฌํ•จ)๊ฐ€ ์žˆ๋Š” BigQuery ๋ฐ์ดํ„ฐ ์• ์…‹์„ ์ฐพ์Šต๋‹ˆ๋‹ค. ๋ผ๋ฒจ ํ‚ค์—๋Š” ํ•˜์œ„ ๋ฌธ์ž์—ด์ธ bar๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.
label=bar ๋ผ๋ฒจ(์ผ๋ถ€ ๊ฐ’ ํฌํ•จ)์ด ์žˆ๋Š” BigQuery ๋ฐ์ดํ„ฐ ์• ์…‹์„ ์ฐพ์Šต๋‹ˆ๋‹ค. ๋ผ๋ฒจ ํ‚ค๋Š” bar ๋ฌธ์ž์—ด์— ํ•„์ ํ•ฉ๋‹ˆ๋‹ค.
label:bar:x BigQuery ๋ฐ์ดํ„ฐ ์• ์…‹์— ์—ฐ๊ฒฐ๋œ bar ํ‚ค๊ฐ€ ์žˆ๋Š” ๋ผ๋ฒจ์˜ ๊ฐ’์—์„œ ํ•˜์œ„ ๋ฌธ์ž์—ด๊ณผ ์ผ์น˜ํ•˜๋Š” x๋ฅผ ์ฐพ์Šต๋‹ˆ๋‹ค.
label=foo:bar ํ‚ค๊ฐ€ foo์ด๊ณ  ํ‚ค ๊ฐ’์ด bar์ธ BigQuery ๋ฐ์ดํ„ฐ ์• ์…‹์„ ์ฐพ์Šต๋‹ˆ๋‹ค.
label.foo=bar ํ‚ค๊ฐ€ foo์ด๊ณ  ํ‚ค ๊ฐ’์ด bar์ธ BigQuery ๋ฐ์ดํ„ฐ ์• ์…‹์„ ์ฐพ์Šต๋‹ˆ๋‹ค.
label.foo ํ‚ค๊ฐ€ ๋ฌธ์ž์—ด๋กœ foo์ธ ๋ผ๋ฒจ์ด ์žˆ๋Š” BigQuery ๋ฐ์ดํ„ฐ ์• ์…‹์„ ์ฐพ์Šต๋‹ˆ๋‹ค.
type=<type> ํŠน์ • ๊ฐ์ฒด ์œ ํ˜• ๋˜๋Š” ํ•˜์œ„ ์œ ํ˜•์˜ ๋ฐ์ดํ„ฐ ์• ์…‹์„ ์ฐพ์Šต๋‹ˆ๋‹ค. ํ•˜์œ„ ์œ ํ˜•์€ <type>.<sub-type>.
ํ˜•์‹์œผ๋กœ ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ ์œ ํ˜•๊ณผ ํ•˜์œ„ ์œ ํ˜•์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.
  • type=table์€ ๋ชจ๋“  ํ…Œ์ด๋ธ”, ๋ทฐ, ๊ตฌ์ฒดํ™”๋œ ๋ทฐ๋ฅผ ์ฐพ์Šต๋‹ˆ๋‹ค.
  • type=dataset๋Š” ๋ชจ๋“  ๋ฐ์ดํ„ฐ ์„ธํŠธ๋ฅผ ์ฐพ์Šต๋‹ˆ๋‹ค.
  • type=table.view ๋˜๋Š” type=view๋Š” ๊ตฌ์ฒดํ™”๋œ ๋ทฐ๋ฅผ ์ œ์™ธํ•œ ๋ชจ๋“  ๋ทฐ๋ฅผ ์ฐพ์Šต๋‹ˆ๋‹ค.
  • type=materialized_view๋Š” ๋ชจ๋“  ๊ตฌ์ฒดํ™”๋œ ๋ทฐ๋ฅผ ์ฐพ์Šต๋‹ˆ๋‹ค.
  • type=lake๋Š” ๋ชจ๋“  ๋ ˆ์ดํฌ๋ฅผ ์ฐพ์Šต๋‹ˆ๋‹ค.
  • type=zone์€ ๋ชจ๋“  ์˜์—ญ์„ ์ฐพ์Šต๋‹ˆ๋‹ค.
  • type=tag_template์€ ๋ชจ๋“  ํƒœ๊ทธ ํ…œํ”Œ๋ฆฟ์„ ์ฐพ์Šต๋‹ˆ๋‹ค.
  • type=entry_group์€ ๋ชจ๋“  ํ•ญ๋ชฉ ๊ทธ๋ฃน์„ ์ฐพ์Šต๋‹ˆ๋‹ค.
  • type=data_stream์€ ๋ชจ๋“  Pub/Sub ์ฃผ์ œ๋ฅผ ์ฐพ์Šต๋‹ˆ๋‹ค.
  • (๋ฏธ๋ฆฌ๋ณด๊ธฐ) type=dataset.linked๋Š” ๋ชจ๋“  Analytics Hub ์—ฐ๊ฒฐ ๋ฐ์ดํ„ฐ ์„ธํŠธ์™€ ์ผ์น˜ํ•ฉ๋‹ˆ๋‹ค.
projectid:bar ํด๋ผ์šฐ๋“œ ํ”„๋กœ์ ํŠธ ๋‚ด ID์—์„œ bar ํ•˜์œ„ ๋ฌธ์ž์—ด๊ณผ ์ผ์น˜ํ•˜๋Š” ๋ฐ์ดํ„ฐ ์• ์…‹์„ ์ฐพ์Šต๋‹ˆ๋‹ค.
parent:x BigQuery ๋ฐ์ดํ„ฐ ์• ์…‹์˜ ๊ณ„์ธต์  ๊ฒฝ๋กœ์˜ ํ•˜์œ„ ๋ฌธ์ž์—ด๊ณผ ์ผ์น˜ํ•˜๋Š” x๋ฅผ ์ฐพ์Šต๋‹ˆ๋‹ค. ๊ฒฝ๋กœ์˜ ํ˜•์‹์€ <project_id>.<dataset_name>์ž…๋‹ˆ๋‹ค.
์˜ˆ๋ฅผ ๋“ค์–ด parent:foo.bar๋Š” ๊ฒฝ๋กœ๊ฐ€ project-foo.bar-dataset์ธ ๋ฐ์ดํ„ฐ ์„ธํŠธ์˜ ๋ชจ๋“  ํ…Œ์ด๋ธ”๊ณผ ๋ทฐ๋ฅผ ์ฐพ์Šต๋‹ˆ๋‹ค.
orgid=number number์˜ ์ •ํ™•ํ•œ ID ๊ฐ’์„ ๊ฐ€์ง„ ํด๋ผ์šฐ๋“œ ์กฐ์ง ๋‚ด์˜ ๋ฐ์ดํ„ฐ ์• ์…‹๊ณผ ์ผ์น˜ํ•ฉ๋‹ˆ๋‹ค.
system=<system> ์ง€์ •๋œ ์‹œ์Šคํ…œ์—์„œ ๋ชจ๋“  ๋ฐ์ดํ„ฐ ์• ์…‹์„ ์ฐพ์Šต๋‹ˆ๋‹ค.
์‹œ์Šคํ…œ์€ ๋‹ค์Œ์„ ํฌํ•จํ•ฉ๋‹ˆ๋‹ค:
  • system=bigquery๋Š” BigQuery์˜ ๋ชจ๋“  ๋ฐ์ดํ„ฐ ์• ์…‹์„ ์ฐพ์Šต๋‹ˆ๋‹ค.
  • system=cloud_bigtable์€ Bigtable์˜ ๋ชจ๋“  ๋ฐ์ดํ„ฐ ์• ์…‹์„ ์ฐพ์Šต๋‹ˆ๋‹ค.
  • system=cloud_pubsub์€ Pub/Sub์˜ ๋ชจ๋“  ๋ฐ์ดํ„ฐ ์• ์…‹์„ ์ฐพ์Šต๋‹ˆ๋‹ค.
  • system=cloud_spanner๋Š” Spanner์˜ ๋ชจ๋“  ๋ฐ์ดํ„ฐ ์• ์…‹์„ ์ฐพ์Šต๋‹ˆ๋‹ค.
  • system=dataproc_metastore๋Š” Dataproc Metastore์˜ ๋ชจ๋“  ๋ฐ์ดํ„ฐ ์• ์…‹์„ ์ฐพ์Šต๋‹ˆ๋‹ค.
  • system=data_catalog๋Š” Data Catalog์—์„œ ์ƒ์„ฑ๋œ ๋ชจ๋“  ๋ฐ์ดํ„ฐ ์• ์…‹์„ ์ฐพ์Šต๋‹ˆ๋‹ค.
  • system=dataplex๋Š” Dataplex์—์„œ ์ƒ์„ฑ๋œ ๋ชจ๋“  ๋ฐ์ดํ„ฐ ์• ์…‹์„ ์ฐพ์Šต๋‹ˆ๋‹ค.
location=<location> ์ง€์ •๋œ ์œ„์น˜์—์„œ ์ด๋ฆ„์ด ์ •ํ™•ํ•˜๊ฒŒ ์ผ์น˜ํ•˜๋Š” ๋ชจ๋“  ๋ฐ์ดํ„ฐ ์• ์…‹์„ ๊ฒ€์ƒ‰ํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด location=us-central1์€ Iowa์— ํ˜ธ์ŠคํŒ…๋˜๋Š” ๋ชจ๋“  ์ผ์น˜ํ•˜๋Š” ์• ์…‹์„ ๊ฒ€์ƒ‰ํ•ฉ๋‹ˆ๋‹ค.
์ง€์›๋˜๋Š” ์œ„์น˜์˜ ์ „์ฒด ๋ชฉ๋ก์€ Data Catalog ๋ฆฌ์ „์„ ์ฐธ์กฐํ•˜์„ธ์š”.
cluster_location=<location> ์ •ํ™•ํ•œ ์ด๋ฆ„์„ ์‚ฌ์šฉํ•ด์„œ ์ง€์ •๋œ ์œ„์น˜์˜ ๋ชจ๋“  Bigtable ๋ฐ์ดํ„ฐ ์• ์…‹์„ ์ฐพ์Šต๋‹ˆ๋‹ค.
์˜ˆ๋ฅผ ๋“ค์–ด cluster_location=us-central1์€ ์•„์ด์˜ค์™€์—์„œ ํ˜ธ์ŠคํŒ…๋˜๋Š” ๋ชจ๋“  ์• ์…‹์„ ์ฐพ์Šต๋‹ˆ๋‹ค.
์ง€์›๋˜๋Š” ์œ„์น˜์˜ ์ „์ฒด ๋ชฉ๋ก์€ Bigtable ๋ฆฌ์ „์„ ์ฐธ์กฐํ•˜์„ธ์š”.
tag:x x๊ฐ€ ๋น„๊ณต๊ฐœ ๋˜๋Š” ๊ณต๊ฐœ ํƒœ๊ทธ์˜ <tag_template_project_id>.<tag_template_id>.<tag_field_id>์— ์žˆ๋Š” ํ•˜์œ„ ๋ฌธ์ž์—ด๊ณผ ์ผ์น˜ํ•˜๋Š” ๋ฐ์ดํ„ฐ ์• ์…‹์„ ์ฐพ์Šต๋‹ˆ๋‹ค.
์˜ˆ:
  • tag:data_owner์€ data_owner ํƒœ๊ทธ๊ฐ€ ์žˆ๋Š” ๋ฐ์ดํ„ฐ ์• ์…‹์„ ์ฐพ์Šต๋‹ˆ๋‹ค.
  • tag:data_gov_template์€ data_gov_template ํƒœ๊ทธ ํ…œํ”Œ๋ฆฟ์œผ๋กœ ํƒœ๊น…๋œ ๋ฐ์ดํ„ฐ ์• ์…‹์„ ์ฐพ์Šต๋‹ˆ๋‹ค.
  • tag:mycloudproject.data_gov_template์€ mycloudproject ํ”„๋กœ์ ํŠธ์˜ data_gov_template ํ…œํ”Œ๋ฆฟ ํƒœ๊ทธ๊ฐ€ ์ง€์ •๋œ ๋ฐ์ดํ„ฐ ์• ์…‹์„ ์ฐพ์Šต๋‹ˆ๋‹ค.
tag:key<operator>val ๋จผ์ € key๋ฅผ ํƒœ๊ทธ ํ…œํ”Œ๋ฆฟ์˜ Google Cloud ํ”„๋กœ์ ํŠธ ID, ํƒœ๊ทธ ํ…œํ”Œ๋ฆฟ ID, ๋˜๋Š” ํƒœ๊ทธ ํ•„๋“œ ID์˜ ํ•˜์œ„ ๋ฌธ์ž์—ด๊ณผ ์ผ์น˜์‹œํ‚ต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฐ ๋‹ค์Œ ํƒœ๊ทธ ํ•„๋“œ ์œ ํ˜•์— ๋”ฐ๋ผ val์„ key์˜ ํƒœ๊ทธ ๊ฐ’๊ณผ ์ผ์น˜์‹œํ‚ต๋‹ˆ๋‹ค.
ํƒœ๊ทธ ๊ฐ’์— ํ—ˆ์šฉ๋˜๋Š” ์œ ํ˜•์— ์ข…์†๋œ <operator> ์ง‘ํ•ฉ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.
  • string/richtext: ":"
    ์ฐธ๊ณ : ์ด ๋ฌธ์ž์—ด ๊ฒ€์ƒ‰์˜ ์ฝœ๋ก ์€ ํ•˜์œ„ ๋ฌธ์ž์—ด์ด ์•„๋‹Œ ์ •ํ™•ํ•œ ํ† ํฐ ์ผ์น˜๋ฅผ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค.
  • boolean ๋ฐ enum: '='
  • double: '=', '<', '>', '<=', '>='
  • timestamp: ':', '=', '<', '>', '<=', '>='
์˜ˆ:
  • string: tag:data_owner:@mail.com์€ @mail.com ๊ฐ’์„ ๊ฐ–๋Š” ๋ฐ์ดํ„ฐ ์• ์…‹์„ ์ฐพ์Šต๋‹ˆ๋‹ค.
  • boolean: tag:data_gov_template.hasPII=true๋Š” true์ธ data_gov_template์˜ hasPII boolean ํƒœ๊ทธ๋ฅผ ์ฐพ์Šต๋‹ˆ๋‹ค.
  • enum: tag:certification_level_1=HIGHEST.
  • double: tag:datascore=9๋Š” ๊ฐ’ 9์˜ datascore double ํƒœ๊ทธ๊ฐ€ ์žˆ๋Š” ๋ฐ์ดํ„ฐ ์• ์…‹์„ ์ฐพ์Šต๋‹ˆ๋‹ค.
  • timestamp: tag:expiredDate:2019-01-01์€ expiredDate ํƒœ๊ทธ๊ฐ€ 2019-01-01์ธ ๋ฐ์ดํ„ฐ ์• ์…‹์„ ์ฐพ์Šต๋‹ˆ๋‹ค.
  • timestamp: tag:expiredDate<2019-02๋Š” expiredDate ํƒœ๊ทธ๊ฐ€ 2019-02-01T00:00:00 ์ด์ „์ธ ๋ฐ์ดํ„ฐ ์• ์…‹์„ ์ฐพ์Šต๋‹ˆ๋‹ค.
createtime ์ง€์ •๋œ ๋‚ ์งœ๋‚˜ ์‹œ๊ฐ„ ๋‚ด์—, ์ด์ „์— ๋˜๋Š” ์ดํ›„์— ์ƒ์„ฑ๋œ ๋ฐ์ดํ„ฐ ์• ์…‹์„ ์ฐพ์Šต๋‹ˆ๋‹ค.
์˜ˆ:
  • createtime:2019-01-01์€ 2019-01-01์— ์ƒ์„ฑ๋œ ๋ฐ์ดํ„ฐ ์• ์…‹์„ ์ฐพ์Šต๋‹ˆ๋‹ค.
  • createtime<2019-02๋Š” 2019-02-01T00:00:00 ์ด์ „์— ์ƒ์„ฑ๋œ ๋ฐ์ดํ„ฐ ์• ์…‹์„ ์ฐพ์Šต๋‹ˆ๋‹ค.
  • createtime>2019-02๋Š” 2019-02-01T00:00:00 ์ดํ›„์— ์ƒ์„ฑ๋œ ๋ฐ์ดํ„ฐ ์• ์…‹์„ ์ฐพ์Šต๋‹ˆ๋‹ค.
updatetime ์ง€์ •๋œ ๋‚ ์งœ๋‚˜ ์‹œ๊ฐ„ ๋‚ด์—, ์ด์ „ ๋˜๋Š” ์ดํ›„์— ์—…๋ฐ์ดํŠธ๋œ ๋ฐ์ดํ„ฐ ์• ์…‹์„ ์ฐพ์Šต๋‹ˆ๋‹ค.
์˜ˆ:
  • updatetime:2019-01-01์€ 2019-01-01์— ์—…๋ฐ์ดํŠธ๋œ ๋ฐ์ดํ„ฐ ์• ์…‹์„ ์ฐพ์Šต๋‹ˆ๋‹ค.
  • updatetime<2019-02๋Š” 2019-02-01T00:00:00 ์ด์ „์— ์—…๋ฐ์ดํŠธ๋œ ๋ฐ์ดํ„ฐ ์• ์…‹์„ ์ฐพ์Šต๋‹ˆ๋‹ค.
  • updatetime>2019-02๋Š” 2019-02-01T00:00:00 ์ดํ›„์— ์—…๋ฐ์ดํŠธ๋œ ๋ฐ์ดํ„ฐ ์• ์…‹์„ ์ฐพ์Šต๋‹ˆ๋‹ค.
policytag:x ์ •์ฑ… ํƒœ๊ทธ ํ‘œ์‹œ ์ด๋ฆ„์˜ ํ•˜์œ„ ๋ฌธ์ž์—ด๊ณผ ์ผ์น˜ํ•˜๋Š” x๋ฅผ ์ฐพ์Šต๋‹ˆ๋‹ค. ์ผ์น˜ํ•˜๋Š” ์ •์ฑ… ํƒœ๊ทธ ๋˜๋Š” ํ•˜์œ„ ์š”์†Œ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ชจ๋“  ์• ์…‹์„ ์ฐพ์Šต๋‹ˆ๋‹ค.
policytagid=x ์ •์ฑ… ํƒœ๊ทธ ๋˜๋Š” ๋ถ„๋ฅ˜ ID์™€ ์ผ์น˜ํ•˜๋Š” x๋ฅผ ์ฐพ์Šต๋‹ˆ๋‹ค. ์ผ์น˜ํ•˜๋Š” ์ •์ฑ… ํƒœ๊ทธ ๋˜๋Š” ํ•˜์œ„ ์š”์†Œ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ชจ๋“  ์• ์…‹์„ ์ฐพ์Šต๋‹ˆ๋‹ค.
term:x ์ด๋ฆ„, ์„ค๋ช… ๋˜๋Š” ๋ฐ์ดํ„ฐ ์ŠคํŠœ์–ด๋“œ์˜ ํ•˜์œ„ ๋ฌธ์ž์—ด์ด x์™€ ์ผ์น˜ํ•˜๋Š” ๋น„์ฆˆ๋‹ˆ์Šค ์šฉ์–ด์ง‘ ์šฉ์–ด์— ์—ฐ๊ฒฐ๋œ ๋ฐ์ดํ„ฐ ์• ์…‹๊ณผ ์ผ์น˜ํ•ฉ๋‹ˆ๋‹ค.
fully_qualified_name:x fully_qualified_name์˜ ํ•˜์œ„ ๋ฌธ์ž์—ด๋กœ์„œ x์™€ ์ผ์น˜ํ•ฉ๋‹ˆ๋‹ค.
fully_qualified_name=x fully_qualified_name์œผ๋กœ x์™€ ์ผ์น˜ํ•ฉ๋‹ˆ๋‹ค.

๋…ผ๋ฆฌ ์—ฐ์‚ฐ์ž

๋…ผ๋ฆฌ ์—ฐ์‚ฐ์ž์™€ ์—ฌ๋Ÿฌ ์กฐ๊ฑด์ž๋ฅผ ๋ฌถ์–ด์„œ ์ฟผ๋ฆฌ๋ฅผ ๊ตฌ์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์—ฐ์‚ฐ์ž๋ฅผ ์ง€์ •ํ•˜์ง€ ์•Š์œผ๋ฉด ๋…ผ๋ฆฌ์  AND๊ฐ€ ์•”์‹œ์ ์œผ๋กœ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด foo bar๋Š” ์กฐ๊ฑด์ž foo์™€ ์กฐ๊ฑด์ž bar ๋ชจ๋‘ ์ถฉ์กฑํ•˜๋Š” ํ•ญ๋ชฉ์„ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.

๋…ผ๋ฆฌ์  AND์™€ ๋…ผ๋ฆฌ์  OR์ด ์ง€์›๋ฉ๋‹ˆ๋‹ค. ์˜ˆ: foo OR bar.

- ๋˜๋Š” NOT ํ”„๋ฆฌํ”ฝ์Šค๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์กฐ๊ฑด์ž๋ฅผ ๋ถ€์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด -name:foo๋Š” ์ด๋ฆ„์ด foo ์กฐ๊ฑด์ž์™€ ์ผ์น˜ํ•˜์ง€ ์•Š๋Š” ๋ชจ๋“  ํ•ญ๋ชฉ์„ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.

์ถ•์•ฝ๋œ ๊ตฌ๋ฌธ

OR ์—ฐ์‚ฐ์ž์— |๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  AND ์—ฐ์‚ฐ์ž์— ,๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ถ•์•ฝ ๊ฒ€์ƒ‰ ๊ตฌ๋ฌธ์„ ์‚ฌ์šฉํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค.

์˜ˆ๋ฅผ ๋“ค์–ด OR ์—ฐ์‚ฐ์ž๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์—ฌ๋Ÿฌ ํ”„๋กœ์ ํŠธ ์ค‘ ํ•˜๋‚˜์—์„œ ํ•ญ๋ชฉ์„ ๊ฒ€์ƒ‰ํ•˜๋ ค๋ฉด ๋‹ค์Œ์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

projectid:(pid1|pid2|pid3|pid4)

๋‹ค์Œ์„ ๋Œ€์‹ ํ•ด์„œ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

projectid:pid1 OR projectid:pid2 OR projectid:pid3 OR projectid:pid4

์ผ์น˜ํ•˜๋Š” ์—ด ์ด๋ฆ„์ด ์žˆ๋Š” ํ•ญ๋ชฉ์„ ๊ฒ€์ƒ‰ํ•˜๋ ค๋ฉด ๋‹ค์Œ ์•ˆ๋‚ด๋ฅผ ๋”ฐ๋ฅด์„ธ์š”.

  • AND: column:(name1, name2, name3)
  • OR: column:(name1|name2|name3)

์ถ•์•ฝ๋œ ๊ตฌ๋ฌธ์€ tag, term, policytag, policytagid, label์„ ์ œ์™ธํ•˜๊ณ  ์•ž์„œ ๋‚˜์—ด๋œ ์ž๊ฒฉ์ด ์žˆ๋Š” ์„œ์ˆ ์–ด์— ์ ์šฉ๋ฉ๋‹ˆ๋‹ค.