์คํค๋ง ๋งคํ
์ด ํ์ด์ง์ ๋ด์ฉ
์คํค๋ง ๋งคํ์ ์์ค ๊ด๊ณํ ์คํค๋ง๊ฐ ๋์ MongoDB database ์์ ํํ๋๋ ๋ฐฉ์์ ๊ฒฐ์ ํ๋ ํ๋ก์ธ์ค์ ๋๋ค. ์ฌ์ฉ์ ์ง์ ๋งคํ ๊ท์น์ ํตํด Relational Migrator์์ ์คํค๋ง ๋งคํ ํ๋ก์ธ์ค๋ฅผ ์ด์งํฉ๋๋ค.
๋งคํ ๊ท์น
์คํค๋ง ๋งคํ ์ค๊ณ ํ๋ก์ธ์ค ์ค์ Relational Migrator๋ ๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์คํค๋ง์์ ์์ค ๋ฐ์ดํฐ ๋ชจ๋ธ์ ์๋์ผ๋ก ํ์ํฉ๋๋ค. ๋์ ๋ฐ์ดํฐ ๋ชจ๋ธ์ ๋ค์์ ์ฌ์ฉ์ ์ง์ ํ์ฌ ์ํฅ์ ๋ฐ์ ์ ์์ต๋๋ค.
๋งคํ ๊ท์น ์ต์
ํ๋ก์ ํธ ID ํ๋ ์ต์
์์
์ด ์น์ ์์๋ ์คํค๋ง ๋งคํ ํ๋ก์ธ์ค์ ๋ํ ์๋๋ฆฌ์ค์ ๊ตฌํ ์์๋ฅผ ์ ๊ณตํฉ๋๋ค. ์ด ์์ ์์๋ ๊ด๊ณํ ๋ฐ์ดํฐ ๋ชจ๋ธ์ MongoDB ๋ฐ์ดํฐ ๋ชจ๋ธ๋ก ๋ณํํฉ๋๋ค.
MongoEnterprises
relational database๋ฅผ ์ฌ์ฉํ ๊ฒฝ์ฐ ๋ชฉํ๋ database์ ๋ชจ๋ ํ
์ด๋ธ์ ํ๋ฉดํํ์ฌ ๋ชจ๋ ์ฃผ๋ฌธ ๋ฐ ๊ณ ๊ฐ ๋ฐ์ดํฐ๋ฅผ ๋จ์ผ MongoDB collection์์ ์ฌ์ฉํ ์ ์๋๋ก ํ๋ ๊ฒ์
๋๋ค.
ํ ์ด๋ธ ๊ตฌ์กฐ ๋น์ ๊ทํ ์ฌ์ฉ ์ฌ๋ก
๋ค์ ์ด๋ฏธ์ง๋ Relational Migrator๋ฅผ ์ฌ์ฉํ์ฌ ๋น์ ๊ทํํ ๊ด๊ณํ ๋ฐ์ดํฐ ๋ชจ๋ธ์ ๋ณด์ฌ์ค๋๋ค.
๋งคํ ๊ท์น ๊ฒฐ๊ณผ
Relational Migrator๋ฅผ ์ฌ์ฉํ ๋ ๋ชฉํ๋ ๋ค์๊ณผ ๊ฐ์ MongoDB ๋ฐ์ดํฐ ๋ชจ๋ธ์ ๋ฌ์ฑํ๋ ๊ฒ์
๋๋ค. Order
์ปฌ๋ ์
์๋ Customer
, Order
, Product
๋ฐ Order Line
ํ
์ด๋ธ์ ๋ชจ๋ ํ์ ์์๊ฐ ํฌํจ๋์ด ์์ต๋๋ค. ์ปฌ๋ ์
์๋ ๋ง์ด๊ทธ๋ ์ด์
๋ ํ
์ด๋ธ์ ๋ํ ์ค์ฒฉ๋ ๊ฐ์ฒด๊ฐ ์์ต๋๋ค. ๊ฒฐ๊ณผ๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
{ "_id": { "OrderID": 1 }, "CustomerID": 1, "OrderStatusID": 1, "TotalAmount": 550, "Customer": { "CustomerID": 1, "Name": "Joelynn Fawthrop", "Address1": "86 Dwight Pass", "Address2": "Carregal", "Address3": "3800-854" }, "OrderLines": [ { "OrderLineID": 1, "OrderID": 1, "ProductID": 1, "Quantity": 1, "Product": { "ProductID": 1, "Name": "MongoDB 5.0 Action Figure", "Price": 50 } }, { "OrderLineID": 4, "OrderID": 1, "ProductID": 3, "Quantity": 1, "Product": { "ProductID": 3, "Name": "Gold Plated MongoDB Compass", "Price": 500 } } ], "OrderStatus": { "OrderStatusID": 1, "Name": "Order Placed" } }
๋งคํ ๊ท์น ๊ตฌํ
Relational Migrator๋ฅผ ์ฌ์ฉํ์ฌ ๋์ ๋ฐ์ดํฐ ๋ชจ๋ธ ๊ฒฐ๊ณผ๋ฅผ ๋ฌ์ฑํ๋ ค๋ฉด ๋ค์ ๋งคํ ๊ท์น ์ต์
์ ์ฌ์ฉํ์ฌ Order
ํ
์ด๋ธ์ ๊ตฌ์ฑํฉ๋๋ค.
๊ด๊ณํ ํ
์ด๋ธ | ๋งคํ ๊ท์น ์ ํ | ๋ฃจํธ ๊ฒฝ๋ก |
---|---|---|
์ฃผ๋ฌธ | N/A | |
OrderLine |
| |
๊ณ ๊ฐ |
| |
์ฃผ๋ฌธ ์ํ |
| |
์ ํ |
|