Azure VM๊ณผ ํด๋ผ์ฐ๋์ ๊ด๊ณ
๋จผ์ "ํด๋ผ์ฐ๋"์ "Azure VM"์ด ์ด๋ค ๊ด๊ณ์ธ์ง ์ ํํ ์ก๊ณ ๊ฐ์ผํ๋ค.
์ด ๋์ ๊ฐ์ ๊ฐ๋
์ผ๋ก ํผ๋ํ๋ ๊ฒฝ์ฐ๊ฐ ๋ง์๋ฐ, ์ฌ์ค ํฌํจ ๊ด๊ณ์ด๋ค.
๐ก ๋น์
"ํด๋ผ์ฐ๋"๋ ๊ฑด๋ฌผ ์ ์ฒด์ด๊ณ , "Azure VM"์ ๊ทธ ๊ฑด๋ฌผ ์์ ์๋ ์ฌ๋ฌด์ค ํ๋์ด๋ค.
๊ฑด๋ฌผ(ํด๋ผ์ฐ๋) ์์๋ ์ฌ๋ฌด์ค(VM) ์ธ์๋ ์ฐฝ๊ณ (Blob), ์ ์ฉ ํ์์ค(SQL) ๋ฑ ๋ค์ํ ๊ณต๊ฐ์ด ์๋ค.
Azure๋ Microsoft๊ฐ ์ด์ํ๋ ํด๋ผ์ฐ๋ ํ๋ซํผ ์ ์ฒด๋ฅผ ๊ฐ๋ฆฌํจ๋ค. ์ด ํ๋ซํผ ์์์ ์์ญ ๊ฐ์ง ์๋น์ค๊ฐ ์ ๊ณต๋๋๋ฐ, ๊ทธ ์ค ํ๋๊ฐ ๋ฐ๋ก Azure VM(๊ฐ์ ์ปดํจํฐ)์ด๋ค.
์ฆ, "Azure VM์ ์ฌ์ฉํ๋ค"๋ ๊ฒ์ ํด๋ผ์ฐ๋๋ผ๋ ํฐ ๊ฑด๋ฌผ ์์ ๋ฐฉ ํ๋๋ฅผ ๋น๋ ค ์ฐ๋ ๊ฒ๊ณผ ๊ฐ๋ค.

| ํํ | ํ์ธ | ์ด์ |
| "Azure VM์ ํด๋ผ์ฐ๋ ๋ฐฉ์์ด๋ค" | โ ๋ง๋ค | VM์ ํด๋ผ์ฐ๋ ์์์ ๋์ํ๋ ์๋น์ค์ด๋ค. |
| "Azure VM = ํด๋ผ์ฐ๋๋ค" | โ ๏ธ ๋ถ์ ํํ๋ค | VM์ ํด๋ผ์ฐ๋๊ฐ ์ ๊ณตํ๋ ์ฌ๋ฌ ์๋น์ค ์ค ํ์ผ ๋ฟ์ด๋ค. |
| "Azure VM์ ์๊ฒฉ์ผ๋ก ์ ์ํด์ ์ฐ๋ ๊ฐ์ ์ปดํจํฐ๋ค" | โ ๊ฐ์ฅ ์ ํํ๋ค | VM์ ์ค์ ๋์ ๋ฐฉ์์ ๊ฐ์ฅ ์ ์ค๋ช ํ๋ ํํ์ด๋ค. |
๐ก ํต์ฌ ํ ์ค ์ ๋ฆฌ : Azure VM = Micorsoft๊ฐ ํด๋ผ์ฐ๋(Azure)์์ ์ ๊ณตํ๋ ๊ฐ์ ์ปดํจํฐ ์๋น์ค
VM(Virtual Machine)์ด๋?
VM์ Virtual Machine(๊ฐ์ ๋จธ์ )์ ์ค์๋ง์ด๋ค.
๋ฌผ๋ฆฌ์ ์ธ ์ปดํจํฐ๊ฐ ์๋๋ผ, ์ํํธ์จ์ด๋ก ๋ง๋ค์ด์ง ๊ฐ์์ ์ปดํจํฐ์ด๋ค.
์ฐ๋ฆฌ๊ฐ ์ค์ ๋ก ๋ง์ง๊ณ ๋ณผ ์ ์๋ ์ฅ๋น๋ ์์ง๋ง, ์ธํฐ๋ท์ ํตํด ์ ์ํ๋ฉด ์ง์ง ์ปดํจํฐ์ฒ๋ผ ๋์ํ๋ค.
๐ก ๋น์
VM์ ์๋ ์ปดํจํฐ์ด๋ค.
๋ฌผ๋ฆฌ์ ์ธ ์๋ฒ๋ฅผ ์ง์ ๊ตฌ๋งคํด์ ์ด์ํ๋ ๋์ , Microsoft ๋ฐ์ดํฐ์ผํฐ์ ์๋ ์์ฒ ๋์ ์๋ฒ ์ค ์ผ๋ถ๋ฅผ ์ธํฐ๋ท์ผ๋ก ๋น๋ ค์ ๋ด ์ปดํจํฐ์ฒ๋ผ ์๊ฒฉ์ผ๋ก ์ฐ๋ ๊ฒ์ด๋ค.

| ๊ตฌ๋ถ | ๋ฌผ๋ฆฌ ์๋ฒ | Azure VM |
| ์ฅ๋น ์ค๋น | ์ง์ ๊ตฌ๋งค ํ์ (๋น์ฉ, ์๊ฐ ์์) | ํด๋ฆญ ๋ช ๋ฒ์ผ๋ก ์๋ถ ๋ด ์์ฑ ๊ฐ๋ฅ |
| ์ ์ง๋ณด์ | ์ง์ ์ค์น / ๊ด๋ฆฌ / ๊ต์ฒด | ํ๋์จ์ด ๊ด๋ฆฌ๋ Azure๊ฐ ๋ด๋น |
| ์ฅ์ ๋์ | ๋ด ์ฑ ์ - ์ง์ ์กฐ์นํด์ผ ํจ | ํ๋์จ์ด ์ฅ์ ๋ Azure ์ฑ ์ |
| ํ์ฅ ๋ฐฉ๋ฒ | ์ ์ฅ๋น๋ฅผ ์ถ๊ฐ ๊ตฌ๋งคํด์ผ ํจ | ์ค์ ๋ณ๊ฒฝ๋ง์ผ๋ก ์ฌ์ ์ ๊ทธ๋ ์ด๋ ๊ฐ๋ฅ |
| ๋น์ฉ ๊ตฌ์กฐ | ์ด๊ธฐ ๋น์ฉ ํฌ๊ณ ๊ณ ์ ๋น์ฉ ๋ฐ์ | ์ฌ์ฉํ ๋งํผ๋ง ์ง๋ถ (์ข ๋์ ) |
โ ํฌ์ธํธ
VM์ ๋จ์ํ ์ ์ฅ ๊ณต๊ฐ์ด ์๋๋ผ ์ค์ ๋ก ๋์ํ๋ ์ปดํจํฐ์ด๋ค.
์ ์ํด์ ์ฟผ๋ฆฌ๋ฅผ ์คํํ๊ณ , ์คํฌ๋ฆฝํธ๋ฅผ ๋๋ฆฌ๊ณ , ํ์ผ์ ์์ฑํ๋ ๋ฑ ์ผ๋ฐ ์ปดํจํฐ์์ ํ ์ ์๋ ๋ชจ๋ ์์ ์ด ๊ฐ๋ฅํ๋ค.
์ด ์ ์ด ๋จ์ ์ ์ฅ์์ธ Blob Storage์ ๊ฐ์ฅ ํฌ๊ฒ ๋ค๋ฅธ ์ ์ด๋ค.
๋ฐ์ดํฐ ํ์ดํ๋ผ์ธ์์ VM์ ์ญํ
๋ฐ์ดํฐ ํ์ดํ๋ผ์ธ์ด๋, ์๋ณธ ๋ฐ์ดํฐ๊ฐ ์์ฑ๋๋ ๊ณณ์์๋ถํฐ ์ต์ข
์ ์ผ๋ก ํ์ฉ๋๋ ๊ณณ๊น์ง์ ํ๋ฆ์ ๋งํ๋ค.
๋ง์น ์์ ๊ฐ ์ ์ ์์ ์ถ๋ฐํด์ ์ ์ ๊ณต์ฅ์ ๊ฑฐ์ณ ์ฃผ์ ์์ ๋๋ฌํ๋ ๊ฒ์ฒ๋ผ, ๋ฐ์ดํฐ๋ ์ฌ๋ฌ ๋จ๊ณ๋ฅผ ๊ฑฐ์ณ ์ด๋ํ๊ณ ๊ฐ๊ณต๋๋ค.
๐ก ๋น์
์๋ณธ DB(์์ฐ์ง)์ DW/DM ์๋ฒ(๊ณต์ฅ) ์ฌ์ด์์ VM์ ๋ฌผ๋ฅ ํ๋ธ ์ญํ ์ ํ๋ค.
์์ฐ์ง์์ ๊ณต์ฅ์ผ๋ก ๋ฌผ๊ฑด์ ์ง์ ๋ณด๋ด๋ ๋์ , ์ค๊ฐ ๋ฌผ๋ฅ ์ผํฐ๋ฅผ ๊ฑฐ์น๊ฒ ํด์ ์์ฐ์ง์ ๋ถ๋ด์ ์ฃผ์ง ์๋ ๊ตฌ์กฐ์ด๋ค.

VM์ด ์ค๊ฐ์ ์์นํ๋ ์ด์
์๋ณธ DB์ ๋ถ์ ์ฟผ๋ฆฌ๋ ๋์ฉ๋ ๋ฐ์ดํฐ ์ถ์ถ ์์
์ ์ง์ ์คํํ๋ฉด, ์ค์ ์๋น์ค์ ๋ถํ๊ฐ ๊ฑธ๋ ค ์ฅ์ ๊ฐ ๋ฐ์ํ ์ ์๋ค.
VM์ ์ด๋ฅผ ๋ง๊ธฐ ์ํ ์์ถฉ์ง๋(Buffer)์ด๋ค. ์๋ณธ์ ๋ณต์ฌ๋ณธ์ VM์ ์ ์งํ๊ณ , ๋ชจ๋ ๋ถ์/์ถ์ถ ์์
์ VM์์ ์ฒ๋ฆฌํ๋ค.
| ์ญํ | ์ค๋ช | ์ ํ์ํ๊ฐ? |
| DB ๋ฏธ๋ฌ๋ง | ์๋ณธ DB๋ฅผ VM์ ์ฃผ๊ธฐ์ ์ผ๋ก ๋ณต์ | ์๋ณธ DB์ ์ง์ ์ ๊ทผํ์ง ์๊ธฐ ์ํด |
| ์ค๊ฐ ๋ฒํผ | ๋ถ์/์ถ์ถ ์์ ์ VM์์ ๋์ ์ฒ๋ฆฌ | ์๋ณธ ์๋น์ค์ ์ฑ๋ฅ ๋ณดํธ |
| ํ์ผ ๋ณํ | DB๋ฅผ .mdf/.ldf ํํ๋ก ๋ณํ ํ Blob ์ ์ก | ์ฅ๊ธฐ ๋ณด๊ด๊ณผ ๋ณต์์ ์ํ ํ์ค ํฌ๋งท ์ฌ์ฉ |
๋ฆฌ์ (Region)๋ณ๋ก VM์ ๋๋๋ ์ด์
๋ฆฌ์ (Region)์ด๋ Azure ๋ฐ์ดํฐ์ผํฐ๊ฐ ๋ฌผ๋ฆฌ์ ์ผ๋ก ์์นํ ์ง์ญ์ ๋งํ๋ค.
์๋ฅผ ๋ค์ด ๋์์์ ๋ฆฌ์ , ๋ฏธ๊ตญ ๋๋ถ ๋ฆฌ์ , ์ ๋ฝ ์๋ถ ๋ฆฌ์ ๋ฑ์ด ์๋ค.
์๋น์ค๊ฐ ๊ธ๋ก๋ฒ ์ฌ์ฉ์๋ฅผ ๋์์ผ๋ก ํ ์๋ก, ๊ฐ ์ง์ญ์ VM์ ๋ฐ๋ก ๋๋ ๊ฒ์ด ์ค์ํด์ง๋ค.
๐ก ๋น์
์ ์ธ๊ณ์ ์ง์ ์ ๊ฐ์ง ๋ฌผ๋ฅ ํ์ฌ๋ฅผ ์๊ฐํด๋ณด์.
๋ชจ๋ ๋ฐฐ์ก์ ์์ธ ๋ณธ์ฌ ์ฐฝ๊ณ ํ๋์์๋ง ์ฒ๋ฆฌํ๋ค๋ฉด, ๋ฏธ๊ตญ์ด๋ ์ ๋ฝ ๊ณ ๊ฐ์ ๋ฐฐ์ก ์๊ฐ์ด ๋๋ฌด ์ค๋ ๊ฑธ๋ฆฐ๋ค.
๊ฐ ์ง์ญ์ ํ์ง ์ฐฝ๊ณ (๋ฆฌ์ ๋ณ VM)๋ฅผ ๋๋ฉด ํจ์ฌ ๋น ๋ฅด๊ฒ ์ฒ๋ฆฌํ ์ ์๋ค.

โก ๋ ์ดํด์(์ง์ฐ) ๊ฐ์
๋ฐ์ดํฐ๋ฅผ ๋ฉ๋ฆฌ ๋ณด๋ด์ง ์๊ณ , ๋ฐ์ํ ์ง์ญ ๊ทผ์ฒ์ VM์์ ๋ฐ๋ก ์ฒ๋ฆฌํ๋ค.
์๋ต ์๋๊ฐ ๋นจ๋ผ์ง๊ณ ์ฌ์ฉ์ ๊ฒฝํ์ด ํฅ์๋๋ค.
๐ก๏ธ ์ฅ์ ๊ฒฉ๋ฆฌ
ํ ์ง์ญ VM์ ๋ฌธ์ ๊ฐ ์๊ฒจ๋ ๋ค๋ฅธ ๋ฆฌ์ VM์๋ ์ํฅ์ด ์๋ค.
๋ฐ์ดํฐ๋ฅผ ๋
๋ฆฝ์ ์ผ๋ก ๊ด๋ฆฌํ๋ฏ๋ก ์ฅ์ ๋ฒ์๋ฅผ ์ต์ํํ ์ ์๋ค.
๐ ๋ฐ์ดํฐ ๊ท์ ์ค์
์ผ๋ถ ๊ตญ๊ฐ/์ง์ญ์ ๋ฐ์ดํฐ๋ฅผ ํด๋น ๊ตญ๊ฐ ๋ด์์๋ง ์ฒ๋ฆฌํด์ผ ํ๋ค๋ ๋ฒ๊ท(๋ฐ์ดํฐ ๋ ์ง๋์)๊ฐ ์๋ค.
๋ฆฌ์ ๋ณ VM ๋ถ๋ฆฌ๋ก ์ด๋ฅผ ์ค์ํ ์ ์๋ค.
๐ ์ฅ์ ์์ธ ํ์ ์ฉ์ด
ํน์ ์ง์ญ ๋ฐ์ดํฐ์ ์ด์๊ฐ ์๊ฒผ์ ๋, ํด๋น ๋ฆฌ์ VM๋ง ์ง์คํด์ ํ์ธํ๋ฉด ๋๋ค.
์ ์ฒด๋ฅผ ๋ค์ง์ง ์์๋ ๋๋ ๋น ๋ฅธ ๋์์ด ๊ฐ๋ฅํ๋ค.
Azure VM vs Azure Blob Storage
์ฒ์ ํด๋ผ์ฐ๋๋ฅผ ์ ํ๋ฉด VM๊ณผ Blob Storage๋ฅผ ํผ๋ํ๊ธฐ ์ฝ๋ค.
๋ ๋ค Azure์์ ์ ๊ณตํ๋ ์๋น์ค์ง๋ง ์ญํ ์ด ์์ ํ ๋ค๋ฅด๋ค.
VM์ ์์
์ ์ฒ๋ฆฌํ๋ ๊ณณ์ด๊ณ , Blob์ ํ์ผ์ ๋ณด๊ดํ๋ ๊ณณ์ด๋ค.
๐ก ๋น์
VM์ ์๋ฆฌ์ฌ๊ฐ ์ผํ๋ ์ฃผ๋ฐฉ๐ณ, Blob์ ์์ฌ๋ฃ๋ฅผ ๋ณด๊ดํ๋ ๋๋์ฐฝ๊ณ โ๏ธ์ด๋ค.
์ฃผ๋ฐฉ์์ ์๋ฆฌ(์ฐ์ฐ/์์ )๋ฅผ ํ๊ณ , ๋น์ฅ ์ฐ์ง ์๋ ์์ฌ๋ฃ(ํ์ผ)๋ ์ฐฝ๊ณ ์ ๋ฃ์ด๋๋ ๊ตฌ์กฐ์ด๋ค.
์ฐฝ๊ณ ์์๋ ์๋ฆฌํ ์ ์๊ณ , ์ฃผ๋ฐฉ์ ๊ฐ์ ธ์์ผ ํ๋ค.

| ๊ตฌ๋ถ | AZURE VM | AZURE BLOB STORAGE |
| ํต์ฌ ์ญํ | ์ฐ์ฐ / ์ฒ๋ฆฌ ์์ ์ํ | ํ์ผ ์ ์ฅ ์ ์ฉ |
| ํน์ง | CPU/๋ฉ๋ชจ๋ฆฌ ์์, ํ๋ก๊ทธ๋จ ์คํ ๊ฐ๋ฅ | ์ ์ฅ๋ง ํจ, ์ฐ์ฐ ๋ถ๊ฐ |
| ๋น์ฉ ๊ธฐ์ค | ์ผ์ ธ ์๋ ์๊ฐ๋งํผ ๊ณผ๊ธ → ๊บผ๋๋ฉด ์ ์ฝ ๊ฐ๋ฅ | ์ ์ฅ ์ฉ๋๋งํผ ๊ณผ๊ธ → ์ค๋ ๋ฌ๋ ์ ๋ ด |
| ์ฟผ๋ฆฌ ๊ฐ๋ฅ? | โ ๊ฐ๋ฅ | โ ๋ถ๊ฐ (ํ์ผ ๊บผ๋ด์ VM/DW์์ ์ฒ๋ฆฌํด์ผ ํจ) |
| ์ ํฉํ ์ฉ๋ | DB ๋ณต์ , ์คํฌ๋ฆฝํธ ์คํ, ๋ฐ์ดํฐ ์ฒ๋ฆฌ | ๋ฐฑ์ ํ์ผ ๋ณด๊ด, ๋ก๊ทธ ์์นด์ด๋ธ, ๋์ฉ๋ ํ์ผ ์ ์ฅ |
โ ์ฐธ๊ณ
Blob Storage์ ๋ณด๊ด ๊ธฐ๊ฐ์ Azure์์ ์๋์ผ๋ก ์ค์ ํ๋ ๊ฒ์ด ์๋๋๋ค.
ํ์ด๋ ์กฐ์ง์ ์ด์ ์ ์ฑ ์ ๋ฐ๋ผ ์ง์ ์ค์ ํด์ผ ํ๋ค.
Azure์๋ LifeCycle Management ๊ธฐ๋ฅ์ ํตํด "N์ผ ์ดํ ์๋ ์ญ์ " ๋๋ "N์ผ ์ดํ ์ ๋น์ฉ ๊ณ์ธต์ผ๋ก ์ด๋" ๊ฐ์ ์ ์ฑ ์ ์ง์ ๊ตฌ์ฑํ ์ ์๋ค.
azcopy๋?
azcopy๋ Azure๊ฐ ๊ณต์์ผ๋ก ์ ๊ณตํ๋ ์ปค๋งจ๋๋ผ์ธ ํ์ผ ์ ์ก ๋๊ตฌ์ด๋ค.
Azure VM๊ณผ Azure Blob Storage ์ฌ์ด, ๋๋ Blob๊ณผ ๋ก์ปฌ ์๋ฒ ์ฌ์ด์์ ๋์ฉ๋ ํ์ผ์ ๋น ๋ฅด๊ฒ ์ฃผ๊ณ ๋ฐ์ ๋ ์ฌ์ฉํ๋ค.
์ผ๋ฐ์ ์ธ ํ์ผ ๋ณต์ฌ ๋ช
๋ น(cp, robocopy ๋ฑ)๋ณด๋ค Azure ํ๊ฒฝ์ ์ต์ ํ๋์ด ์์ด ํจ์ฌ ๋น ๋ฅด๋ค.
๐ก ๋น์
azcopy๋ Azure ์ ์ฉ ํต๋ฐฐ์ก ๊ธฐ์ฌ๐์ด๋ค.
์ผ๋ฐ ํ๋ฐฐ(์ผ๋ฐ ํ์ผ ๋ณต์ฌ)๋ณด๋ค ํจ์ฌ ๋น ๋ฅด๊ณ , ๋ํ ํ๋ฌผ(๋์ฉ๋ ํ์ผ)์ ํนํ๋์ด ์๋ค.
๋ฐฐ์ก ์ค ์ค๊ฐ์ ๋๊ฒจ๋ ์ด์ด๋ฐ๊ธฐ๊ฐ ๊ฐ๋ฅํ ๊ฒ์ด ํฐ ์ฅ์ ์ด๋ค.

โก๊ณ ์ ์ ์ก
์ผ๋ฐ ํ์ผ ๋ณต์ฌ ๋๋น ํจ์ฌ ๋น ๋ฅด๋ค.
๋ณ๋ ฌ ์ฒญํฌ ์ ์ก์ผ๋ก ๋์ญํญ์ ์ต๋ํ ํ์ฉํ๋ค.
๐ ์ด์ด๋ฐ๊ธฐ
์ ์ก ์ค ๋คํธ์ํฌ๊ฐ ๋๊ฒจ๋ ์ฒดํฌํฌ์ธํธ ๊ธฐ๋ฐ์ผ๋ก ์ด์ด๋ฐ๊ธฐ ๊ฐ๋ฅํ๋ค.
๐ ๋ณ๋ ฌ ์ ์ก
์ฌ๋ฌ ํ์ผ์ ๋์์ ์ ์กํด ์ ์ฒด ์ฒ๋ฆฌ๋์ ๊ทน๋ํํ๋ค.
๊ธฐ๋ณธ ์ฌ์ฉ ํจํด
# VM → Blob Storage (๋ฐฑ์
ํ์ผ ์
๋ก๋)
azcopy copy "/path/to/file.mdf" "https://[storage].blob.core.windows.net/[container]/"
# Blob Storage → DW Server (๋ณต์์ ์ํด ํ์ผ ๋ค์ด๋ก๋)
azcopy copy "https://[storage].blob.core.windows.net/[container]/file.mdf" "/local/path/"
# ํน์ ์ปจํ
์ด๋ ์์ ๋ชจ๋ ํ์ผ ๋ค์ด๋ก๋ (์ฌ๊ท ์ต์
)
azcopy copy "https://[storage].blob.core.windows.net/[container]/*" "/local/path/" --recursive
โ ์ฐธ๊ณ
azcopy๋ฅผ ์ฌ์ฉํ๋ ค๋ฉด Azure Storage ๊ณ์ ์ ๋ํ ์ธ์ฆ(SAS ํ ํฐ ๋๋ Azure AD)์ด ํ์ํ๋ค.
์ฒ์ ์ฌ์ฉํ ๋๋ ๊ถํ ์ค์ ์ด ์ฌ๋ฐ๋ฅธ์ง ํ์ธํ๋ ๊ฒ์ด ์ค์ํ๋ค.
MSSQL์ .mdf / .ldf ํ์ผ
MSSQL(Microsoft SQL Server) ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ ๋ ๊ธฐ๋ณธ์ ์ผ๋ก ๋ ์ข
๋ฅ์ ํ์ผ์ ์ฌ์ฉํ๋ค.
๋ฐ๋ก .mdf ์ .ldf ์ธ๋ฐ, ์ด ๋ ํ์ผ์ ํจ๊ป ๊ฐ์ง๊ณ ์์ด์ผ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์์ ํ๊ฒ ๋ณต์ํ ์ ์๋ค.
๐ก ๋น์
.mdf๋ ์ฑ ์ ๋ณธ๋ฌธ, .ldf๋ ์ฑ ์ ์์ ์ด๋ ฅ(ํธ์ง ๊ธฐ๋ก)์ด๋ค.
๋ณธ๋ฌธ๋ง ์์ผ๋ฉด ํ์ฌ ๋ด์ฉ์ ๋ณผ ์ ์์ง๋ง, ์ธ์ ์ด๋ป๊ฒ ๋ฐ๋์๋์ง๋ ์ ์ ์๋ค.
๋ ํ์ผ์ด ํจ๊ป ์์ด์ผ DB ์ํ๋ฅผ ํน์ ์์ ์ผ๋ก ๋๋๋ฆฌ๋ ๊ฒ๋ ๊ฐ๋ฅํ๋ค.

์ ์ ์ด์ ์ ๋ ํ์ผ ๋ชจ๋ ํ์์ด๋ค!
.mdf + .ldf ๊ฐ ํจ๊ป ์์ด์ผ ์๋ฒฝํ ๋ณต์์ด ๊ฐ๋ฅํ๊ณ , ํน์ ์์ ๋ณต์(PITR)๋ ๊ฐ๋ฅํ๋ค.
| ํ์ผ | ์ ์ ๋ช ์นญ | ์ญํ | ์์ผ๋ฉด? |
| .mdf | Primary Data File | ์ค์ ๋ฐ์ดํฐ ์ ์ฅ (ํ ์ด๋ธ, ์ธ๋ฑ์ค ๋ฑ) | DB ์์ฒด๊ฐ ์กด์ฌํ ์ ์์ |
| .ldf | Log Data File | ํธ๋์ญ์ ๋ก๊ทธ ์ ์ฅ (๋ณ๊ฒฝ ์ด๋ ฅ ์ถ์ ) | DB๊ฐ ์ ์์ ์ผ๋ก ์ด๋ฆฌ์ง ์์ (์๊ธ ๋ณต์์ ๊ฐ๋ฅํ๋ ๋ก๊ทธ ์ ์ค) |
โ ๏ธ ๋ณต์ ์ ์ฃผ์!
Blob Storage์์ .mdf / .ldf ํ์ผ์ azcopy๋ก ๋ด๋ ค๋ฐ์ ๋ค MSSQL์ Attach(์ฒจ๋ถ)ํ๋ ๊ณผ์ ์ด ํ์ํ๋ค.
ํ์ผ ํฌ๊ธฐ์ ๋ฐ๋ผ ๋ค์ด๋ก๋ + Attach ์๊ฐ์ด ์์ญ ๋ถ์์ ์ ์๊ฐ๊น์ง ๊ฑธ๋ฆด ์ ์๋ค.
๊ธด๊ธ ์ํฉ์์๋ ์ฒ์ ํด๋ณด๋ฉด ๋นํฉํ ์ ์์ผ๋, ๋ฏธ๋ฆฌ ๋ณต์ ์ ์ฐจ๋ฅผ ํ ๋ฒ์ฉ ์ฐ์ตํด๋๋ ๊ฒ์ ๊ฐ๋ ฅํ ๊ถ์ฅํ๋ค.
.ldf ๋ ์ ํ์ด ์๋๋ผ ํ์!
"mdf ๊ฐ ๋ณธ์ฒด์ด๊ณ ldf ๋ ์์ผ๋ฉด ์ข์ ๊ฑฐ ์๋?" ๋ผ๊ณ ์๊ฐํ ์ ์์ง๋ง, .ldf ๋ ์ ํ์ด ์๋๋ผ ํ์์ด๋ค.
MSSQL์ ์ ์ ์ด์ ์ ๋ ํ์ผ์ด ๋ชจ๋ ์์ด์ผ DB๋ฅผ ์์ํ ์ ์๋ค.
๐ก ๋น์
.mdf๊ฐ ์ง ์์ฒด(๋ฒฝ, ์ง๋ถ, ๊ฐ๊ตฌ)๋ผ๋ฉด, ,ldf๋ ์ง์ ์ด์ + ๋ณด์ ์์คํ ์ด๋ค.
์ง์ด ์์ด๋ ์ด์ ๊ฐ ์์ผ๋ฉด ๋ค์ด๊ฐ ์ ์๋ค!
| ์ํฉ | .MDF | .LDF | ๊ฒฐ๊ณผ |
| ์ ์ ์ด์ | โ ํ์ | โ ํ์ | DB ์ ์ ๋์ |
| .ldf ์์ด ์์ ์๋ | โ ์์ | โ ์์ | DB๊ฐ ์ด๋ฆฌ์ง ์์ |
| .mdf ์์ด ์์ ์๋ | โ ์์ | โ ์์ | DB ์์ฒด๊ฐ ์กด์ฌ ๋ถ๊ฐ |
๊ทธ๋ผ .mdf ๋ง์ผ๋ก ๋ณต์๋๋ ๊ฒฝ์ฐ๋?
๋น์ ์ํฉ์์ .mdf๋ง ์์ ๋ ์๊ธ ์๋จ์ด ์กด์ฌํ๊ธด ํ๋ค.
MSSQL์ด ๋น .ldf ๋ฅผ ์๋ก ๋ง๋ค์ด์ฃผ๋ ๋ฐฉ๋ฒ์ด๋ค.
-- .mdf๋ง ์์ ๋ ๊ฐ์ Attach (์๊ธ ์๋จ)
CREATE DATABASE MyDB ON
(FILENAME = 'C:\data\MyDB.mdf')
FOR ATTACH_REBUILD_LOG
ํ์ง๋ง ์ด ๋ฐฉ๋ฒ์๋ ํฐ ๋๊ฐ๊ฐ ๋ฐ๋ฅธ๋ค.
| ๋ณต์ ๋ฐฉ์ | ๊ฒฐ๊ณผ | ์๋ ๊ฒ |
| .mdf + .ldf ๋ชจ๋ ๋ณต์ | โ ์๋ฒฝํ ๋ณต์ | ์์. ํธ๋์ญ์ ์ด๋ ฅ ๋ณด์กด, ํน์ ์์ ๋ณต์(PITR) ๊ฐ๋ฅ |
| .mdf ๋ง ๋ณต์ (REBUILD_LOG) |
โ ๏ธ DB๋ ์ด๋ฆผ | ๊ธฐ์กด ํธ๋์ญ์
๋ก๊ทธ ์ ๋ถ ์ ์ค. ๋ง์ง๋ง ์ปค๋ฐ ์ ๋ ์์ ์ ์ฌ๋ผ์ง ์ ์์ |
๐ก ๋น์
.mdf + .ldf ๋ณต์ = ์ง + ์ด์ ๋ค ์์ → ์๋ฒฝํ๊ฒ ์ ์ฃผ
.mdf ๋ง ๋ณต์ = ์ง์ ์๋๋ฐ ์ด์ ๊ฐ ์์ → ์๋ฌผ์ ์๋ก ๊ต์ฒด(REBUILD_LOG)ํ๋ฉด ๋ค์ด๊ฐ ์๋ ์์ง๋ง ,์ด์ ๋ณด์ ๊ธฐ๋ก(ํธ๋์ญ์ ๋ก๊ทธ)์ ์ ๋ถ ์ฌ๋ผ์ง๋ค.
๐ก.ldf ๋ ์ ํ์ด ์๋๋ผ ํ์์ด๋ค! .mdf ๋ง์ผ๋ก ๋ณต์ํ๋ ๊ฑด ์ด๋๊น์ง๋ ์๊ธ ์๋จ์ผ ๋ฟ์ด๋ค.
๋ฐ์ดํฐ ํ์ผ ํ์ - CSV vs TSV
๋ฐ์ดํฐ ์์ง๋์ด๋ก ์ผํ๋ค ๋ณด๋ฉด .csv ์ .tsv ํ์ผ์ ์์ฃผ ๋ง๋๊ฒ ๋๋ค.
๋ ๋ค ํ
์คํธ ๊ธฐ๋ฐ์ ํ ํ์ ํ์ผ์ธ๋ฐ, ์นธ์ ๋๋๋ ๊ตฌ๋ถ์๊ฐ ๋ค๋ฅด๋ค.
๐ก ๋น์
CSV์ TSV๋ ๋ ๋ค ๋ฉ๋ชจ์ฅ์ ์ ์ ํ์ด๋ค.
๋ค๋ง ์นธ์ ๋๋๋ ๋ฐฉ๋ฒ์ด ๋ค๋ฅด๋ค. CSV๋ ์ผํ(,)๋ก ๋๋๊ณ , TSV๋ ํญ(Tabํค)์ผ๋ก ๋๋๋ค.
์ค์ ํ์ผ ๋ด๋ถ ๋น๊ต
// CSV (์ผํ๋ก ๊ตฌ๋ถ)
Time,UserId,Action,Value
2024-06-01 10:00,SRV-01,Login,100
2024-06-01 10:05,SRV-02,Purchase,500
// TSV (ํญ์ผ๋ก ๊ตฌ๋ถ — ๋์๋ ๋์ ๊ณต๋ฐฑ์ฒ๋ผ ๋ณด์)
Time UserId Action Value
2024-06-01 10:00 SRV-01 Login 100
2024-06-01 10:05 SRV-02 Purchase 500
| ๊ตฌ๋ถ | CSV | TSV |
| ์ ์ ๋ช ์นญ | Comma-Separated Values | Tab-Separated Values |
| ๊ตฌ๋ถ์ | ์ผํ , | ํญ \t |
| ํ์ฅ์ | .csv | .tsv |
| ๋ฉ๋ชจ์ฅ์ผ๋ก ์ด๋ฉด | ์ผํ๊ฐ ๋ณด์ | ๋์ ๊ณต๋ฐฑ์ฒ๋ผ ๋ณด์ |
| ์์ ๋ก ์ด๋ฉด | ํ ํํ๋ก ๋ณด์ | ํ ํํ๋ก ๋ณด์ |
์ CSV ๋์ TSV๋ฅผ ์ฐ๋ ๊ฒฝ์ฐ๊ฐ ์์๊น?
๐ก ๋น์
ํ๋ฐฐ ์ก์ฅ์ ์ฃผ์๋ฅผ ์ ์ ๋ ์ผํ๋ฅผ ์ฐ๋ ๊ฒฝ์ฐ๊ฐ ๋ง๋ค - "์์ธ์, ๊ฐ๋จ๊ตฌ, ์ญ์ผ๋". ์ด๋ ๊ตฌ๋ถ์๋ ์ผํ๋ฅผ ์ฐ๋ฉด ์ด๋๊ฐ ์ง์ง ๊ตฌ๋ถ์์ธ์ง ํท๊ฐ๋ฆฐ๋ค.
ํญ์ ๋ฐ์ดํฐ ์์ ๊ฑฐ์ ๋ฑ์ฅํ์ง ์์ผ๋๊น ๋ ์์ ํ๋ค!
ํต์ฌ์ ๋ฐ์ดํฐ ์์ ๊ตฌ๋ถ์๊ฐ ํฌํจ๋ ๊ฐ๋ฅ์ฑ์ด๋ค.
๋ก๊ทธ ๋ฐ์ดํฐ๋ ํ
์คํธ ํ๋์๋ ์ผํ๊ฐ ์์ฃผ ๋ค์ด๊ฐ๊ธฐ ๋๋ฌธ์ CSV๋ก ์ ์ฅํ๋ฉด ํ์ฑ ์๋ฌ๊ฐ ๋ ์ ์๋ค.
TSV๋ ํญ์ด ๋ฐ์ดํฐ์ ํฌํจ๋๋ ๊ฒฝ์ฐ๊ฐ ๊ทนํ ๋๋ฌผ๊ธฐ ๋๋ฌธ์ ๋ ์์ ํ๋ค.
| ์ํฉ | CSV | TSV |
| ๋ฐ์ดํฐ์ ์ผํ๊ฐ ํฌํจ๋ ๋ | โ ๏ธ ๊ตฌ๋ถ์๋ ๊ฒน์ณ์ ํ์ฑ ์๋ฌ ๊ฐ๋ฅ | โ ํญ์ ๋ฐ์ดํฐ์ ๊ฑฐ์ ์ ๋์์ ์์ |
| ๋ฐ์ดํฐ์ ํญ์ด ํฌํจ๋ ๋ | โ ๋ฌธ์ ์์ | โ ๏ธ ๊ตฌ๋ถ์๋ ๊ฒน์นจ (๊ทนํ ๋๋ฌธ ๊ฒฝ์ฐ) |
| ๋ก๊ทธ ๋ฐ์ดํฐ ์ ์ฅ | ๐ก ์ธ ์ ์์ง๋ง ์ผํ ํฌํจ ์ ์ฃผ์ | โ ๋ก๊ทธ์ ์ผํ๊ฐ ๋ง์์ TSV๊ฐ ๋ ์์ |
| ์ผ๋ฐ ์ ํ ๋ฐ์ดํฐ | โ ๊ฐ์ฅ ๋ณดํธ์ | โ ๋์ผํ๊ฒ ์ฌ์ฉ ๊ฐ๋ฅ |
MSSQL์์ TSV ๋ค๋ฃจ๊ธฐ
TSV ํ์ผ์ MSSQL ํ ์ด๋ธ๋ก ๋ถ๋ฌ์ฌ ๋๋ BULK INSERT์ ๊ตฌ๋ถ์ ์ค์ ๋ง ๋ฐ๊ฟ์ฃผ๋ฉด ๋๋ค.
-- TSV ํ์ผ์ MSSQL ํ
์ด๋ธ๋ก ๋ถ๋ฌ์ค๊ธฐ
BULK INSERT MyTable
FROM 'C:\data\sample.tsv'
WITH (
FIELDTERMINATOR = '\t', -- ํญ์ผ๋ก ๊ตฌ๋ถ (CSV๋ ',')
ROWTERMINATOR = '\n', -- ์ค๋ฐ๊ฟ์ผ๋ก ํ ๊ตฌ๋ถ
FIRSTROW = 2 -- ์ฒซ ํ์ด ํค๋๋ฉด 2๋ถํฐ
)
๐กTSV = ํญ์ผ๋ก ๋๋ ํ
์คํธ ํ์ผ.
๋ฐ์ดํฐ์ ์ผํ๊ฐ ๋ง์ด ํฌํจ๋๋ ๊ฒฝ์ฐ CSV ๋์ TSV๋ฅผ ์ฐ๋ฉด ํ์ฑ ์๋ฌ๋ฅผ ์ค์ผ ์ ์๋ค!
์ ์ฒด ์ํคํ ์ฒ ํ๋์ ๋ณด๊ธฐ
์ง๊ธ๊น์ง ์ค๋ช
ํ ๊ฐ๋
๋ค์ด ์ค์ ๋ก ์ด๋ป๊ฒ ์ฐ๊ฒฐ๋๋์ง ์ ์ฒด ํ๋ฆ์ผ๋ก ์ ๋ฆฌํด๋ดค๋ค.
๋ฐ์ดํฐ๊ฐ ์ด๋์ ์๊ธฐ๊ณ , ์ด๋ค ๊ฒฝ๋ก๋ก ์ด๋ํ๋ฉฐ, ์ด๋ป๊ฒ ๊ฐ๊ณต๋์ด ์ต์ข
์ ์ผ๋ก ์ด๋์ ํ์ฉ๋๋์ง ํ๋์ ๋ณผ ์ ์๋ค.

โ ์ฐธ๊ณ
ETL์ด๋?
Extract(์ถ์ถ) / Transform(๋ณํ) / Load(์ ์ฌ)์ ์ฝ์์ด๋ค.
์๋ณธ ๋ฐ์ดํฐ๋ฅผ ๊บผ๋ด์ด(E), ๋ถ์์ ๋ง๋ ํํ๋ก ๊ฐ๊ณตํ๊ณ (T), ๋ชฉ์ ์ง DB์ ์ ์ฅํ๋(L) ์ ๊ณผ์ ์ ๋งํ๋ค.
๋ฐ์ดํฐ ์์ง๋์ด๋ก์ ์์๋๋ฉด ์ข์ ํฌ์ธํธ
[โ] VM์ ์ด์์๋ ์๋ฒ๋ค
์ ์ํด์ ์ฟผ๋ฆฌ๋ฅผ ๋ ๋ฆฌ๊ณ , ์คํฌ๋ฆฝํธ๋ฅผ ์คํํ๊ณ , ํ์ผ์ ๋ง๋ค๊ณ , ํ๋ก๊ทธ๋จ์ ์ค์นํ๋ ๋ฑ ์ผ๋ฐ ์๋ฒ์์ ํ ์ ์๋ ๋ชจ๋ ์์
์ด ๊ฐ๋ฅํ๋ค.
๋จ์ ์ ์ฅ์์ธ Blob๊ณผ ํท๊ฐ๋ฆฌ์ง ์๋๋ก ์ฃผ์ํด์ผ ํ๋ค.
[โ] Blob์ ์ ์ฅ์์ผ ๋ฟ, ์ฐ์ฐ์ ๋ถ๊ฐ๋ฅํ๋ค
Blob์ ํ์ผ์ ์ฌ๋ ค๋๊ณ ๊ฑฐ๊ธฐ์ ์ฟผ๋ฆฌ๋ฅผ ์คํํ ์ ์๋ค.
ํ์ผ์ VM์ด๋ DW ์๋ฒ๋ก ๊ฐ์ ธ์จ ๋ค์ ์ฒ๋ฆฌํด์ผ ํ๋ค.
[โ] ๋ฆฌ์ ๋ณ VM ๋ถ๋ฆฌ ๊ตฌ์กฐ๋ฅผ ๊ธฐ์ตํด๋์
ํน์ ์ง์ญ ๋ฐ์ดํฐ์ ์ด์๊ฐ ์๊ฒผ์ ๋, ์ ์ฒด๋ฅผ ๋ค์ง์ง ๋ง๊ณ ํด๋น ๋ฆฌ์ VM๋ง ํ์ธํ๋ฉด ๋๋ค.
์ฅ์ ๋ฒ์๋ฅผ ๋น ๋ฅด๊ฒ ํน์ ํ ์ ์๋ ์ค์ํ ๊ตฌ์กฐ์ด๋ค.
[โ] azcopy ๊ธฐ๋ณธ ๋ช ๋ น์ด๋ ๊ผญ ์ตํ๋์
๋์ฉ๋ ํ์ผ์ VM ↔ Blob ์ฌ์ด์์ ์ฎ๊ธธ ์ผ์ด ์์ฃผ ์๊ธด๋ค.
azcopy copy ๋ช
๋ น์ ๊ธฐ๋ณธ ๋ฌธ๋ฒ๊ณผ ์ธ์ฆ ๋ฐฉ์(SAS ํ ํฐ)์ ๋ฏธ๋ฆฌ ์์งํด๋๋ ๊ฒ์ด ์ข๋ค.
[โ] DB ๋ณต์ ์ ์ฐจ๋ ๋ฏธ๋ฆฌ ํ ๋ฒ ๋ฐ๋ผํด๋ณด์
Blob์์ .mdf / .ldf ๋ฅผ ๋ค์ด๋ฐ์ MSSQL์ Attachํ๋ ๊ณผ์ ์ ์ฒ์ ํ๋ฉด ์๊ฐ๋ณด๋ค ์ค๋ ๊ฑธ๋ฆฐ๋ค.
๊ธด๊ธ ์ํฉ ์ ์ ๋ฏธ๋ฆฌ ์ฐ์ตํด๋๋ฉด ์ค์ ์์ ๋นํฉํ์ง ์๋๋ค.
[โ] ๊ณ์ ์ ํ ์ ๊ถํ์ ๋ฐ๋์ ํ์ธํ์
๋ค๋ฅธ ์ฌ๋ ๊ณ์ ์ผ๋ก ํ๋ ์์
์ ๋ด ๊ณ์ ์ผ๋ก ์ด๊ดํ์ ๋, ๋์ผํ IP ์ฅ๋น๋ผ๋ ํด๋ ์ ๊ทผ ๊ถํ, ์คํฌ๋ฆฝํธ ์คํ ๊ถํ, ๋คํธ์ํฌ ๋๋ผ์ด๋ธ ๋ง์ดํธ ๊ถํ ๋ฑ์ด ๋ค๋ฅผ ์ ์๋ค.
์ด์ ์ ๋๋ ์์
์ด ์๋๋ค๋ฉด ๊ถํ ๋ฌธ์ ๋ฅผ ๋จผ์ ์์ฌํ์.
[โ] .ldf ํ์ผ์ ์ ํ์ด ์๋๋ผ ํ์
.mdf ๋ง ์์ผ๋ฉด ๋ ๊ฒ ๊ฐ์ง๋ง, MSSQL์ .mdf + .ldf ๋ ๋ค ์์ด์ผ ์ ์ ๋์ํ๋ค.
,mdf ๋ง์ผ๋ก ๋ณต์ํ๋ ATTACH_REBUILD_LOG๋ ์๊ธ ์๋จ์ผ ๋ฟ, ํธ๋์ญ์
๋ก๊ทธ๊ฐ ์ ๋ถ ์ ์ค๋๋ค.
References
'๐ฆ Cloud > ๐๏ธ Azure' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
| [Azure] ํผ์ ๋ค ํ๋ MSSQL, ๋๋ ์ ํ๋ ADX (0) | 2026.06.01 |
|---|