๋ณ€ํ™˜ ์ž‘์—…๊ณต๊ฐ„ ์ž‘์—…

๋ณ€ํ™˜ ์ž‘์—…๊ณต๊ฐ„์„ ์‚ฌ์šฉํ•˜๋ฉด ๋ณ€ํ™˜ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ณ , ๋Œ€ํ™”ํ˜• ํŽธ์ง‘๊ธฐ๋กœ ๊ฐ์ฒด๋ฅผ ์ˆ˜์ •ํ•˜๊ณ , ๋ณ€ํ™˜๋œ ์Šคํ‚ค๋งˆ๋ฅผ ๋Œ€์ƒ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ์ ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ํŽ˜์ด์ง€์—์„œ๋Š” ์ „ํ™˜ ์ž‘์—…๊ณต๊ฐ„์œผ๋กœ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๋Š” ๋ชจ๋“  ์ž‘์—…์„ ๊ฐ„๋žตํžˆ ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค.

Gemini ๊ธฐ๋ฐ˜ ์ž๋™ ๋ณ€ํ™˜์„ ์œ„ํ•ด ์›Œํฌ์ŠคํŽ˜์ด์Šค ์—…๊ทธ๋ ˆ์ด๋“œ

์—…๊ทธ๋ ˆ์ด๋“œ๋œ ๋ณ€ํ™˜ ์ž‘์—…๊ณต๊ฐ„์—์„œ๋Š” Gemini ๊ธฐ๋ฐ˜ ์ž๋™ ๋ณ€ํ™˜ ๋ฐ ๋ณ€ํ™˜ ๊ฐœ์š” ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋ณ€ํ™˜ ์ž‘์—…๊ณต๊ฐ„์„ ์—…๊ทธ๋ ˆ์ด๋“œํ•˜๋ ค๋ฉด ๋‹ค์Œ ๋‹จ๊ณ„๋ฅผ ๋”ฐ๋ฅด์„ธ์š”.

  1. Google Cloud ์ฝ˜์†”์—์„œ ๋ณ€ํ™˜ ์ž‘์—…๊ณต๊ฐ„์œผ๋กœ ์ด๋™ํ•˜์—ฌ ์ž‘์—…๊ณต๊ฐ„์„ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.

    ๋ณ€ํ™˜ ์ž‘์—…๊ณต๊ฐ„์œผ๋กœ ์ด๋™

  2. ์—…๊ทธ๋ ˆ์ด๋“œํ•  ๊ธฐ๋Šฅ ์‚ดํŽด๋ณด๊ธฐ๋ฅผ ํด๋ฆญํ•˜๊ณ  ๋Œ€ํ™”์ƒ์ž์—์„œ ํ˜œํƒ์„ ์ˆ˜๋ฝํ•ฉ๋‹ˆ๋‹ค.

    ๋ณ€ํ™˜ ์ž‘์—…๊ณต๊ฐ„ ์ธํ„ฐํŽ˜์ด์Šค์— ๋ณ€ํ™˜ ์ž‘์—…๊ณต๊ฐ„ ์—…๊ทธ๋ ˆ์ด๋“œ ํ˜œํƒ์„ ํ‘œ์‹œํ•˜๋Š” ๋Œ€ํ™”์ƒ์ž
    ๊ทธ๋ฆผ 1. ๋ณ€ํ™˜ ์ž‘์—…๊ณต๊ฐ„ ์—…๊ทธ๋ ˆ์ด๋“œ ํ˜œํƒ์ž…๋‹ˆ๋‹ค. (ํ™•๋Œ€ํ•˜๋ ค๋ฉด ํด๋ฆญ)
    ๋ณ€ํ™˜ ์ž‘์—…๊ณต๊ฐ„ ์ธํ„ฐํŽ˜์ด์Šค์— ๋ณ€ํ™˜ ์ž‘์—…๊ณต๊ฐ„ ์—…๊ทธ๋ ˆ์ด๋“œ ํ˜œํƒ์„ ํ‘œ์‹œํ•˜๋Š” ๋Œ€ํ™”์ƒ์ž

์ „ํ™˜ ์ƒํƒœ ๊ฒ€ํ† 

๋ณ€ํ™˜๋œ ๊ฐ์ฒด ์ˆ˜, ๋ณ€ํ™˜ ๋ฌธ์ œ, Gemini ์ง€์› ๋ณ€ํ™˜ ๊ฐœ์„ ์‚ฌํ•ญ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋Š” ๋ณ€ํ™˜ ๊ฐœ์š” ํƒญ์ด ์žˆ๋Š” ๋ณ€ํ™˜ ์ž‘์—…๊ณต๊ฐ„ ํ™”๋ฉด
๊ทธ๋ฆผ 2. ๋ณ€ํ™˜ ์ž‘์—…๊ณต๊ฐ„ ๊ฐœ์š” ํ™”๋ฉด (ํ™•๋Œ€ํ•˜๋ ค๋ฉด ํด๋ฆญ)
๋ณ€ํ™˜๋œ ๊ฐ์ฒด ์ˆ˜, ๋ณ€ํ™˜ ๋ฌธ์ œ, Gemini ์ง€์› ๋ณ€ํ™˜ ๊ฐœ์„ ์‚ฌํ•ญ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋Š” ๋ณ€ํ™˜ ๊ฐœ์š” ํƒญ์ด ์žˆ๋Š” ๋ณ€ํ™˜ ์ž‘์—…๊ณต๊ฐ„ ํ™”๋ฉด

๋ณ€ํ™˜ ๊ฐœ์š” ์„น์…˜์—์„œ๋Š” ์Šคํ‚ค๋งˆ ๋ณ€ํ™˜์— ๊ด€ํ•œ ๋ชจ๋“  ์ •๋ณด๋ฅผ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ณ€ํ™˜๋œ ๊ฐ์ฒด์˜ ์ˆ˜์™€ ์œ ํ˜•, ๋ณ€ํ™˜ ์ƒํƒœ (๋ฏธํ•ด๊ฒฐ ๋˜๋Š” ํ•ด๊ฒฐ๋œ ๋ฌธ์ œ ํฌํ•จ), Gemini ์ง€์› ์ž๋™ ๋ณ€ํ™˜์—์„œ ์ œ๊ณตํ•˜๋Š” ๊ฐœ์„ ์‚ฌํ•ญ ๋ชฉ๋ก์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๊ฐ ์นดํ…Œ๊ณ ๋ฆฌ์˜ ํ•„ํ„ฐ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์œ ํ˜•, ๋ฌธ์ œ ์‹ฌ๊ฐ๋„, ๋ฏธํ•ด๊ฒฐ ๋˜๋Š” ํ•ด๊ฒฐ๋œ ๋ฌธ์ œ๋ณ„๋กœ ํŠธ๋ฆฌ ๋ทฐ์— ํ‘œ์‹œ๋˜๋Š” ๊ฐ์ฒด ์ˆ˜๋ฅผ ์ขํž ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค. ์ „ํ™˜ ๊ฐœ์š”๋Š” ์—…๊ทธ๋ ˆ์ด๋“œ๋œ ์ „ํ™˜ ์ž‘์—…๊ณต๊ฐ„์—๋งŒ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ฝ”๋“œ ๋ฐ ์Šคํ‚ค๋งˆ ๋ณ€ํ™˜ ์ง„ํ–‰ ์ƒํ™ฉ์— ๊ด€ํ•œ ์ž์„ธํ•œ ์ •๋ณด๋ฅผ ๋ณด๋ ค๋ฉด ๋‹ค์Œ ๋‹จ๊ณ„๋ฅผ ๋”ฐ๋ฅด์„ธ์š”.

  1. Google Cloud ์ฝ˜์†”์—์„œ ๋ณ€ํ™˜ ์ž‘์—…๊ณต๊ฐ„์œผ๋กœ ์ด๋™ํ•˜์—ฌ ์ž‘์—…๊ณต๊ฐ„์„ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.

    ๋ณ€ํ™˜ ์ž‘์—…๊ณต๊ฐ„์œผ๋กœ ์ด๋™

  2. Oracle ํƒญ์—์„œ ์Šคํ‚ค๋งˆ ํŠธ๋ฆฌ ๋ทฐ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋‹ค์Œ ์ค‘ ํ•˜๋‚˜๋ฅผ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค.
    • Oracle์„ ์„ ํƒํ•˜์—ฌ ์ž‘์—…๊ณต๊ฐ„์˜ ๋ณ€ํ™˜๋œ ๋ชจ๋“  ์Šคํ‚ค๋งˆ์— ์žˆ๋Š” ๋ชจ๋“  ๊ฐ์ฒด์˜ ์ •๋ณด๋ฅผ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.
    • ํŠน์ • ์Šคํ‚ค๋งˆ ๋˜๋Š” ๊ฐ์ฒด๋ฅผ ์„ ํƒํ•˜์—ฌ ๊ฐ์ฒด ํ•˜์œ„ ์ง‘ํ•ฉ์˜ ๋ณ€ํ™˜ ์„ธ๋ถ€์ •๋ณด๋ฅผ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.
  3. ์ „ํ™˜ ๊ฐœ์š” ํƒญ์—์„œ ์ „ํ™˜๋œ ๊ฐ์ฒด ์š”์•ฝ ์„น์…˜์˜ ์ •๋ณด๋ฅผ ์‚ดํŽด๋ด…๋‹ˆ๋‹ค. Oracle ํƒญ์˜ ํŠธ๋ฆฌ ๋ทฐ์— ํ•„ํ„ฐ๋ฅผ ์ ์šฉํ•˜๋ ค๋ฉด ๊ฐ์ฒด ํ‘œ์‹œ ๋ฒ„ํŠผ์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.
  4. ์ „ํ™˜ ๋ฌธ์ œ ํƒญ์„ ์‚ฌ์šฉํ•˜์—ฌ ์ „ํ™˜ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜์„ธ์š”. ์ž์„ธํ•œ ๋‚ด์šฉ์€ ์ „ํ™˜ ๋ฌธ์ œ ํ•ด๊ฒฐ์„ ์ฐธ๊ณ ํ•˜์„ธ์š”.

์†Œ์Šค ์Šคํ‚ค๋งˆ์—์„œ ๊ฐ์ฒด ์‚ญ์ œ

๊ฐ์ฒด๋ฅผ ์†Œ์Šค ์Šคํ‚ค๋งˆ์—์„œ ์‚ญ์ œํ•˜์—ฌ ๋ณ€ํ™˜์—์„œ ์ œ์™ธํ•ฉ๋‹ˆ๋‹ค. ํ•„์š”ํ•œ ๊ฒฝ์šฐ ๋‚˜์ค‘์— ์‚ญ์ œ๋œ ๊ฐ์ฒด๋ฅผ ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  1. Google Cloud ์ฝ˜์†”์—์„œ ๋ณ€ํ™˜ ์ž‘์—…๊ณต๊ฐ„์œผ๋กœ ์ด๋™ํ•˜์—ฌ ์ž‘์—…๊ณต๊ฐ„์„ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.

    ๋ณ€ํ™˜ ์ž‘์—…๊ณต๊ฐ„์œผ๋กœ ์ด๋™

  2. Oracle ํƒญ์—์„œ ์‚ญ์ œํ•˜๋ ค๋Š” ๊ฐ์ฒด ์˜†์— ์žˆ๋Š” ๋”๋ณด๊ธฐ > ์‚ญ์ œ๋ฅผ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.
  3. ๊ฐ์ฒด ์‚ญ์ œ ํ™•์ธ ๋Œ€ํ™”์ƒ์ž์—์„œ ์‚ญ์ œ๋ฅผ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.
  4. ๋ณ€ํ™˜๋œ ์Šคํ‚ค๋งˆ๋ฅผ ์ƒˆ๋กœ๊ณ ์นจํ•ฉ๋‹ˆ๋‹ค. ์†Œ์Šค ๋ณ€ํ™˜์„ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค. ์ด์ œ Database Migration Service๊ฐ€ ๋ณ€๊ฒฝ์‚ฌํ•ญ์„ ๋ถ„์„ํ•˜๊ณ  ์—…๋ฐ์ดํŠธ๋œ PostgreSQL ์Šคํ‚ค๋งˆ๋ฅผ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.

    PostgreSQL์šฉ Cloud SQL ์ดˆ์•ˆ ํƒญ์—์„œ ๋ณ€ํ™˜๋œ ์Šคํ‚ค๋งˆ๋ฅผ ๊ฒ€์‚ฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์†Œ์Šค ์Šคํ‚ค๋งˆ์— ๊ฐ์ฒด ์ถ”๊ฐ€

์ด์ „์— ์†Œ์Šค ์Šคํ‚ค๋งˆ์—์„œ ์‚ญ์ œํ•œ ๊ฐ์ฒด๋ฅผ ์ถ”๊ฐ€ํ•˜์—ฌ ๋ณ€ํ™˜์— ํฌํ•จํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  1. Google Cloud ์ฝ˜์†”์—์„œ ๋ณ€ํ™˜ ์ž‘์—…๊ณต๊ฐ„์œผ๋กœ ์ด๋™ํ•˜์—ฌ ์ž‘์—…๊ณต๊ฐ„์„ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.

    ๋ณ€ํ™˜ ์ž‘์—…๊ณต๊ฐ„์œผ๋กœ ์ด๋™

  2. Oracle ํƒญ์—์„œ ๊ฐ์ฒด ์ถ”๊ฐ€๋ฅผ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.
  3. ๊ฐ์ฒด ์ถ”๊ฐ€ ์„น์…˜์—์„œ ์†Œ์Šค ๋ชฉ๋ก์„ ์‚ฌ์šฉํ•˜์—ฌ ์†Œ์Šค ์Šคํ‚ค๋งˆ์— ์ถ”๊ฐ€ํ•  ๋ชจ๋“  ํ•ญ๋ชฉ์„ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.

    ๊ฐ์ฒด ํ•„ํ„ฐ๋ง ๋ฒ„ํŠผ์„ ์‚ฌ์šฉํ•˜์—ฌ ํ‘œ์‹œ๋˜๋Š” ๊ฐ์ฒด ์ˆ˜๋ฅผ ์ค„์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์†Œ์Šค ์Šคํ‚ค๋งˆ ๋ทฐ์—์„œ ๊ฐ์ฒด ํ•„ํ„ฐ๋ง์„ ์ฐธ๊ณ ํ•˜์„ธ์š”.

  4. ๊ฐ์ฒด ์ถ”๊ฐ€๋ฅผ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.
  5. ๋ณ€ํ™˜๋œ ์Šคํ‚ค๋งˆ๋ฅผ ์ƒˆ๋กœ๊ณ ์นจํ•ฉ๋‹ˆ๋‹ค. ์†Œ์Šค ๋ณ€ํ™˜์„ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค. ์ด์ œ Database Migration Service๊ฐ€ ๋ณ€๊ฒฝ์‚ฌํ•ญ์„ ๋ถ„์„ํ•˜๊ณ  ์—…๋ฐ์ดํŠธ๋œ PostgreSQL ์Šคํ‚ค๋งˆ๋ฅผ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.

    PostgreSQL์šฉ Cloud SQL ์ดˆ์•ˆ ํƒญ์—์„œ ๋ณ€ํ™˜๋œ ์Šคํ‚ค๋งˆ๋ฅผ ๊ฒ€์‚ฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์†Œ์Šค ์Šคํ‚ค๋งˆ ๋ฐ ์ฝ”๋“œ ์Šค๋ƒ…์ƒท ๊ฐ€์ ธ์˜ค๊ธฐ

์–ธ์ œ๋“ ์ง€ ์†Œ์Šค ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์—์„œ ์Šคํ‚ค๋งˆ์™€ ์ฝ”๋“œ๋ฅผ ๋ณ€ํ™˜ ์ž‘์—…๊ณต๊ฐ„์œผ๋กœ ๊ฐ€์ ธ์˜ฌ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์†Œ์Šค๋ฅผ ๊ฐ€์ ธ์˜ค๋ฉด ์ „ํ™˜์—์„œ ์ƒˆ ๊ฐ์ฒด๋ฅผ ์ถ”๊ฐ€ํ•˜๊ฑฐ๋‚˜ ๊ธฐ์กด ๊ฐ์ฒด๋ฅผ ์—…๋ฐ์ดํŠธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์—…๋ฐ์ดํŠธ๋œ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์Šคํ‚ค๋งˆ์™€ ์ฝ”๋“œ๋ฅผ ๊ฐ€์ ธ์™€๋„ ์ปค์Šคํ…€ ๋งคํ•‘์„ ๋ช…์‹œ์ ์œผ๋กœ ์‚ญ์ œํ•˜์ง€ ์•Š๋Š” ํ•œ ๋ณ€ํ™˜ ์ž‘์—…๊ณต๊ฐ„์— ์žˆ๋Š” ์ปค์Šคํ…€ ๋งคํ•‘์€ ์žฌ์„ค์ •๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

๋˜ํ•œ ์†Œ์Šค๋ฅผ ๊ฐ€์ ธ์™€๋„ ์ฝ”๋“œ ๊ฐ์ฒด์˜ SQL ๋ณ€๊ฒฝ์‚ฌํ•ญ์ด ์žฌ์ •์˜๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๊ฐ์ฒด ์ˆ˜์ค€์—์„œ ์ด๋Ÿฌํ•œ ๋ณ€๊ฒฝ์‚ฌํ•ญ์„ ์ง์ ‘ ์žฌ์„ค์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  1. Google Cloud ์ฝ˜์†”์—์„œ ๋ณ€ํ™˜ ์ž‘์—…๊ณต๊ฐ„์œผ๋กœ ์ด๋™ํ•˜์—ฌ ์ž‘์—…๊ณต๊ฐ„์„ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.

    ๋ณ€ํ™˜ ์ž‘์—…๊ณต๊ฐ„์œผ๋กœ ์ด๋™

  2. ๊ตฌ์„ฑ ์ˆ˜์ • > ์†Œ์Šค ์Šคํ‚ค๋งˆ ์Šค๋ƒ…์ƒท ๋‹ค์‹œ ๊ฐ€์ ธ์˜ค๊ธฐ๋ฅผ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.
  3. ๋Œ€ํ™”์ƒ์ž์—์„œ ๋‹ค์Œ์„ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค.
    1. ์„ ํƒ์‚ฌํ•ญ: ๋งž์ถค ๋งคํ•‘ ์žฌ์„ค์ •์„ ์„ ํƒํ•˜์—ฌ ๊ธฐ์กด ๋งž์ถค ๋งคํ•‘ ๋ฐ DDL ์ˆ˜์ •์‚ฌํ•ญ์„ ์‚ญ์ œํ•ฉ๋‹ˆ๋‹ค.
    2. ์Šคํ‚ค๋งˆ ์Šค๋ƒ…์ƒท ๊ฐ€์ ธ์˜ค๊ธฐ๋ฅผ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.

      Database Migration Service๊ฐ€ ์†Œ์Šค ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์—์„œ ์ƒˆ ์Šค๋ƒ…์ƒท์„ ๊ฐ€์ ธ์˜ต๋‹ˆ๋‹ค.

  4. ๋ณ€ํ™˜๋œ ์Šคํ‚ค๋งˆ๋ฅผ ์ƒˆ๋กœ๊ณ ์นจํ•ฉ๋‹ˆ๋‹ค. ์†Œ์Šค ๋ณ€ํ™˜์„ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค. ์ด์ œ Database Migration Service๊ฐ€ ๋ณ€๊ฒฝ์‚ฌํ•ญ์„ ๋ถ„์„ํ•˜๊ณ  ์—…๋ฐ์ดํŠธ๋œ PostgreSQL ์Šคํ‚ค๋งˆ๋ฅผ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.

    PostgreSQL์šฉ Cloud SQL ์ดˆ์•ˆ ํƒญ์—์„œ ๋ณ€ํ™˜๋œ ์Šคํ‚ค๋งˆ๋ฅผ ๊ฒ€์‚ฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋งž์ถค ์ „ํ™˜ ๋งคํ•‘ ์‚ฌ์šฉ

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

๋งž์ถค ๋งคํ•‘ ํŒŒ์ผ ์ž‘์„ฑ

๋งž์ถค ๋งคํ•‘ ํŒŒ์ผ์„ ์ž‘์„ฑํ•˜๋ ค๋ฉด ๋‹ค์Œ ๋‹จ๊ณ„๋ฅผ ๋”ฐ๋ฅด์„ธ์š”.

  1. ์ง€์›๋˜๋Š” ์ „ํ™˜ ์ง€์‹œ์–ด ๋ชฉ๋ก์„ ๊ฒ€ํ† ํ•ฉ๋‹ˆ๋‹ค.

  2. ์˜ˆ์‹œ ๊ตฌ์„ฑ ํŒŒ์ผ์„ ์ฐธ์กฐ๋กœ ์‚ฌ์šฉํ•˜์„ธ์š”.

  3. ํ…์ŠคํŠธ ํŽธ์ง‘๊ธฐ์—์„œ ๋งž์ถค ์ „ํ™˜ ๋งคํ•‘์„ ์ž‘์„ฑํ•˜๊ณ  ๋ณ€ํ™˜ ์ž‘์—…๊ณต๊ฐ„์— ์—…๋กœ๋“œํ•ฉ๋‹ˆ๋‹ค.

๋งž์ถค ๋งคํ•‘ ํŒŒ์ผ ์ถ”๊ฐ€

์ž‘์—…๊ณต๊ฐ„์— ๋งž์ถค ์ „ํ™˜ ๋งคํ•‘ ํŒŒ์ผ์„ ์ถ”๊ฐ€ํ•˜๋ ค๋ฉด ๋‹ค์Œ ๋‹จ๊ณ„๋ฅผ ๋”ฐ๋ฅด์„ธ์š”.

  1. Google Cloud ์ฝ˜์†”์—์„œ ๋ณ€ํ™˜ ์ž‘์—…๊ณต๊ฐ„์œผ๋กœ ์ด๋™ํ•˜์—ฌ ์ž‘์—…๊ณต๊ฐ„์„ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.

    ๋ณ€ํ™˜ ์ž‘์—…๊ณต๊ฐ„์œผ๋กœ ์ด๋™

  2. ์ „ํ™˜ ํŽธ์ง‘๊ธฐ ํŽ˜์ด์ง€์—์„œ ๊ตฌ์„ฑ ์ˆ˜์ • > ๊ตฌ์„ฑ ํŒŒ์ผ๋กœ ๋งคํ•‘ ๋งž์ถค์„ค์ •์„ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.
  3. ๊ตฌ์„ฑ ํŒŒ์ผ ์ƒ์ž์—์„œ ์ฐพ์•„๋ณด๊ธฐ๋ฅผ ํด๋ฆญํ•˜๊ณ  ์‹œ์Šคํ…œ ํŒŒ์ผ ์„ ํƒ๊ธฐ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๊ตฌ์„ฑ ํŒŒ์ผ์„ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.
  4. ํŒŒ์ผ ์ถ”๊ฐ€ > ๋งคํ•‘ ๋งŒ๋“ค๊ธฐ๋ฅผ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.

์ปค์Šคํ…€ ๋งคํ•‘ ํŒŒ์ผ ์‚ญ์ œ

์ž‘์—…๊ณต๊ฐ„์—์„œ ๋งž์ถค ์ „ํ™˜ ๋งคํ•‘ ํŒŒ์ผ์„ ์‚ญ์ œํ•˜๋ ค๋ฉด ๋‹ค์Œ ๋‹จ๊ณ„๋ฅผ ๋”ฐ๋ฅด์„ธ์š”.

  1. Google Cloud ์ฝ˜์†”์—์„œ ๋ณ€ํ™˜ ์ž‘์—…๊ณต๊ฐ„์œผ๋กœ ์ด๋™ํ•˜์—ฌ ์ž‘์—…๊ณต๊ฐ„์„ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.

    ๋ณ€ํ™˜ ์ž‘์—…๊ณต๊ฐ„์œผ๋กœ ์ด๋™

  2. ์ „ํ™˜ ํŽธ์ง‘๊ธฐ ํŽ˜์ด์ง€์—์„œ ๊ตฌ์„ฑ ์ˆ˜์ • > ๋งž์ถค ๋งคํ•‘ ์‚ญ์ œ๋ฅผ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.

๋ณ€ํ™˜ ๊ฒฐ๊ณผ ๊ฒ€ํ† 

์†Œ์Šค ๋ณ€ํ™˜์„ ์‹คํ–‰ํ•œ ํ›„ ์ž‘์—…๊ณต๊ฐ„ ํŽธ์ง‘๊ธฐ ์˜์—ญ์—์„œ ๋ณ€ํ™˜๋œ ๊ฐ ๊ฐ์ฒด์˜ ๋ณ€ํ™˜ ๊ฒฐ๊ณผ์™€ ๋ฐœ์ƒ ๊ฐ€๋Šฅํ•œ ๋ฌธ์ œ๋ฅผ ๊ฒ€ํ† ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. Google Cloud CLI๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ชจ๋“  ๊ฒฐ๊ณผ์™€ ๋ฌธ์ œ๋ฅผ ํ…์ŠคํŠธ ํŒŒ์ผ์— ์ผ๊ด„์ ์œผ๋กœ ์ €์žฅํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค.

์ฝ˜์†”

  1. Google Cloud ์ฝ˜์†”์—์„œ ๋ณ€ํ™˜ ์ž‘์—…๊ณต๊ฐ„์œผ๋กœ ์ด๋™ํ•ฉ๋‹ˆ๋‹ค.

    ๋ณ€ํ™˜ ์ž‘์—…๊ณต๊ฐ„์œผ๋กœ ์ด๋™

  2. ์ž‘์—…ํ•  ์ „ํ™˜ ์ž‘์—…๊ณต๊ฐ„์˜ ํ‘œ์‹œ ์ด๋ฆ„์„ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.

    ๋ณ€ํ™˜ ์ž‘์—…๊ณต๊ฐ„ ํŽธ์ง‘๊ธฐ๊ฐ€ ์—ด๋ฆฝ๋‹ˆ๋‹ค.

  3. Oracle ํƒญ์„ ์„ ํƒํ•˜๊ณ  ํŠธ๋ฆฌ ๋ณด๊ธฐ ํ‘œ์—์„œ ๋ณ€ํ™˜ ๊ฒฐ๊ณผ๋ฅผ ๊ฒ€ํ† ํ•  ๊ฐ์ฒด๋ฅผ ์ฐพ์Šต๋‹ˆ๋‹ค.

  4. ๊ฐ์ฒด๋ฅผ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค. SQL ๋ฐ ๋ณ€ํ™˜ ๋ฌธ์ œ ํƒญ์„ ์‚ฌ์šฉํ•˜์—ฌ ๋ณ€ํ™˜์„ ๊ฒ€ํ† ํ•ฉ๋‹ˆ๋‹ค.

  5. ๋ฌธ์ œ๊ฐ€ ๊ฒฝ๊ณ ์ด๋ฉฐ ์กฐ์น˜๋ฅผ ์ทจํ•  ํ•„์š”๊ฐ€ ์—†๋‹ค๊ณ  ํŒ๋‹จ๋˜๋ฉด ํ•ด๊ฒฐ๋จ์œผ๋กœ ํ‘œ์‹œํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ ‡์ง€ ์•Š์œผ๋ฉด ์ถ”๊ฐ€๋กœ ์กฐ์‚ฌํ•˜๊ณ  ์ „ํ™˜ ํŽธ์ง‘๊ธฐ์—์„œ ์ˆ˜์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

gcloud

Google Cloud CLI๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋ชจ๋“  ๋ณ€ํ™˜ ๊ฒฐ๊ณผ ๋˜๋Š” ๋ฌธ์ œ๋ฅผ ํ„ฐ๋ฏธ๋„์— ์ถœ๋ ฅํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋” ํŽธ๋ฆฌํ•œ ๋Œ€๋Ÿ‰ ๊ฐ์ฒด ๊ฒ€ํ† ๋ฅผ ์œ„ํ•ด ์ถœ๋ ฅ์„ ํŒŒ์ผ๋กœ ๋ฆฌ๋””๋ ‰์…˜ํ•ฉ๋‹ˆ๋‹ค.

๋ณ€ํ™˜ ๊ฒฐ๊ณผ ๋ชฉ๋ก ๊ฐ€์ ธ์˜ค๊ธฐ

gcloud CLI๋Š” ํ„ฐ๋ฏธ๋„์— ๋ณ€ํ™˜ ๊ฒฐ๊ณผ๋ฅผ ๋ฐ์ดํ„ฐ ์ •์˜ ์–ธ์–ด (DDL) ๋ฌธ์˜ ํ˜•ํƒœ๋กœ ํ‘œ์‹œํ•ฉ๋‹ˆ๋‹ค. ๋ณ€ํ™˜ ๊ฒฐ๊ณผ๋ฅผ ํŒŒ์ผ์— ์ €์žฅํ•˜๋ ค๋ฉด ๋‹ค์Œ ๋ช…๋ น์–ด๋ฅผ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค.

  gcloud database-migration conversion-workspaces describe-ddls \
  CONVERSION_WORKSPACE_ID \
  --region=REGION_ID \
  > OUTPUT_FILE_PATH

๋‹ค์Œ๊ณผ ๊ฐ™์ด ๋ฐ”๊ฟ‰๋‹ˆ๋‹ค.

  • CONVERSION_WORKSPACE_ID๋ฅผ ๋ณ€ํ™˜ ์ž‘์—…๊ณต๊ฐ„ ์‹๋ณ„์ž๋กœ ๋ฐ”๊ฟ‰๋‹ˆ๋‹ค. ๋ณ€ํ™˜ ์ž‘์—…๊ณต๊ฐ„ ์‹๋ณ„์ž๋ฅผ ๊ฐ€์ ธ์˜ค๋Š” ๋ฐฉ๋ฒ•์„ ์•Œ์•„๋ณด๋ ค๋ฉด ๋ณ€ํ™˜ ์ž‘์—…๊ณต๊ฐ„ ์„ธ๋ถ€์ •๋ณด ๋ณด๊ธฐ๋ฅผ ์ฐธ๊ณ ํ•˜์„ธ์š”.
  • REGION_ID์„ ๋ณ€ํ™˜ ์ž‘์—…๊ณต๊ฐ„์ด ์žˆ๋Š” ๋ฆฌ์ „์˜ ์ด๋ฆ„์œผ๋กœ ๋ฐ”๊ฟ‰๋‹ˆ๋‹ค.
  • OUTPUT_FILE_PATH๋ฅผ ์ถœ๋ ฅ์„ ์ €์žฅํ•  ํ…์ŠคํŠธ ํŒŒ์ผ์˜ ๊ฒฝ๋กœ๋กœ ๋ฐ”๊ฟ‰๋‹ˆ๋‹ค.

    ์˜ˆ:

    gcloud database-migration conversion-workspaces describe-issues \
    my-conversion-workspace \
    --region=us-central1 \
    > ./my-conversion-issues.txt
    

    ๊ฒฐ๊ณผ:

    ์Šคํ‚ค๋งˆ ๋ณ€ํ™˜ ๊ฒฐ๊ณผ๋Š” ์ฒซ ๋ฒˆ์งธ ์ค„์— DDLs์ด ํ‘œ์‹œ๋˜๊ณ  ํ›„์† ์ค„์— SQL ๋ฌธ์ด ํ‘œ์‹œ๋˜๋Š” ํ…์ŠคํŠธ ํ˜•์‹์œผ๋กœ ์ €์žฅ๋ฉ๋‹ˆ๋‹ค.

    DDLs
    CREATE SCHEMA IF NOT EXISTS "SCHEMA1";
    ALTER TABLE "SCHEMA1"."EMPLOYEES" ADD CONSTRAINT PK_ID PRIMARY KEY ("ID");
    CREATE OR REPLACE FUNCTION mockschema.func_test_datatype(str1 VARCHAR(65000))
      RETURNS DECIMAL
      LANGUAGE plpgsql
      AS $$
        DECLARE
          str2 VARCHAR(100);
        BEGIN
          SELECT
              employees.first_name
            INTO STRICT
              STR2
            FROM
              mockschema.employees
            WHERE employees.employee_id = CAST(FUNC_TEST_DATATYPE.str1 as DECIMAL)
          ;
          RAISE NOTICE '%', concat('Input : ', FUNC_TEST_DATATYPE.str1, ' Output : ', str2);
          RETURN 0;
        END;
      $$;
    CREATE OR REPLACE PROCEDURE greetings AS BEGIN dbms_output.put_line('Hello World!'); END;
    CREATE SYNONYM TABLE "SCHEMA1"."SYNONYM1" ON "SCHEMA1"."EMPLOYEES";
    CREATE OR REPLACE VIEW "SCHEMA1"."VIEW1" AS SELECT * FROM JOBS;
    

๋ณ€ํ™˜ ๋ฌธ์ œ ๋ชฉ๋ก ๊ฐ€์ ธ์˜ค๊ธฐ

๋ณ€ํ™˜ ๋ฌธ์ œ๋ฅผ ํŒŒ์ผ์— ์ €์žฅํ•˜๋ ค๋ฉด ๋‹ค์Œ ๋ช…๋ น์–ด๋ฅผ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค.

  gcloud database-migration conversion-workspaces describe-issues \
  CONVERSION_WORKSPACE_ID \
  --region=REGION_ID \
  > OUTPUT_FILE_PATH

๋‹ค์Œ๊ณผ ๊ฐ™์ด ๋ฐ”๊ฟ‰๋‹ˆ๋‹ค.

  • CONVERSION_WORKSPACE_ID๋ฅผ ๋ณ€ํ™˜ ์ž‘์—…๊ณต๊ฐ„ ์‹๋ณ„์ž๋กœ ๋ฐ”๊ฟ‰๋‹ˆ๋‹ค. ๋ณ€ํ™˜ ์ž‘์—…๊ณต๊ฐ„ ์‹๋ณ„์ž๋ฅผ ๊ฐ€์ ธ์˜ค๋Š” ๋ฐฉ๋ฒ•์„ ์•Œ์•„๋ณด๋ ค๋ฉด ๋ณ€ํ™˜ ์ž‘์—…๊ณต๊ฐ„ ์„ธ๋ถ€์ •๋ณด ๋ณด๊ธฐ๋ฅผ ์ฐธ๊ณ ํ•˜์„ธ์š”.
  • REGION_ID์„ ๋ณ€ํ™˜ ์›Œํฌ์ŠคํŽ˜์ด์Šค๊ฐ€ ์žˆ๋Š” ๋ฆฌ์ „์˜ ์ด๋ฆ„์œผ๋กœ ๋ฐ”๊ฟ‰๋‹ˆ๋‹ค.
  • OUTPUT_FILE_PATH๋ฅผ ์ถœ๋ ฅ์„ ์ €์žฅํ•  ํ…์ŠคํŠธ ํŒŒ์ผ์˜ ๊ฒฝ๋กœ๋กœ ๋ฐ”๊ฟ‰๋‹ˆ๋‹ค.

์˜ˆ:

  gcloud database-migration conversion-workspaces describe-issues \
  my-conversion-workspace \
  --region=us-central1 \
  > ./my-conversion-issues.txt

๊ฒฐ๊ณผ:

์ž‘์—…๊ณต๊ฐ„์— ํฌํ•จ๋œ ๋ชจ๋“  ์ „ํ™˜ ๋ฌธ์ œ๊ฐ€ ํ…์ŠคํŠธ ํ˜•์‹์œผ๋กœ ์ €์žฅ๋ฉ๋‹ˆ๋‹ค. ์ฒซ ๋ฒˆ์งธ ์ค„์—๋Š” ์—ด ํ—ค๋”๊ฐ€ ํฌํ•จ๋˜๊ณ  ๊ฐ ํ›„์† ์ค„์—๋Š” ๋ณ„๋„์˜ ์ „ํ™˜ ๋ฌธ์ œ๊ฐ€ ํฌํ•จ๋ฉ๋‹ˆ๋‹ค.

  PARENT   NAME               ENTITY_TYPE       ISSUE_TYPE  ISSUE_SEVERITY  ISSUE_CODE  ISSUE_MESSAGE
  SCHEMA1  EMPLOYEES          TABLE             DDL         ERROR           500         unable to parse DDL.
  SCHEMA1  EMPLOYEES          TABLE             CONVERT     WARNING         206         no conversion done.
  SCHEMA1  STORED_PROCEDURE1  STORED_PROCEDURE  DDL         ERROR           500         invalid DDL.
  SCHEMA1  SYNONYM1           SYNONYM           CONVERT     WARNING         206         synonym warning message.

๋ณ€ํ™˜ ๋ฌธ์ œ ํ•ด๊ฒฐ

Database Migration Service๊ฐ€ ์ „์ฒด ์†Œ์Šค๋ฅผ ์ž๋™์œผ๋กœ ๋ณ€ํ™˜ํ•˜์ง€ ๋ชปํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค. ๋Œ€๋ถ€๋ถ„์˜ Oracle ๊ฐ์ฒด์˜ ๊ฒฝ์šฐ Database Migration Service์—์„œ ๋ณ€ํ™˜ ํŽธ์ง‘๊ธฐ๋ฅผ ์ง์ ‘ ์‚ฌ์šฉํ•˜์—ฌ ์ƒ์„ฑ๋œ SQL์„ ์กฐ์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋‹ค๋ฅธ ๊ฒฝ์šฐ์—๋Š” ์†Œ์Šค ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์—์„œ ๊ฐ์ฒด๋ฅผ ์ง์ ‘ ๋ณ€๊ฒฝํ•œ ํ›„ ์†Œ์Šค ์Šค๋ƒ…์ƒท์„ ๋‹ค์‹œ ๊ฐ€์ ธ์™€์•ผ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Database Migration Service์—์„œ ๋ณ€ํ™˜ ์ž‘์—…๊ณต๊ฐ„์—์„œ ์ง์ ‘ ์ˆ˜์ •ํ•  ์ˆ˜ ์žˆ๋Š” ๊ฐ์ฒด์˜ ์ „์ฒด ๋ชฉ๋ก์€ ์ˆ˜์ • ๊ฐ€๋Šฅํ•œ Oracle ๊ฐ์ฒด๋ฅผ ์ฐธ๊ณ ํ•˜์„ธ์š”.

์Šคํ‚ค๋งˆ์—์„œ ๋ฐœ๊ฒฌ๋œ ๋ณ€ํ™˜ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๋ ค๋ฉด ๋‹ค์Œ ๋‹จ๊ณ„๋ฅผ ๋”ฐ๋ฅด์„ธ์š”.

  1. Google Cloud ์ฝ˜์†”์—์„œ ๋ณ€ํ™˜ ์ž‘์—…๊ณต๊ฐ„์œผ๋กœ ์ด๋™ํ•˜์—ฌ ์ž‘์—…๊ณต๊ฐ„์„ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.

    ๋ณ€ํ™˜ ์ž‘์—…๊ณต๊ฐ„์œผ๋กœ ์ด๋™

  2. ๋ณ€ํ™˜ ๊ฒฐ๊ณผ๋ฅผ ๊ฒ€ํ† ํ•˜๊ณ  ๋ฐœ์ƒ ๊ฐ€๋Šฅํ•œ ๋ฌธ์ œ๋ฅผ ์‹๋ณ„ํ•ฉ๋‹ˆ๋‹ค.

    Google Cloud ์ฝ˜์†”์„ ์‚ฌ์šฉํ•˜์—ฌ ๊ฐœ๋ณ„ ๊ฐ์ฒด๋ฅผ ๊ฒ€ํ† ํ•˜๊ฑฐ๋‚˜ gcloud CLI๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ชจ๋“  ๊ฐ์ฒด๋ฅผ ์ผ๊ด„์ ์œผ๋กœ ๊ฒ€ํ† ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  3. ๋ฌธ์ œ ์œ ํ˜•์— ๋”ฐ๋ผ ์ž‘์—…๊ณต๊ฐ„ ํŽธ์ง‘๊ธฐ์—์„œ ์ง์ ‘ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•  ์ˆ˜๋„ ์žˆ๊ณ  ๋งž์ถค ๋ณ€ํ™˜ ๋งคํ•‘ ํŒŒ์ผ์„ ์ œ๊ณตํ•ด์•ผ ํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค. ์ž์„ธํ•œ ๋‚ด์šฉ์€ ๋‹ค์Œ ์„น์…˜์„ ํŽผ์น˜์„ธ์š”.

    ์–ด๋–ค ์œ ํ˜•์˜ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๋“  Gemini ๊ธฐ๋ฐ˜ ๋ณ€ํ™˜ ์–ด์‹œ์Šคํ„ดํŠธ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•์„ ์ฐพ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ž์„ธํ•œ ๋‚ด์šฉ์€ Gemini ๋ณ€ํ™˜ ์–ด์‹œ์Šคํ„ดํŠธ ์‚ฌ์šฉํ•˜๊ธฐ๋ฅผ ์ฐธ๊ณ ํ•˜์„ธ์š”. ๋ฌธ์ œ๊ฐ€ ๊ฒฝ๊ณ ์ด๋ฉฐ ์กฐ์น˜๋ฅผ ์ทจํ•  ํ•„์š”๊ฐ€ ์—†๋‹ค๊ณ  ํŒ๋‹จ๋˜๋ฉด ํ•ด๊ฒฐ๋จ์œผ๋กœ ํ‘œ์‹œํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

    ๊ธฐ๋ณธ ์ œ๊ณต ํŽธ์ง‘๊ธฐ์—์„œ ์ง€์›ํ•˜๋Š” ๊ฐ์ฒด ๊ด€๋ จ ๋ฌธ์ œ ํ•ด๊ฒฐํ•˜๊ธฐ

    ์ž‘์—…๊ณต๊ฐ„ ํŽธ์ง‘๊ธฐ์—์„œ ์ง€์›๋˜๋Š” ๊ฐ์ฒด์™€ ๊ด€๋ จ๋œ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๋ ค๋ฉด ๋‹ค์Œ ๋‹จ๊ณ„๋ฅผ ๋”ฐ๋ฅด์„ธ์š”.

    1. Oracle ํŠธ๋ฆฌ ๋ทฐ์—์„œ ๋ฌธ์ œ๋ฅผ ์ฐพ์€ ๋‹ค์Œ Code ํƒญ์„ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.
    2. SQL ํŽธ์ง‘๊ธฐ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ƒ์„ฑ๋œ ์ฝ”๋“œ๋ฅผ ์—…๋ฐ์ดํŠธํ•ฉ๋‹ˆ๋‹ค.Database Migration Service์—์„œ๋Š” ํŽธ์ง‘๊ธฐ์— ์ถ”๊ฐ€ํ•œ SQL ์ฝ”๋“œ์˜ ์ •ํ™•์„ฑ์„ ๊ฒ€์ฆํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

    ๋‚ด์žฅ ํŽธ์ง‘๊ธฐ์—์„œ ์ง€์›ํ•˜์ง€ ์•Š๋Š” ๊ฐ์ฒด ๊ด€๋ จ ๋ฌธ์ œ ์ˆ˜์ •

    ์ž‘์—…๊ณต๊ฐ„ ํŽธ์ง‘๊ธฐ์—์„œ ์ง€์›๋˜์ง€ ์•Š๋Š” ๊ฐ์ฒด์™€ ๊ด€๋ จ๋œ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๋ ค๋ฉด ๋‹ค์Œ ์ค‘ ํ•˜๋‚˜๋ฅผ ์ˆ˜ํ–‰ํ•˜์„ธ์š”.

    ์†Œ์Šค์—์„œ ๊ฒฐํ•จ์ด ์žˆ๋Š” ๊ฐ์ฒด ์—…๋ฐ์ดํŠธ
    ์ผ๋ถ€ ๋ฌธ์ œ์˜ ๊ฒฝ์šฐ ์†Œ์Šค ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์—์„œ Oracle ๋ฌธ์„ ์ง์ ‘ ๋ณ€๊ฒฝํ•ด์•ผ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋‹ค์Œ ๋‹จ๊ณ„๋ฅผ ๋”ฐ๋ฅด์„ธ์š”.
    1. ์†Œ์Šค ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์—์„œ ์ง์ ‘ ์Šคํ‚ค๋งˆ์™€ ์ฝ”๋“œ๋ฅผ ์—…๋ฐ์ดํŠธํ•ฉ๋‹ˆ๋‹ค.
    2. ์—…๋ฐ์ดํŠธ๋œ ์†Œ์Šค๋ฅผ Database Migration Service๋กœ ํ’€ํ•ฉ๋‹ˆ๋‹ค.
    3. ์†Œ์Šค๋ฅผ ๋‹ค์‹œ ๋ณ€ํ™˜ํ•˜๊ณ  ๋ฌธ์ œ๊ฐ€ ์ง€์†๋˜๋Š”์ง€ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.
    ๋ณ€ํ™˜ ๋งคํ•‘ ํŒŒ์ผ๋กœ ์ถ”๊ฐ€ ๋งคํ•‘ ์ œ๊ณต

    ๋ณ€ํ™˜ ๋งคํ•‘ ํŒŒ์ผ์„ ์‚ฌ์šฉํ•˜์—ฌ Database Migration Service๊ฐ€ ํŠน์ • PostgreSQL ๊ฐ์ฒด๋ฅผ ๋ณ€ํ™˜ํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๊ด€ํ•œ ์ •ํ™•ํ•œ ์ •์˜๋ฅผ ์ œ๊ณตํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ณ€ํ™˜ ๋งคํ•‘ ํŒŒ์ผ์„ ์‚ฌ์šฉํ•˜๋ ค๋ฉด ๋‹ค์Œ ๋‹จ๊ณ„๋ฅผ ๋”ฐ๋ฅด์„ธ์š”.

    1. ์ „ํ™˜ ๋งคํ•‘ ํŒŒ์ผ์„ ์ž‘์„ฑํ•ฉ๋‹ˆ๋‹ค.
    2. ์ž‘์—…๊ณต๊ฐ„์— ๊ตฌ์„ฑ ํŒŒ์ผ์„ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค.
    3. ์†Œ์Šค๋ฅผ ๋‹ค์‹œ ๋ณ€ํ™˜ํ•˜๊ณ  ๋ฌธ์ œ๊ฐ€ ์ง€์†๋˜๋Š”์ง€ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.
    ์†Œ์Šค ํƒญ์—์„œ ๊ฐ์ฒด๋ฅผ ์‚ญ์ œํ•ด ๋ณด์„ธ์š”.
    Database Migration Service๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด . ๋ณ€ํ™˜ ํ”„๋กœ์„ธ์Šค๋ฅผ ์ฐจ๋‹จ ํ•ด์ œํ•˜๋ ค๋ฉด ๋‚˜์ค‘์— ๊ฒฐํ•จ์ด ์žˆ๋Š” ๊ฐ์ฒด๋ฅผ ์ž์„ธํžˆ ์‚ดํŽด๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์†Œ์Šค ํƒญ์—์„œ ๊ฐ์ฒด๋ฅผ ์‚ญ์ œํ•ฉ๋‹ˆ๋‹ค.
  4. ์Šคํ‚ค๋งˆ๋ฅผ ํ…Œ์ŠคํŠธํ•˜์—ฌ Database Migration Service๊ฐ€ ์ฝ”๋“œ๋ฅผ ๋Œ€์ƒ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ์ ์šฉํ•  ์ˆ˜ ์žˆ๋Š”์ง€ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.
  5. ํ…Œ์ŠคํŠธ๊ฐ€ ์„ฑ๊ณตํ•˜๋ฉด ์ „ํ™˜ ๋ฌธ์ œ ํƒญ์„ ์‚ฌ์šฉํ•˜์—ฌ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐ๋จ์œผ๋กœ ํ‘œ์‹œํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค. ์ด๋ ‡๊ฒŒ ํ•˜๋ฉด ์ „ํ™˜ ๊ฐœ์š”์—์„œ ์ด๋Ÿฌํ•œ ๋ฌธ์ œ๋ฅผ ํ•„ํ„ฐ๋งํ•˜๊ณ  ๋‚˜์ค‘์— ์ค‘๋‹จํ•œ ๋ถ€๋ถ„๋ถ€ํ„ฐ ๋‹ค์‹œ ์‹œ์ž‘ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐ๋จ์œผ๋กœ ํ‘œ์‹œ

์ „ํ™˜ ๋ฌธ์ œ๋ฅผ ๊ฒ€ํ† ํ•˜๊ณ  ํ•ด๊ฒฐํ•  ๋•Œ ์ด๋ฏธ ํ•ด๊ฒฐํ•œ ๋ฌธ์ œ (๋˜๋Š” ์ด์ „์—๋Š” ์˜ํ–ฅ์„ ๋ฏธ์น˜์ง€ ์•Š์œผ๋ฉฐ ์กฐ์น˜๋ฅผ ์ทจํ•  ํ•„์š”๊ฐ€ ์—†๋‹ค๊ณ  ํŒ๋‹จํ•œ ๋ฌธ์ œ)๋ฅผ ์ถ”์ ํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค. ํ•ด๊ฒฐ๋จ์œผ๋กœ ํ‘œ์‹œ ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•˜์—ฌ ์ด๋Ÿฌํ•œ ๋ฌธ์ œ๋ฅผ ํ•„ํ„ฐ๋งํ•˜๋ฉด ๋ฌธ์ œ ๋ชฉ๋ก์„ ๋” ์‰ฝ๊ฒŒ ํƒ์ƒ‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐ๋จ์œผ๋กœ ํ‘œ์‹œํ•˜๋ ค๋ฉด ๋‹ค์Œ ๋‹จ๊ณ„๋ฅผ ๋”ฐ๋ฅด์„ธ์š”.

  1. Google Cloud ์ฝ˜์†”์—์„œ ๋ณ€ํ™˜ ์ž‘์—…๊ณต๊ฐ„์œผ๋กœ ์ด๋™ํ•˜์—ฌ ์ž‘์—…๊ณต๊ฐ„์„ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.

    ๋ณ€ํ™˜ ์ž‘์—…๊ณต๊ฐ„์œผ๋กœ ์ด๋™

  2. ์†Œ์Šค ํŠธ๋ฆฌ ๋ทฐ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ณ€ํ™˜ ๋ฌธ์ œ๊ฐ€ ์žˆ๋Š” ๊ฐ์ฒด๋ฅผ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.
  3. ์ „ํ™˜ ๋ฌธ์ œ ํƒญ์—์„œ ๋ฌธ์ œ ์˜†์— ์žˆ๋Š” ํ•ด๊ฒฐ๋จ์œผ๋กœ ํ‘œ์‹œ๋ฅผ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค. ์ด์ œ ์ „ํ™˜ ๊ฐœ์š”์—์„œ ์ด๋Ÿฌํ•œ ๋ฌธ์ œ๋ฅผ ํ•„ํ„ฐ๋งํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

    ๋ณ€ํ™˜ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐ๋จ์œผ๋กœ ํ‘œ์‹œํ•˜์—ฌ ๋ณ€ํ™˜ ๊ฐœ์š” ํ™”๋ฉด์—์„œ ํ•„ํ„ฐ๋งํ•  ์ˆ˜ ์žˆ๋Š” ๋ฌธ์ œ ํ•ด๊ฒฐ ํ™”๋ฉด
    ๊ทธ๋ฆผ 3. ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐ๋จ์œผ๋กœ ํ‘œ์‹œํ•  ์ˆ˜ ์žˆ๋Š” ๋ณ€ํ™˜ ๋ฌธ์ œ ํ™”๋ฉด (ํ™•๋Œ€ํ•˜๋ ค๋ฉด ํด๋ฆญ)
    ๋ณ€ํ™˜ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐ๋จ์œผ๋กœ ํ‘œ์‹œํ•˜์—ฌ ๋ณ€ํ™˜ ๊ฐœ์š” ํ™”๋ฉด์—์„œ ํ•„ํ„ฐ๋งํ•  ์ˆ˜ ์žˆ๋Š” ๋ฌธ์ œ ํ•ด๊ฒฐ ํ™”๋ฉด

๋Œ€์ƒ์—์„œ ์Šคํ‚ค๋งˆ ํ…Œ์ŠคํŠธ

์Šคํ‚ค๋งˆ๋ฅผ ๋Œ€์ƒ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ์ ์šฉํ•˜๊ธฐ ์ „์— ๋จผ์ € ํ…Œ์ŠคํŠธ ์‹คํ–‰์„ ์ˆ˜ํ–‰ํ•˜์—ฌ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๋Š” ๋ฌธ์ œ๋ฅผ ์‚ฌ์ „์— ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํ…Œ์ŠคํŠธ๋ฅผ ์‹คํ–‰ํ•˜๊ธฐ ์œ„ํ•ด Database Migration Service๋Š” ์ž„์‹œ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ๋งŒ๋“ญ๋‹ˆ๋‹ค. ํ…Œ์ŠคํŠธ ์‹คํ–‰์€ ๋Œ€์ƒ Cloud SQL ์ธ์Šคํ„ด์Šค์— ์˜ํ–ฅ์„ ์ฃผ์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

  1. ์ „์šฉ ์ด์ „ ์‚ฌ์šฉ์ž์—๊ฒŒ CREATEDB ๊ถŒํ•œ์ด ์žˆ๋Š”์ง€ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค. ์ž์„ธํ•œ ๋‚ด์šฉ์€ ๋Œ€์ƒ Cloud SQL ์ธ์Šคํ„ด์Šค ๋งŒ๋“ค๊ธฐ ๋ฐ ๊ตฌ์„ฑ์„ ์ฐธ๊ณ ํ•˜์„ธ์š”.

  2. Google Cloud ์ฝ˜์†”์—์„œ ๋ณ€ํ™˜ ์ž‘์—…๊ณต๊ฐ„์œผ๋กœ ์ด๋™ํ•ฉ๋‹ˆ๋‹ค.

    ๋ณ€ํ™˜ ์ž‘์—…๊ณต๊ฐ„์œผ๋กœ ์ด๋™

  3. ์ž‘์—…ํ•  ์ „ํ™˜ ์ž‘์—…๊ณต๊ฐ„์˜ ํ‘œ์‹œ ์ด๋ฆ„์„ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.

    ๋ณ€ํ™˜ ์ž‘์—…๊ณต๊ฐ„ ํŽธ์ง‘๊ธฐ๊ฐ€ ์—ด๋ฆฝ๋‹ˆ๋‹ค.

  4. ๋Œ€์ƒ์— ์ ์šฉ > ํ…Œ์ŠคํŠธ (๊ถŒ์žฅ)๋ฅผ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.

    ์Šคํ‚ค๋งˆ๋ฅผ ๋Œ€์ƒ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ์ ์šฉํ•˜๋Š” ๋งˆ๋ฒ•์‚ฌ๊ฐ€ ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค.

  5. ๋Œ€์ƒ ์ •์˜ ์„น์…˜์—์„œ ๋Œ€์ƒ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ๊ฐ€๋ฆฌํ‚ค๋Š” ์—ฐ๊ฒฐ ํ”„๋กœํ•„์„ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.

  6. ์ •์˜ ๋ฐ ๊ณ„์†ํ•˜๊ธฐ๋ฅผ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.

  7. ๊ฐ์ฒด ์„ ํƒ ๋ฐ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ํ…Œ์ŠคํŠธ ์„น์…˜์—์„œ ๋Œ€์ƒ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ๋Œ€ํ•ด ํ…Œ์ŠคํŠธํ•  ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์—”ํ‹ฐํ‹ฐ์˜ ์Šคํ‚ค๋งˆ๋ฅผ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.

    ๊ฐ์ฒด ํ•„ํ„ฐ๋ง ๋ฒ„ํŠผ์„ ์‚ฌ์šฉํ•˜์—ฌ ํ‘œ์‹œ๋˜๋Š” ๊ฐ์ฒด ์ˆ˜๋ฅผ ์ค„์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์†Œ์Šค ์Šคํ‚ค๋งˆ ๋ทฐ์—์„œ ๊ฐ์ฒด ํ•„ํ„ฐ๋ง์„ ์ฐธ๊ณ ํ•˜์„ธ์š”.

  8. ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ํ…Œ์ŠคํŠธ๋ฅผ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.

    PostgreSQL์šฉ Cloud SQL ํƒญ์—์„œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์ƒํƒœ๋ฅผ ๊ฒ€ํ† ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋Œ€์ƒ์— ์Šคํ‚ค๋งˆ ์ ์šฉ

๋Œ€์ƒ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์—์„œ ์‚ฌ์šฉํ•  ์Šคํ‚ค๋งˆ๊ฐ€ ์š”๊ตฌ์‚ฌํ•ญ ๋ฐ ๋งคํ•‘์— ๋”ฐ๋ผ ๋ณ€ํ™˜๋˜๋ฉด ๊ฒฐ๊ณผ๋ฅผ ๋Œ€์ƒ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ์ ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋Œ€์ƒ์— ์Šคํ‚ค๋งˆ๋ฅผ ์ ์šฉํ•ด๋„ ์†Œ์Šค ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ๋ฐ์ดํ„ฐ๋Š” ๋ณ€๊ฒฝ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

  1. Google Cloud ์ฝ˜์†”์—์„œ ๋ณ€ํ™˜ ์ž‘์—…๊ณต๊ฐ„์œผ๋กœ ์ด๋™ํ•ฉ๋‹ˆ๋‹ค.

    ๋ณ€ํ™˜ ์ž‘์—…๊ณต๊ฐ„์œผ๋กœ ์ด๋™

  2. ์ž‘์—…ํ•  ์ „ํ™˜ ์ž‘์—…๊ณต๊ฐ„์˜ ํ‘œ์‹œ ์ด๋ฆ„์„ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.

    ๋ณ€ํ™˜ ์ž‘์—…๊ณต๊ฐ„ ํŽธ์ง‘๊ธฐ๊ฐ€ ์—ด๋ฆฝ๋‹ˆ๋‹ค.

  3. ๋Œ€์ƒ์— ์ ์šฉ > ์ ์šฉ์„ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.

    ์Šคํ‚ค๋งˆ๋ฅผ ๋Œ€์ƒ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ์ ์šฉํ•˜๋Š” ๋งˆ๋ฒ•์‚ฌ๊ฐ€ ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค.

  4. ๋Œ€์ƒ ์ •์˜ ์„น์…˜์—์„œ ๋Œ€์ƒ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ๊ฐ€๋ฆฌํ‚ค๋Š” ์—ฐ๊ฒฐ ํ”„๋กœํ•„์„ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.

  5. ์ •์˜ ๋ฐ ๊ณ„์†ํ•˜๊ธฐ๋ฅผ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.

  6. ๊ฐ์ฒด ๊ฒ€ํ†  ๋ฐ ๋Œ€์ƒ์— ๋ณ€ํ™˜ ์ ์šฉ ์„น์…˜์—์„œ ๋Œ€์ƒ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ๋งŒ๋“ค ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ํ•ญ๋ชฉ์˜ ์Šคํ‚ค๋งˆ๋ฅผ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.

    ๊ฐ์ฒด ํ•„ํ„ฐ๋ง ๋ฒ„ํŠผ์„ ์‚ฌ์šฉํ•˜์—ฌ ํ‘œ์‹œ๋˜๋Š” ๊ฐ์ฒด ์ˆ˜๋ฅผ ์ค„์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์†Œ์Šค ์Šคํ‚ค๋งˆ ๋ทฐ์—์„œ ๊ฐ์ฒด ํ•„ํ„ฐ๋ง์„ ์ฐธ๊ณ ํ•˜์„ธ์š”.

  7. ๋ฐฐ์†ก์ง€์— ์ ์šฉ์„ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.

    PostgreSQL์šฉ Cloud SQL ํƒญ์—์„œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์ƒํƒœ๋ฅผ ๊ฒ€ํ† ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋ณ€ํ™˜ ํŽธ์ง‘๊ธฐ์—์„œ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ ์ž‘์—… ๋งŒ๋“ค๊ธฐ

๋ณ€ํ™˜ ํŽธ์ง‘๊ธฐ ์ธํ„ฐํŽ˜์ด์Šค์—์„œ ์ง์ ‘ ๋ณ€ํ™˜ ์ž‘์—…๊ณต๊ฐ„์„ ์‚ฌ์šฉํ•˜๋Š” ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ ์ž‘์—…์„ ๋งŒ๋“ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  1. Google Cloud ์ฝ˜์†”์—์„œ ๋ณ€ํ™˜ ์ž‘์—…๊ณต๊ฐ„์œผ๋กœ ์ด๋™ํ•ฉ๋‹ˆ๋‹ค.

    ๋ณ€ํ™˜ ์ž‘์—…๊ณต๊ฐ„์œผ๋กœ ์ด๋™

  2. ์ž‘์—…ํ•  ์ „ํ™˜ ์ž‘์—…๊ณต๊ฐ„์˜ ํ‘œ์‹œ ์ด๋ฆ„์„ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.

    ๋ณ€ํ™˜ ์ž‘์—…๊ณต๊ฐ„ ํŽธ์ง‘๊ธฐ๊ฐ€ ์—ด๋ฆฝ๋‹ˆ๋‹ค.

  3. ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ ์ž‘์—… ๋งŒ๋“ค๊ธฐ๋ฅผ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.

  4. ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ ์ž‘์—… ๋งŒ๋“ค๊ธฐ์— ์„ค๋ช…๋œ ๋Œ€๋กœ ํ‘œ์ค€ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ ์ž‘์—… ๋‹จ๊ณ„๋ฅผ ์ง„ํ–‰ํ•ฉ๋‹ˆ๋‹ค.

์†Œ์Šค ์Šคํ‚ค๋งˆ ๋ทฐ์—์„œ ๊ฐ์ฒด ํ•„ํ„ฐ๋ง

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

์†Œ์Šค ์Šคํ‚ค๋งˆ ๋ทฐ์— ๊ฐ์ฒด๋ฅผ ์ถ”๊ฐ€ํ•  ๋•Œ๋Š” ํ•„ํ„ฐ๋ง๋œ ๋ทฐ๋ฅผ ์‚ฌ์šฉํ•˜์„ธ์š”.

  1. ํ•„ํ„ฐ ํ•„๋“œ์—์„œ ๋‹ค์Œ ํ•„ํ„ฐ๋ง ๋ฐฉ๋ฒ• ์ค‘ ํ•˜๋‚˜๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.
  2. ์†์„ฑ ๋ชฉ๋ก์—์„œ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์ž๋™ ์ถ”์ฒœ ์˜ต์…˜ ์ค‘ ํ•˜๋‚˜๋ฅผ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.
    1. ๊ฐ์ฒด ์ด๋ฆ„: ๊ฐ์ฒด๋ฅผ ์ด๋ฆ„์œผ๋กœ ํ•„ํ„ฐ๋งํ•ฉ๋‹ˆ๋‹ค(์˜ˆ: ADMIN).
    2. ๊ฐ์ฒด ์œ ํ˜•: ํ•จ์ˆ˜ ๋˜๋Š” ํ‘œ์™€ ๊ฐ™์€ ์—ฌ๋Ÿฌ ์œ ํ˜•๋ณ„๋กœ ๊ฐ์ฒด๋ฅผ ํ•„ํ„ฐ๋งํ•ฉ๋‹ˆ๋‹ค.
    3. ๋ณ€ํ™˜ ์ƒํƒœ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์กฐ์น˜ ํ•„์š” ๋˜๋Š” ๋ฌธ์ œ ์—†์Œ๊ณผ ๊ฐ™์€ ๋ณ€ํ™˜ ์ƒํƒœ๋ณ„๋กœ ๊ฐ์ฒด๋ฅผ ํ•„ํ„ฐ๋งํ•ฉ๋‹ˆ๋‹ค.
    4. Gemini๋กœ ๋ณด๊ฐ•๋จ: Gemini ์ž๋™ ๋ณ€ํ™˜์œผ๋กœ ๋ณ€ํ™˜๋œ ๊ฐ์ฒด๋ฅผ ํ•„ํ„ฐ๋งํ•ฉ๋‹ˆ๋‹ค.

    ํ•„ํ„ฐ ์†์„ฑ์„ ๋…ผ๋ฆฌ ์—ฐ์‚ฐ์ž์™€ ๊ฒฐํ•ฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  3. ์ฟผ๋ฆฌ๋ฅผ ์ž…๋ ฅํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค๋ฉด type=table์ž…๋‹ˆ๋‹ค.

    ํ•„ํ„ฐ๋ง ๊ตฌ๋ฌธ์— ๋Œ€ํ•œ ์ž์„ธํ•œ ๋‚ด์šฉ์€ ์ง€์›๋˜๋Š” ํ•„ํ„ฐ๋ง ๊ตฌ๋ฌธ์„ ์ฐธ๊ณ ํ•˜์„ธ์š”.

  4. ์†Œ์Šค ์Šคํ‚ค๋งˆ ๋ทฐ์— ์ถ”๊ฐ€ํ•  ๊ฐ์ฒด๋ฅผ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.

์ง€์›๋˜๋Š” ํ…์ŠคํŠธ ํ•„ํ„ฐ๋ง ๊ตฌ๋ฌธ

๊ธฐ๋ณธ ์ž์œ  ํ…์ŠคํŠธ ๊ฒ€์ƒ‰์œผ๋กœ ์ด๋ฆ„๋ณ„๋กœ ๊ฐ์ฒด๋ฅผ ํ•„ํ„ฐ๋งํ•˜๊ฑฐ๋‚˜ ์ „์šฉ type ์†์„ฑ์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋‘ ์ ‘๊ทผ ๋ฐฉ์‹ ๋ชจ๋‘ ํ•„ํ„ฐ๋ง์„ ์œ„ํ•œ Google API ๊ณต์‹ ์‚ฌ์–‘์„ ์ง€์›ํ•˜๋ฏ€๋กœ ์™€์ผ๋“œ ์นด๋“œ์™€ ๋…ผ๋ฆฌ ๋ฐ ๋น„๊ต ์—ฐ์‚ฐ์ž๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ฆฌํ„ฐ๋Ÿด์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ž์œ  ํ…์ŠคํŠธ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ด๋ฆ„์œผ๋กœ ๊ฐ์ฒด๋ฅผ ํ•„ํ„ฐ๋งํ•ฉ๋‹ˆ๋‹ค. ์ด ์ ‘๊ทผ ๋ฐฉ์‹์€ ๋Œ€์†Œ๋ฌธ์ž๋ฅผ ๊ตฌ๋ถ„ํ•˜๋ฉฐ ์™€์ผ๋“œ ์นด๋“œ๋ฅผ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค.

์˜ˆ:

*JOB* ์ฟผ๋ฆฌ๋Š” ์™€์ผ๋“œ ์นด๋“œ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ JOB ํ•˜์œ„ ๋ฌธ์ž์—ด์ด ํฌํ•จ๋œ ํ•ญ๋ชฉ์„ ๊ฒ€์ƒ‰ํ•ฉ๋‹ˆ๋‹ค. ํ•„ํ„ฐ๋ง๋œ ๋ทฐ๋Š” ์ผ๋ถ€ ํ…Œ์ด๋ธ”๊ณผ ํ•˜๋‚˜์˜ ์ €์žฅ ํ”„๋กœ์‹œ์ ธ๋ฅผ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.

์ด๋ฆ„์œผ๋กœ ๊ฐ์ฒด๋ฅผ ํ•„ํ„ฐ๋งํ•œ ๊ฒฐ๊ณผ์˜ ์˜ˆ์‹œ ์Šคํฌ๋ฆฐ์ƒท
type ์†์„ฑ์„ ์‚ฌ์šฉํ•˜์—ฌ ํ•„ํ„ฐ๋ง

Database Migration Service์—์„œ ์ง€์›ํ•˜๋Š” ๋ชจ๋“  ํ‘œ์ค€ ์œ ํ˜•๋ณ„๋กœ ๊ฐ์ฒด๋ฅผ ํ•„ํ„ฐ๋งํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

type ์†์„ฑ์€ ๋“ฑํ˜ธ (=) ๋ฐ ๋ถ€๋“ฑํ˜ธ (!=) ์—ฐ์‚ฐ์ž์™€ ํ•จ๊ป˜ database, schema, table, column, index, sequence, stored_procedure, function, view, synonym, materialized_view, udt, constraint, database_package, trigger, event_trigger ๋ฆฌํ„ฐ๋Ÿด์„ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค.

์˜ˆ:

type=table ํ•„ํ„ฐ๋Š” ์Šคํ‚ค๋งˆ์— ์žˆ๋Š” ํ…Œ์ด๋ธ”๋งŒ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.

์œ ํ˜• ์†์„ฑ์œผ๋กœ ๊ฐ์ฒด๋ฅผ ํ•„ํ„ฐ๋งํ•œ ๊ฒฐ๊ณผ์˜ ์˜ˆ์‹œ ์Šคํฌ๋ฆฐ์ƒท

ํ…์ŠคํŠธ ํ•„ํ„ฐ๋ง ์กฐ๊ฑด ๊ฒฐํ•ฉ

๋…ผ๋ฆฌ ์—ฐ์‚ฐ์ž์™€ ๊ฒฐํ•ฉํ•˜์—ฌ ์—ฌ๋Ÿฌ ์กฐ๊ฑด์„ ์ง€์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์˜ˆ๋ฅผ ๋“ค์–ด ์ด๋ฆ„์— JOB ๋˜๋Š” EMPLOYEE ํ•˜์œ„ ๋ฌธ์ž์—ด์ด ํฌํ•จ๋œ ํ…Œ์ด๋ธ”๋งŒ ๊ฒ€์ƒ‰ํ•˜๋ ค๋ฉด ๋‹ค์Œ ์ฟผ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•˜์„ธ์š”.

  type=table AND (*JOB* OR *EMPLOYEE*)

๋”ฐ๋ผ์„œ ํ•„ํ„ฐ์— ์ผ์น˜ํ•˜๋Š” ๋ชจ๋“  ํ…Œ์ด๋ธ”์ด ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค.

์œ ํ˜• ๋ฐ ์ด๋ฆ„ ์†์„ฑ์˜ ์กฐํ•ฉ์œผ๋กœ ๊ฐ์ฒด๋ฅผ ํ•„ํ„ฐ๋งํ•œ ๊ฒฐ๊ณผ์˜ ์˜ˆ์‹œ ์Šคํฌ๋ฆฐ์ƒท