{"id":1677,"date":"2026-04-24T22:02:56","date_gmt":"2026-04-24T22:02:56","guid":{"rendered":"https:\/\/wayhope.kro.kr\/?p=1677"},"modified":"2026-08-31T07:32:40","modified_gmt":"2026-08-31T07:32:40","slug":"mongodb-%ed%95%b5%ec%8b%ac-%ec%a0%95%eb%a6%ac","status":"publish","type":"post","link":"https:\/\/wayhope.kro.kr\/?p=1677","title":{"rendered":"MongoDB \ud575\uc2ec \uc815\ub9ac"},"content":{"rendered":"\n<h1 class=\"wp-block-heading\">MongoDB \ud575\uc2ec \uc815\ub9ac<\/h1>\n\n\n\n<p class=\"wp-block-paragraph\">MongoDB\ub294 \ub300\ud45c\uc801\uc778 NoSQL \ub370\uc774\ud130\ubca0\uc774\uc2a4\ub2e4. \uad00\uacc4\ud615 \ub370\uc774\ud130\ubca0\uc774\uc2a4\ucc98\ub7fc \ud14c\uc774\ube14\uacfc \ud589\uc744 \uc911\uc2ec\uc73c\ub85c \ub370\uc774\ud130\ub97c \uad00\ub9ac\ud558\ub294 \ub300\uc2e0 <strong>Document\uc640 Collection<\/strong>\uc744 \uc911\uc2ec\uc73c\ub85c \ub370\uc774\ud130\ub97c \uc800\uc7a5\ud55c\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\uad00\uacc4\ud615 \ub370\uc774\ud130\ubca0\uc774\uc2a4\uac00 \ub370\uc774\ud130\ub97c \ub2e4\uc74c\uacfc \uac19\uc774 \uad00\ub9ac\ud55c\ub2e4\uba74,<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Database -&gt; Table -&gt; Row\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">MongoDB\ub294 \ub2e4\uc74c\uacfc \uac19\uc740 \uad6c\uc870\ub97c \uc0ac\uc6a9\ud55c\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Database -&gt; Collection -&gt; Document\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Document\ub294 BSON(Binary JSON) \ud615\ud0dc\ub85c \uc800\uc7a5\ub418\uba70 JSON\uacfc \ube44\uc2b7\ud55c \uad6c\uc870\ub97c \uac00\uc9c0\uace0 \uc788\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>{\n  \"name\": \"Joo\",\n  \"level\": 30,\n  \"items\": &#91;\n    \"sword\",\n    \"potion\"\n  ]\n}\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">MongoDB\ub97c \uc774\ud574\ud560 \ub54c \uc911\uc694\ud55c \ubd80\ubd84\uc740 \ub2e8\uc21c\ud788 &#8220;NoSQL\uc774\ub77c\uc11c \uc2a4\ud0a4\ub9c8\uac00 \uc5c6\ub2e4&#8221;\ub294 \uac83\uc774 \uc544\ub2c8\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\ub370\uc774\ud130\ub97c \uc5b4\ub5bb\uac8c Document \ub2e8\uc704\ub85c \ubaa8\ub378\ub9c1\ud558\uace0, \uc5b4\ub5a4 \uae30\uc900\uc73c\ub85c \ub370\uc774\ud130\ub97c \ud3ec\ud568\ud558\uac70\ub098 \ubd84\ub9ac\ud560 \uac83\uc778\uc9c0<\/strong>\uac00 MongoDB \uc124\uacc4\uc5d0\uc11c \uc911\uc694\ud558\ub2e4.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">Document\uc640 Collection<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">MongoDB\uc5d0\uc11c \ub370\uc774\ud130\ub97c \uc800\uc7a5\ud558\ub294 \uae30\ubcf8 \ub2e8\uc704\ub294 Document\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\uc608\ub97c \ub4e4\uc5b4 \uac8c\uc784 \uce90\ub9ad\ud130 \uc815\ubcf4\ub97c \uc800\uc7a5\ud55c\ub2e4\uba74:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>{\n  \"_id\": \"player-100\",\n  \"name\": \"Joo\",\n  \"level\": 30,\n  \"class\": \"Knight\"\n}\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\uc5ec\ub7ec Document\ub294 \ud558\ub098\uc758 Collection\uc5d0 \uc800\uc7a5\ub41c\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Collection -&gt; Document -&gt; Document -&gt; Document\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\uad00\uacc4\ud615 \ub370\uc774\ud130\ubca0\uc774\uc2a4\uc758 Table\uacfc \ube44\uc2b7\ud55c \uc5ed\ud560\uc744 \ud558\uc9c0\ub9cc \uad6c\uc870\uc801\uc73c\ub85c\ub294 \ucc28\uc774\uac00 \uc788\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\ud558\ub098\uc758 Collection\uc5d0 \uc788\ub294 Document\uac00 \ubc18\ub4dc\uc2dc \uc644\uc804\ud788 \ub3d9\uc77c\ud55c \ud544\ub4dc\ub97c \uac00\uc838\uc57c \ud558\ub294 \uac83\uc740 \uc544\ub2c8\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>{\n  \"name\": \"Joo\",\n  \"level\": 30\n}\n<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-code\"><code>{\n  \"name\": \"Kim\",\n  \"level\": 20,\n  \"guild\": \"Knights\"\n}\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\uc774\ub7f0 \uad6c\uc870\uac00 \uac00\ub2a5\ud558\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\ub2e4\ub9cc \uc774\uac83\uc774 \uc544\ubb34\ub7f0 \uaddc\uce59 \uc5c6\uc774 \ub370\uc774\ud130\ub97c \uc800\uc7a5\ud574\ub3c4 \ub41c\ub2e4\ub294 \uc758\ubbf8\ub294 \uc544\ub2c8\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">MongoDB\uc758 \uc720\uc5f0\ud55c \uad6c\uc870\uc640 \ubcc4\uac1c\ub85c \uc560\ud50c\ub9ac\ucf00\uc774\uc158\uc5d0\uc11c \uc0ac\uc6a9\ud560 \ub370\uc774\ud130 \ud615\ud0dc\ub294 \uc77c\uad00\ub418\uac8c \uad00\ub9ac\ud558\ub294 \uac83\uc774 \uc88b\ub2e4.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">BSON<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">MongoDB\ub294 JSON\uacfc \ube44\uc2b7\ud55c \ud615\ud0dc\ub85c \ub370\uc774\ud130\ub97c \ub2e4\ub8e8\uc9c0\ub9cc \uc2e4\uc81c \uc800\uc7a5 \ud615\uc2dd\uc740 BSON\uc774\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">BSON\uc740 Binary JSON\uc744 \uc758\ubbf8\ud558\uba70 JSON\ubcf4\ub2e4 \ub2e4\uc591\ud55c \ub370\uc774\ud130 \ud0c0\uc785\uc744 \uc9c0\uc6d0\ud55c\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\uc608\ub97c \ub4e4\uc5b4 \ub0a0\uc9dc\ub098 ObjectId \uac19\uc740 \ud0c0\uc785\uc744 \uc0ac\uc6a9\ud560 \uc218 \uc788\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>{\n  \"_id\": ObjectId(\"...\"),\n  \"createdAt\": ISODate(\"2026-08-26T00:00:00Z\")\n}\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">MongoDB\uc5d0\uc11c <code>_id<\/code>\ub294 Document\ub97c \uc2dd\ubcc4\ud558\uae30 \uc704\ud55c \ud544\ub4dc\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\ubcc4\ub3c4\ub85c \uc9c0\uc815\ud558\uc9c0 \uc54a\uc73c\uba74 MongoDB\uac00 \uae30\ubcf8\uc801\uc73c\ub85c <code>_id<\/code>\ub97c \uc0dd\uc131\ud558\uba70 \uc77c\ubc18\uc801\uc73c\ub85c ObjectId\uac00 \uc0ac\uc6a9\ub41c\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\ub370\uc774\ud130\uc758 \uc2dd\ubcc4 \uad00\uacc4\ub294 \ub2e4\uc74c\uacfc \uac19\uc774 \ubcfc \uc218 \uc788\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Document -&gt; _id -&gt; Unique Identifier\n<\/code><\/pre>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">CRUD<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">MongoDB\uc758 \uae30\ubcf8\uc801\uc778 \ub370\uc774\ud130 \ucc98\ub9ac\ub294 CRUD\ub85c \ub098\ub20c \uc218 \uc788\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Create -&gt; Read -&gt; Update -&gt; Delete\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Document\ub97c \ucd94\uac00\ud558\ub824\uba74:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>db.users.insertOne({\n    name: \"Joo\",\n    level: 30\n});\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\uc870\ud68c:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>db.users.find({\n    level: 30\n});\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\uc218\uc815:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>db.users.updateOne(\n    { name: \"Joo\" },\n    { $set: { level: 31 } }\n);\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\uc0ad\uc81c:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>db.users.deleteOne({\n    name: \"Joo\"\n});\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">MongoDB\uc758 Query\ub294 JSON\uacfc \ube44\uc2b7\ud55c \ud615\ud0dc\ub85c \uc870\uac74\uc744 \ud45c\ud604\ud55c\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\uc608\ub97c \ub4e4\uc5b4:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>db.users.find({\n    level: { $gte: 30 }\n});\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\uc740 <code>level<\/code>\uc774 30 \uc774\uc0c1\uc778 Document\ub97c \ucc3e\ub294\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\uae30\ubcf8\uc801\uc778 \ub370\uc774\ud130 \ucc98\ub9ac \ud750\ub984\uc740 \ub2e4\uc74c\uacfc \uac19\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Application -&gt; MongoDB Query -&gt; Collection -&gt; Document -&gt; Result\n<\/code><\/pre>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">MongoDB\uc5d0\uc11c Schema\ub97c \uc5b4\ub5bb\uac8c \ubcf4\ub294\uac00<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">MongoDB\ub294 \ud754\ud788 &#8220;Schema-less Database&#8221;\ub77c\uace0 \uc124\uba85\ud55c\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\ud558\uc9c0\ub9cc \uc2e4\ubb34\uc5d0\uc11c Schema\uac00 \ud544\uc694 \uc5c6\ub2e4\ub294 \uc758\ubbf8\ub85c \ubc1b\uc544\ub4e4\uc774\uba74 \uace4\ub780\ud558\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\uc608\ub97c \ub4e4\uc5b4 \uc560\ud50c\ub9ac\ucf00\uc774\uc158\uc774 \ub2e4\uc74c \ub370\uc774\ud130\ub97c \uae30\ub300\ud55c\ub2e4\uace0 \ud558\uc790.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>{\n  \"name\": \"Joo\",\n  \"level\": 30,\n  \"class\": \"Knight\"\n}\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\uadf8\ub7f0\ub370 \uac19\uc740 Collection\uc5d0 \ub2e4\uc74c\uacfc \uac19\uc740 \ub370\uc774\ud130\uac00 \uacc4\uc18d \ub4e4\uc5b4\uc624\uba74:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>{\n  \"username\": \"Kim\",\n  \"lv\": 20\n}\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\uc560\ud50c\ub9ac\ucf00\uc774\uc158\uc5d0\uc11c \ub370\uc774\ud130\ub97c \ucc98\ub9ac\ud558\uae30\uac00 \uc624\ud788\ub824 \uc5b4\ub824\uc6cc\uc9c4\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">MongoDB\uac00 \uc790\uc720\ub85c\uc6b4 Document \uad6c\uc870\ub97c \uc81c\uacf5\ud558\ub354\ub77c\ub3c4 \uc560\ud50c\ub9ac\ucf00\uc774\uc158 \uc218\uc900\uc5d0\uc11c \ub370\uc774\ud130 \uad6c\uc870\ub97c \uad00\ub9ac\ud574\uc57c \ud55c\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">MongoDB \uc790\uccb4\uc5d0\uc11c\ub3c4 Schema Validation\uc744 \uc774\uc6a9\ud574 \uc800\uc7a5\ub418\ub294 \ub370\uc774\ud130\uc758 \uad6c\uc870\ub97c \uc81c\ud55c\ud560 \uc218 \uc788\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\ub530\ub77c\uc11c MongoDB\uc758 Schema\ub294 \ub2e4\uc74c\uacfc \uac19\uc774 \uc774\ud574\ud558\ub294 \ud3b8\uc774 \uc801\uc808\ud558\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Schema \uc694\uad6c\uc0ac\ud56d -&gt; Application Schema \uad00\ub9ac -&gt; \ud544\uc694\ud558\uba74 MongoDB Schema Validation \uc801\uc6a9\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">MongoDB\ub294 Schema\uac00 \uc5c6\ub294 \uac83\uc774 \uc544\ub2c8\ub77c <strong>Schema\ub97c \uac15\uc81c\ud558\ub294 \ubc29\uc2dd\uc774 \uad00\uacc4\ud615 \ub370\uc774\ud130\ubca0\uc774\uc2a4\ubcf4\ub2e4 \uc720\uc5f0\ud55c \uac83<\/strong>\uc5d0 \uac00\uae5d\ub2e4.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">Embedded Document<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">MongoDB\uc5d0\uc11c \uc911\uc694\ud55c \ub370\uc774\ud130 \ubaa8\ub378\ub9c1 \ubc29\uc2dd \uc911 \ud558\ub098\uac00 Embedded Document\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\uad00\ub828 \ub370\uc774\ud130\uac00 \ud56d\uc0c1 \ud568\uaed8 \uc870\ud68c\ub41c\ub2e4\uba74 \ud558\ub098\uc758 Document \uc548\uc5d0 \ud3ec\ud568\ud560 \uc218 \uc788\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\uc608\ub97c \ub4e4\uc5b4 \ud50c\ub808\uc774\uc5b4\uc640 \ud504\ub85c\ud544\uc774 \ud56d\uc0c1 \uac19\uc774 \uc0ac\uc6a9\ub41c\ub2e4\uba74:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>{\n  \"_id\": 100,\n  \"name\": \"Joo\",\n  \"profile\": {\n    \"level\": 30,\n    \"class\": \"Knight\"\n  }\n}\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\uad6c\uc870\ub294 \ub2e4\uc74c\uacfc \uac19\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Player Document -&gt; Profile Document\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\ubc30\uc5f4\ub3c4 Document \ub0b4\ubd80\uc5d0 \ud3ec\ud568\ud560 \uc218 \uc788\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>{\n  \"_id\": 100,\n  \"name\": \"Joo\",\n  \"items\": &#91;\n    {\n      \"id\": 1,\n      \"name\": \"Sword\",\n      \"count\": 1\n    },\n    {\n      \"id\": 2,\n      \"name\": \"Potion\",\n      \"count\": 10\n    }\n  ]\n}\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\uc774 \uacbd\uc6b0 \uad6c\uc870\ub294 \ub2e4\uc74c\uacfc \uac19\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Player Document -&gt; Items Array -&gt; Item Document\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\uad00\ub828 \ub370\uc774\ud130\uac00 \ud568\uaed8 \uc0ac\uc6a9\ub418\ub294 \uacbd\uc6b0 \ud558\ub098\uc758 Document\uc5d0 \ud3ec\ud568\ud568\uc73c\ub85c\uc368 \ud544\uc694\ud55c \ub370\uc774\ud130\ub97c \ud55c \ubc88\uc5d0 \uc870\ud68c\ud560 \uc218 \uc788\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Embedded \uc124\uacc4\uc758 \uae30\ubcf8 \ud750\ub984\uc740 \ub2e4\uc74c\uacfc \uac19\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\ub370\uc774\ud130 \uad00\uacc4 \ud655\uc778 -&gt; \ud568\uaed8 \uc870\ud68c\ub418\ub294\uc9c0 \ud655\uc778 -&gt; Embedded Document \uc124\uacc4\n<\/code><\/pre>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">Reference<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\ubc18\ub300\ub85c \ub370\uc774\ud130\uac00 \ud06c\uac70\ub098 \ub3c5\ub9bd\uc801\uc73c\ub85c \uad00\ub9ac\ub418\uc5b4\uc57c \ud55c\ub2e4\uba74 Document\ub97c \ubd84\ub9ac\ud560 \uc218 \uc788\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\uc608\ub97c \ub4e4\uc5b4:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>{\n    \"_id\": 100,\n    \"name\": \"Joo\"\n}\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\uadf8\ub9ac\uace0 \ubcc4\ub3c4\uc758 Collection\uc5d0:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>{\n    \"_id\": 1,\n    \"ownerId\": 100,\n    \"name\": \"Sword\"\n}\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\ub97c \uc800\uc7a5\ud560 \uc218 \uc788\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\uc774 \uacbd\uc6b0 \uad00\uacc4\ub294 \ub2e4\uc74c\uacfc \uac19\uc774 \ud45c\ud604\ud560 \uc218 \uc788\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Player Document -&gt; ownerId -&gt; Item Document\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\uad00\uacc4\ud615 \ub370\uc774\ud130\ubca0\uc774\uc2a4\uc5d0\uc11c\ub294 Table\uc744 \ubd84\ub9ac\ud558\uace0 JOIN\ud558\ub294 \ubc29\uc2dd\uc774 \uc77c\ubc18\uc801\uc774\uc9c0\ub9cc MongoDB\uc5d0\uc11c\ub294 \uc560\ud50c\ub9ac\ucf00\uc774\uc158\uc758 \uc870\ud68c \ud328\ud134\uc744 \uae30\uc900\uc73c\ub85c Embedded\uc640 Reference \uc911 \uc5b4\ub5a4 \ubc29\uc2dd\uc744 \uc0ac\uc6a9\ud560\uc9c0 \uacb0\uc815\ud558\ub294 \uacbd\uc6b0\uac00 \ub9ce\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\ub530\ub77c\uc11c \ub370\uc774\ud130 \ubaa8\ub378\ub9c1 \uacfc\uc815\uc740 \ub2e4\uc74c\uacfc \uac19\uc774 \ubcfc \uc218 \uc788\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\ub370\uc774\ud130 \uad00\uacc4 -&gt; \uc870\ud68c \ud328\ud134 \ubd84\uc11d -&gt; \ub370\uc774\ud130 \ud06c\uae30 \ud655\uc778 -&gt; Embedded \/ Reference \uc120\ud0dd\n<\/code><\/pre>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">MongoDB\uc5d0\uc11c JOIN\uc740 \uc5c6\ub294\uac00<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">MongoDB\uc5d0\ub3c4 \ub2e4\ub978 Collection\uc758 \ub370\uc774\ud130\ub97c \uc5f0\uacb0\ud574\uc11c \uc870\ud68c\ud558\ub294 \uae30\ub2a5\uc774 \uc788\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\ub300\ud45c\uc801\uc73c\ub85c <code>$lookup<\/code>\uc774 \uc788\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>db.orders.aggregate(&#91;\n    {\n        $lookup: {\n            from: \"users\",\n            localField: \"userId\",\n            foreignField: \"_id\",\n            as: \"user\"\n        }\n    }\n]);\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\ub530\ub77c\uc11c MongoDB\uc5d0 JOIN\uacfc \ube44\uc2b7\ud55c \uae30\ub2a5\uc774 \uc804\ud600 \uc5c6\ub294 \uac83\uc740 \uc544\ub2c8\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\ub370\uc774\ud130 \uc5f0\uacb0 \uacfc\uc815\uc740 \ub2e4\uc74c\uacfc \uac19\uc774 \ubcfc \uc218 \uc788\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Collection A -&gt; $lookup -&gt; Collection B -&gt; Combined Result\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\ub2e4\ub9cc MongoDB\uc758 \ub370\uc774\ud130 \ubaa8\ub378\ub9c1\uc5d0\uc11c\ub294 \uad00\uacc4\ud615 \ub370\uc774\ud130\ubca0\uc774\uc2a4\ucc98\ub7fc \ubaa8\ub4e0 \ub370\uc774\ud130\ub97c \ubb34\uc870\uac74 \uc815\uaddc\ud654\ud558\uace0 JOIN\ud558\ub294 \ubc29\uc2dd\ubcf4\ub2e4 <strong>\uc870\ud68c \ud328\ud134\uc5d0 \ub9de\uac8c \ub370\uc774\ud130\ub97c \ubb36\uc5b4 \uc800\uc7a5\ud558\ub294 \uac83<\/strong>\uc744 \uc911\uc694\ud558\uac8c \ubcf8\ub2e4.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">Index<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\ub370\uc774\ud130\uac00 \ub9ce\uc544\uc9c0\uba74 Query \uc131\ub2a5\uc744 \uc704\ud574 Index\uac00 \ud544\uc694\ud558\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\uc608\ub97c \ub4e4\uc5b4 <code>email<\/code>\ub85c \uc0ac\uc6a9\uc790\ub97c \uc790\uc8fc \uc870\ud68c\ud55c\ub2e4\uba74 \ud574\ub2f9 \ud544\ub4dc\uc5d0 Index\ub97c \ub9cc\ub4e4 \uc218 \uc788\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>db.users.createIndex({\n    email: 1\n});\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\uc870\ud68c \uacfc\uc815\uc740 \uac1c\ub150\uc801\uc73c\ub85c \ub2e4\uc74c\uacfc \uac19\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Query -&gt; Index -&gt; Target Document\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Index\ub294 \ubb34\uc870\uac74 \ub9ce\uc774 \ub9cc\ub4e0\ub2e4\uace0 \uc88b\uc740 \uac83\uc774 \uc544\ub2c8\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Index \uc790\uccb4\ub3c4 \uc800\uc7a5 \uacf5\uac04\uc744 \uc0ac\uc6a9\ud558\uace0 Insert\uc640 Update \uac19\uc740 \uc4f0\uae30 \uc791\uc5c5\uc5d0\uc11c\ub294 Index\ub97c \ud568\uaed8 \uad00\ub9ac\ud574\uc57c \ud55c\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\ub530\ub77c\uc11c \uc2e4\uc81c Query \ud328\ud134\uc744 \uae30\uc900\uc73c\ub85c Index\ub97c \uc124\uacc4\ud574\uc57c \ud55c\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Query Pattern -&gt; Index \uc124\uacc4 -&gt; Read \uc131\ub2a5 \ud5a5\uc0c1\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\ub3d9\uc2dc\uc5d0 \ub2e4\uc74c\uacfc \uac19\uc740 \ube44\uc6a9\uc774 \ubc1c\uc0dd\ud55c\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Index \ucd94\uac00 -&gt; Storage \uc99d\uac00 -&gt; Write \ube44\uc6a9 \uc99d\uac00\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\uacb0\uad6d Index \uc124\uacc4\ub294 \uc870\ud68c \uc131\ub2a5\uacfc \uc800\uc7a5 \ubc0f \uc4f0\uae30 \ube44\uc6a9 \uc0ac\uc774\uc758 \uade0\ud615 \ubb38\uc81c\ub2e4.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">Compound Index<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\uc5ec\ub7ec \ud544\ub4dc\ub97c \ud568\uaed8 \uac80\uc0c9\ud558\ub294 \uacbd\uc6b0\uc5d0\ub294 Compound Index\ub97c \uc0ac\uc6a9\ud560 \uc218 \uc788\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>db.users.createIndex({\n    level: 1,\n    class: 1\n});\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\uc608\ub97c \ub4e4\uc5b4:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>db.users.find({\n    level: 30,\n    class: \"Knight\"\n});\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\uac19\uc740 Query\ub97c \uc790\uc8fc \uc0ac\uc6a9\ud558\ub294 \uacbd\uc6b0 Compound Index\ub97c \uace0\ub824\ud560 \uc218 \uc788\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\uc124\uacc4 \uacfc\uc815\uc740 \ub2e4\uc74c\uacfc \uac19\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Query \uc870\uac74 -&gt; \uc815\ub82c \uc870\uac74 -&gt; \ud544\ub4dc \uc21c\uc11c \uacb0\uc815 -&gt; Compound Index \uc124\uacc4\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Compound Index\ub294 \ud544\ub4dc\uc758 \uc21c\uc11c\uac00 \uc911\uc694\ud558\uae30 \ub54c\ubb38\uc5d0 \ub2e8\uc21c\ud788 \uac80\uc0c9\uc5d0 \uc0ac\uc6a9\ub418\ub294 \ud544\ub4dc\ub97c \ubaa8\ub450 \ub123\ub294 \ubc29\uc2dd\uc73c\ub85c \uc124\uacc4\ud574\uc11c\ub294 \uc548 \ub41c\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\uc2e4\uc81c Query \ud328\ud134\uc744 \uae30\uc900\uc73c\ub85c Index\ub97c \uad6c\uc131\ud574\uc57c \ud55c\ub2e4.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">Aggregation<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">MongoDB\uc5d0\uc11c \ub370\uc774\ud130\ub97c \uc9d1\uacc4\ud558\uace0 \ubcc0\ud658\ud560 \ub54c\ub294 Aggregation Pipeline\uc744 \uc0ac\uc6a9\ud55c\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\uc608\ub97c \ub4e4\uc5b4 \uac8c\uc784\uc5d0\uc11c \uc9c1\uc5c5\ubcc4 \ud3c9\uade0 \ub808\ubca8\uc744 \uacc4\uc0b0\ud55c\ub2e4\uace0 \ud558\uc790.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Collection -&gt; $match -&gt; $group -&gt; $sort -&gt; $project -&gt; Result\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">MongoDB\uc5d0\uc11c\ub294 \ub2e4\uc74c\uacfc \uac19\uc740 Pipeline\uc744 \ub9cc\ub4e4 \uc218 \uc788\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>db.players.aggregate(&#91;\n    {\n        $group: {\n            _id: \"$class\",\n            averageLevel: {\n                $avg: \"$level\"\n            }\n        }\n    }\n]);\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Aggregation\uc740 \uc5ec\ub7ec Stage\ub97c \uc5f0\uacb0\ud574\uc11c \ub370\uc774\ud130\ub97c \ucc98\ub9ac\ud55c\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Document -&gt; $match -&gt; $group -&gt; $sort -&gt; $project -&gt; Result\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\uac01 Stage\uc5d0\uc11c \ub370\uc774\ud130\ub97c \ud544\ud130\ub9c1\ud558\uace0 \uadf8\ub8f9\ud654\ud558\uace0 \uacc4\uc0b0\ud558\uace0 \uc6d0\ud558\ub294 \ud615\ud0dc\ub85c \ubcc0\ud658\ud560 \uc218 \uc788\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\ub530\ub77c\uc11c Aggregation\uc740 \ub2e8\uc21c \uc870\ud68c\ubcf4\ub2e4 \ubcf5\uc7a1\ud55c \ub370\uc774\ud130 \uac00\uacf5\uc774\ub098 \ud1b5\uacc4\uc5d0 \uc801\ud569\ud558\ub2e4.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">Transaction<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">MongoDB\ub3c4 Transaction\uc744 \uc9c0\uc6d0\ud55c\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\uc5ec\ub7ec \uc791\uc5c5\uc744 \ud558\ub098\uc758 \ub17c\ub9ac\uc801\uc778 \uc791\uc5c5\uc73c\ub85c \ubb36\uc5b4\uc57c \ud558\ub294 \uacbd\uc6b0 \uc0ac\uc6a9\ud560 \uc218 \uc788\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\uc608\ub97c \ub4e4\uc5b4 \uac8c\uc784\uc5d0\uc11c \uc544\uc774\ud15c\uc744 \ub2e4\ub978 \ud50c\ub808\uc774\uc5b4\uc5d0\uac8c \uc774\ub3d9\ud55c\ub2e4\uace0 \ud558\uc790.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Player A -&gt; Item Remove\nPlayer B -&gt; Item Add\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\ub450 \uc791\uc5c5\uc774 \ubc18\ub4dc\uc2dc \ud568\uaed8 \ucc98\ub9ac\ub418\uc5b4\uc57c \ud55c\ub2e4\uba74 Transaction\uc744 \uc0ac\uc6a9\ud560 \uc218 \uc788\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Transaction Begin -&gt; Player A Item Remove -&gt; Player B Item Add -&gt; Commit\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\uc911\uac04\uc5d0 \ubb38\uc81c\uac00 \ubc1c\uc0dd\ud558\uba74:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Transaction Begin -&gt; Player A Item Remove -&gt; Error -&gt; Rollback\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\uc774\ub7f0 \ubc29\uc2dd\uc73c\ub85c \uc5ec\ub7ec \uc791\uc5c5\uc744 \ud558\ub098\uc758 \uc6d0\uc790\uc801\uc778 \uc791\uc5c5\uc73c\ub85c \ucc98\ub9ac\ud560 \uc218 \uc788\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\ub2e4\ub9cc MongoDB\uc758 Document \ubaa8\ub378\uc5d0\uc11c\ub294 \uac00\ub2a5\ud55c \uacbd\uc6b0 \uad00\ub828 \ub370\uc774\ud130\ub97c \ud558\ub098\uc758 Document\uc5d0 \ud3ec\ud568\uc2dc\ucf1c Transaction\uc758 \ud544\uc694\uc131\uc744 \uc904\uc774\ub294 \uc124\uacc4\ub3c4 \uace0\ub824\ud560 \uc218 \uc788\ub2e4.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">Replica Set<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">MongoDB\ub97c \uc6b4\uc601 \ud658\uacbd\uc5d0\uc11c \uc0ac\uc6a9\ud55c\ub2e4\uba74 \uc7a5\uc560 \ub300\uc751\uc744 \uc704\ud574 Replica Set\uc744 \uad6c\uc131\ud560 \uc218 \uc788\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\uae30\ubcf8 \uad6c\uc870\ub294 \ub2e4\uc74c\uacfc \uac19\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Primary -&gt; Secondary\n<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-code\"><code>Primary -&gt; Secondary\nPrimary -&gt; Secondary\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Primary\uac00 \uc4f0\uae30 \uc791\uc5c5\uc744 \ucc98\ub9ac\ud558\uace0 Secondary\uac00 \ub370\uc774\ud130\ub97c \ubcf5\uc81c\ud55c\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\uc7a5\uc560\uac00 \ubc1c\uc0dd\ud558\uba74 \ub2e4\uc74c\uacfc \uac19\uc740 \ud750\ub984\uc73c\ub85c \uc0c8\ub85c\uc6b4 Primary\ub97c \uad6c\uc131\ud560 \uc218 \uc788\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Primary \uc7a5\uc560 -&gt; Secondary \uc120\ucd9c -&gt; New Primary -&gt; Service Continue\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\ub530\ub77c\uc11c Replica Set\uc740 MongoDB\uc758 \uace0\uac00\uc6a9\uc131\uc744 \uad6c\uc131\ud558\ub294 \ud575\uc2ec \uc694\uc18c\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Replica Set -&gt; Data Replication -&gt; Failover -&gt; High Availability\n<\/code><\/pre>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">Sharding<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\ub370\uc774\ud130\uac00 \ub9e4\uc6b0 \ucee4\uc838 \ud558\ub098\uc758 \uc11c\ubc84\uc5d0\uc11c \ucc98\ub9ac\ud558\uae30 \uc5b4\ub824\uc6cc\uc9c0\uba74 Sharding\uc744 \uc0ac\uc6a9\ud560 \uc218 \uc788\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Sharding\uc740 \ub370\uc774\ud130\ub97c \uc5ec\ub7ec \uc11c\ubc84\uc5d0 \ubd84\uc0b0\uc2dc\ud0a4\ub294 \ubc29\uc2dd\uc774\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>MongoDB Cluster -&gt; Shard 1\nMongoDB Cluster -&gt; Shard 2\nMongoDB Cluster -&gt; Shard 3\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\uc5b4\ub5a4 \ub370\uc774\ud130\ub97c \uc5b4\ub290 Shard\uc5d0 \uc800\uc7a5\ud560\uc9c0\ub294 Shard Key\ub97c \uae30\uc900\uc73c\ub85c \uacb0\uc815\ud55c\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Document -&gt; Shard Key -&gt; Target Shard -&gt; Data Storage\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Sharding\uc758 \ubaa9\uc801\uc740 \ub370\uc774\ud130\ub97c \uc5ec\ub7ec \uc11c\ubc84\uc5d0 \ubd84\uc0b0\ud574 \uc800\uc7a5\ud558\uace0 \ucc98\ub9ac\ud558\ub294 \uac83\uc774\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Large Dataset -&gt; Sharding -&gt; Distributed Data -&gt; Horizontal Scaling\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\ub2e4\ub9cc Sharding\uc740 \uc11c\ubc84\ub97c \uc5ec\ub7ec \ub300 \ucd94\uac00\ud558\uba74 \ub05d\ub098\ub294 \uae30\ub2a5\uc774 \uc544\ub2c8\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Shard Key\ub97c \uc798\ubabb \uc120\ud0dd\ud558\uba74 \ud2b9\uc815 Shard\uc5d0 \ub370\uc774\ud130\uac00 \uc9d1\uc911\ub418\ub294 \ubb38\uc81c\uac00 \ubc1c\uc0dd\ud560 \uc218 \uc788\uace0 Query \uc131\ub2a5\uc5d0\ub3c4 \uc601\ud5a5\uc744 \uc904 \uc218 \uc788\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\ub530\ub77c\uc11c \ub300\uaddc\ubaa8 MongoDB\uc5d0\uc11c\ub294 \ub2e4\uc74c\uacfc \uac19\uc740 \ud750\ub984\uc73c\ub85c \uc124\uacc4\ud574\uc57c \ud55c\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Data Distribution \ubd84\uc11d -&gt; Query Pattern \ubd84\uc11d -&gt; Shard Key \uc124\uacc4 -&gt; Sharding \uad6c\uc131\n<\/code><\/pre>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">MongoDB\uc758 \uc7a5\uc810\uacfc \ud55c\uacc4<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">MongoDB\uc758 \uac00\uc7a5 \ud070 \ud2b9\uc9d5\uc740 Document \uad6c\uc870\uac00 \uc560\ud50c\ub9ac\ucf00\uc774\uc158\uc758 \ub370\uc774\ud130 \ubaa8\ub378\uacfc \uc798 \ub9de\ub294 \uacbd\uc6b0\uac00 \ub9ce\ub2e4\ub294 \uac83\uc774\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\uc911\ucca9\ub41c \uac1d\uccb4\ub098 \ubc30\uc5f4\uc744 \ud558\ub098\uc758 Document\uc5d0 \uc790\uc5f0\uc2a4\ub7fd\uac8c \uc800\uc7a5\ud560 \uc218 \uc788\uace0, \ub370\uc774\ud130 \uad6c\uc870\uc758 \ubcc0\uacbd\uc5d0\ub3c4 \ube44\uad50\uc801 \uc720\uc5f0\ud558\uac8c \ub300\uc751\ud560 \uc218 \uc788\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\ud2b9\ud788 \ub2e4\uc74c\uacfc \uac19\uc740 \ub370\uc774\ud130\uc640 \uc798 \ub9de\ub294\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>User Profile\nGame Character Data\nProduct Data\nContent Data\nEvent Log\nDocument Data\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\ubc18\ub300\ub85c \ubcf5\uc7a1\ud55c \uad00\uacc4\uc640 \uac15\ud55c \uc815\ud569\uc131\uc774 \uc911\uc2ec\uc778 \uc2dc\uc2a4\ud15c\uc774\ub77c\uba74 \uad00\uacc4\ud615 \ub370\uc774\ud130\ubca0\uc774\uc2a4\uac00 \ub354 \uc801\ud569\ud560 \uc218 \uc788\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\uc608\ub97c \ub4e4\uc5b4 \uae08\uc735 \uac70\ub798\ucc98\ub7fc \uc5ec\ub7ec \ub370\uc774\ud130\uc758 \uad00\uacc4\uc640 Transaction\uc774 \ub9e4\uc6b0 \uc911\uc694\ud55c \uc2dc\uc2a4\ud15c\uc5d0\uc11c\ub294 PostgreSQL\uc774\ub098 MySQL \uac19\uc740 \uad00\uacc4\ud615 DB\ub97c \uc6b0\uc120\uc801\uc73c\ub85c \uace0\ub824\ud558\ub294 \uacbd\uc6b0\uac00 \ub9ce\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">DB \uc120\ud0dd\uc740 \ub2e4\uc74c\uacfc \uac19\uc740 \uae30\uc900\uc73c\ub85c \uacb0\uc815\ud560 \uc218 \uc788\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Data Structure -&gt; Access Pattern -&gt; Consistency Requirement -&gt; Scalability Requirement -&gt; Database Selection\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">MongoDB\uac00 \uad00\uacc4\ud615 DB\ubcf4\ub2e4 \uc0c1\uc704\ud638\ud658\uc778 \uac83\uc740 \uc544\ub2c8\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\ubb38\uc81c\uc758 \ud2b9\uc131\uc5d0 \ub530\ub77c \uc801\ud569\ud55c \ub370\uc774\ud130\ubca0\uc774\uc2a4\uac00 \ub2ec\ub77c\uc9c4\ub2e4.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">MongoDB\uc640 Redis\uc758 \ucc28\uc774<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">MongoDB\uc640 Redis\ub294 \ub458 \ub2e4 NoSQL \uacc4\uc5f4\ub85c \ubd84\ub958\ub418\uc9c0\ub9cc \ubaa9\uc801\uc774 \uc0c1\ub2f9\ud788 \ub2e4\ub974\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">MongoDB\ub294 \uc8fc\ub85c Document\ub97c \uc601\uad6c\uc801\uc73c\ub85c \uc800\uc7a5\ud558\ub294 \ub370\uc774\ud130\ubca0\uc774\uc2a4\ub85c \uc0ac\uc6a9\ud55c\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Redis\ub294 \uba54\ubaa8\ub9ac \uae30\ubc18 Key-Value \uc800\uc7a5\uc18c\ub85c Cache, Session, \uc2e4\uc2dc\uac04 \ub370\uc774\ud130 \ub4f1\uc5d0 \ub9ce\uc774 \uc0ac\uc6a9\ud55c\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>MongoDB -&gt; Persistent Document Storage\n<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-code\"><code>Redis -&gt; In-Memory Key-Value Storage\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\ud558\ub098\uc758 \uc11c\ubc84\uc5d0\uc11c \ub450 \uc2dc\uc2a4\ud15c\uc744 \ud568\uaed8 \uc0ac\uc6a9\ud558\ub294 \uacbd\uc6b0 \ub2e4\uc74c\uacfc \uac19\uc740 \uad6c\uc870\uac00 \uac00\ub2a5\ud558\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Application -&gt; MongoDB -&gt; User Data \/ Game Data\n<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-code\"><code>Application -&gt; Redis -&gt; Cache \/ Session \/ Ranking\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\ub450 \ub370\uc774\ud130\ubca0\uc774\uc2a4\ub97c \ud568\uaed8 \uc0ac\uc6a9\ud558\ub294 \uacbd\uc6b0 \uc5ed\ud560\uc744 \ubd84\ub9ac\ud560 \uc218 \uc788\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Application -&gt; MongoDB -&gt; Persistent Data\nApplication -&gt; Redis -&gt; Fast Access Data\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\ub530\ub77c\uc11c MongoDB\uc640 Redis\ub294 \ubc18\ub4dc\uc2dc \uc11c\ub85c \ub300\uccb4\ud558\ub294 \uad00\uacc4\uac00 \uc544\ub2c8\ub77c \ubaa9\uc801\uc5d0 \ub530\ub77c \ud568\uaed8 \uc0ac\uc6a9\ud560 \uc218\ub3c4 \uc788\ub2e4.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">MongoDB\ub97c \uc11c\ubc84\uc5d0\uc11c \uc0ac\uc6a9\ud558\ub294 \uad6c\uc870<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Node.js\ub098 Java \uac19\uc740 \uc11c\ubc84 \uc560\ud50c\ub9ac\ucf00\uc774\uc158\uc5d0\uc11c MongoDB\ub97c \uc0ac\uc6a9\ud560 \uc218 \uc788\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\uc77c\ubc18\uc801\uc778 \uc694\uccad \ud750\ub984\uc740 \ub2e4\uc74c\uacfc \uac19\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Client -&gt; HTTP -&gt; Server -&gt; MongoDB Driver \/ ODM -&gt; MongoDB\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\uc11c\ubc84 \ub0b4\ubd80\uc5d0\uc11c\ub294 \ub2e4\uc74c\uacfc \uac19\uc740 \uacc4\uce35 \uad6c\uc870\ub97c \uc0ac\uc6a9\ud560 \uc218 \uc788\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Request -&gt; Controller -&gt; Service -&gt; Repository -&gt; MongoDB\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Node.js\uc5d0\uc11c\ub294 MongoDB Driver\ub098 Mongoose \uac19\uc740 ODM\uc744 \uc0ac\uc6a9\ud560 \uc218 \uc788\uace0, Java\uc5d0\uc11c\ub294 MongoDB Java Driver\ub098 Spring Data MongoDB \ub4f1\uc744 \uc0ac\uc6a9\ud560 \uc218 \uc788\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">MongoDB\ub97c \uc0ac\uc6a9\ud55c\ub2e4\uace0 \ud574\uc11c \uc11c\ubc84 \uc544\ud0a4\ud14d\ucc98 \uc790\uccb4\uac00 \ub2ec\ub77c\uc9c0\ub294 \uac83\uc740 \uc544\ub2c8\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\ub370\uc774\ud130 \uc811\uadfc \uacc4\uce35\uc5d0\uc11c MongoDB\uc5d0 \ub9de\ub294 \uc800\uc7a5 \ubc29\uc2dd\uacfc Query\ub97c \uc0ac\uc6a9\ud558\ub294 \uac83\uc774\ub2e4.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">MongoDB\ub97c \uc124\uacc4\ud560 \ub54c \uc911\uc694\ud55c \uac83<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">MongoDB\uc5d0\uc11c \uac00\uc7a5 \uc911\uc694\ud55c \uac83\uc740 Document\ub97c \uc5b4\ub5bb\uac8c \uad6c\uc131\ud560 \uac83\uc778\uac00\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\uad00\uacc4\ud615 DB\uc5d0\uc11c\ub294 \ubcf4\ud1b5 \uc815\uaddc\ud654\ubd80\ud130 \uc0dd\uac01\ud558\ub294 \uacbd\uc6b0\uac00 \ub9ce\uc9c0\ub9cc MongoDB\uc5d0\uc11c\ub294 <strong>\uc560\ud50c\ub9ac\ucf00\uc774\uc158\uc774 \ub370\uc774\ud130\ub97c \uc5b4\ub5bb\uac8c \uc77d\ub294\uc9c0<\/strong>\ubd80\ud130 \ubcf4\ub294 \ud3b8\uc774 \uc88b\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\uc608\ub97c \ub4e4\uc5b4 \ud50c\ub808\uc774\uc5b4 \uc815\ubcf4\ub97c \uc870\ud68c\ud560 \ub54c \ud56d\uc0c1 \uc7a5\ube44 \uc815\ubcf4\uac00 \ud544\uc694\ud558\ub2e4\uba74:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Player Data -&gt; Equipment Data -&gt; Embedded \uace0\ub824\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\ubc18\ub300\ub85c \uc7a5\ube44\uac00 \ub3c5\ub9bd\uc801\uc73c\ub85c \uad00\ub9ac\ub418\uace0 \uc218\uac00 \ub9e4\uc6b0 \ub9ce\uac70\ub098 \ub2e4\ub978 \uc2dc\uc2a4\ud15c\uc5d0\uc11c\ub3c4 \ubcc4\ub3c4\ub85c \uc870\ud68c\ud55c\ub2e4\uba74:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Player Data -&gt; Equipment Data -&gt; Reference \uace0\ub824\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\uacb0\uad6d Document \uc124\uacc4\ub294 \ub2e4\uc74c\uacfc \uac19\uc740 \ud750\ub984\uc73c\ub85c \ud310\ub2e8\ud560 \uc218 \uc788\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Data Relationship -&gt; Access Pattern -&gt; Data Size -&gt; Write Frequency -&gt; Consistency Requirement -&gt; Document Model\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\uadf8 \uacb0\uacfc\uc5d0 \ub530\ub77c:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Document Model -&gt; Embedded\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\ub610\ub294:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Document Model -&gt; Reference\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\ub97c \uc120\ud0dd\ud55c\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\uc774\ud6c4 \uc2e4\uc81c Query \ud328\ud134\uc5d0 \ub530\ub77c Index\ub97c \uc124\uacc4\ud55c\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Document Model -&gt; Query Pattern -&gt; Index Design -&gt; Query Performance\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">MongoDB\uc758 \uc720\uc5f0\ud568\uc740 \uc544\ubb34\ub807\uac8c\ub098 \uc800\uc7a5\ud574\ub3c4 \ub41c\ub2e4\ub294 \uc758\ubbf8\uac00 \uc544\ub2c8\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\uc624\ud788\ub824 Document \uad6c\uc870\ub97c \uc798\ubabb \uc7a1\uc73c\uba74 \ub370\uc774\ud130\uac00 \uc9c0\ub098\uce58\uac8c \ucee4\uc9c0\uac70\ub098 Query\uac00 \ubcf5\uc7a1\ud574\uc9c0\uace0 Index \uc124\uacc4\ub3c4 \uc5b4\ub824\uc6cc\uc9c8 \uc218 \uc788\ub2e4.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">\uc804\uccb4 \uad6c\uc870<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">MongoDB\ub97c \uc11c\ubc84 \uac1c\ubc1c \uad00\uc810\uc5d0\uc11c \ud558\ub098\ub85c \ubb36\uc73c\uba74 \ub2e4\uc74c\uacfc \uac19\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Client -&gt; Application Server -&gt; MongoDB Driver \/ ODM -&gt; MongoDB Cluster\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">MongoDB \ub0b4\ubd80\uc758 \uae30\ubcf8 \ub370\uc774\ud130 \uad6c\uc870\ub294 \ub2e4\uc74c\uacfc \uac19\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>MongoDB Cluster -&gt; Database -&gt; Collection -&gt; Document -&gt; Field\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Document \ub0b4\ubd80\uc5d0\ub294 \ud544\uc694\ud55c \uacbd\uc6b0 \ub2e4\uc74c\uacfc \uac19\uc740 \ub370\uc774\ud130 \uad6c\uc870\ub97c \uc0ac\uc6a9\ud560 \uc218 \uc788\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Document -&gt; Embedded Document\n<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-code\"><code>Document -&gt; Embedded Array\n<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-code\"><code>Document -&gt; Reference ID -&gt; Other Document\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\uc870\ud68c\ub294 \ub2e4\uc74c\uacfc \uac19\uc774 \uc5f0\uacb0\ub41c\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Application -&gt; Query -&gt; Index -&gt; Document -&gt; Result\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\ub370\uc774\ud130 \uc9d1\uacc4\ub294 \ub2e4\uc74c\uacfc \uac19\uc774 \uc5f0\uacb0\ub41c\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Collection -&gt; Aggregation Pipeline -&gt; Result\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\uc5ec\ub7ec \uc791\uc5c5\uc744 \ud558\ub098\uc758 \ub17c\ub9ac\uc801 \uc791\uc5c5\uc73c\ub85c \ucc98\ub9ac\ud574\uc57c \ud55c\ub2e4\uba74:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Transaction -&gt; Operation -&gt; Commit \/ Rollback\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\uace0\uac00\uc6a9\uc131\uc774 \ud544\uc694\ud55c \uacbd\uc6b0:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>MongoDB Cluster -&gt; Replica Set -&gt; Primary \/ Secondary -&gt; Failover\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\uc218\ud3c9 \ud655\uc7a5\uc774 \ud544\uc694\ud55c \uacbd\uc6b0:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>MongoDB Cluster -&gt; Sharding -&gt; Shard Key -&gt; Shard -&gt; Distributed Data\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\uc804\uccb4 \uad6c\uc870\ub97c \ud558\ub098\ub85c \uc5f0\uacb0\ud558\uba74 \ub2e4\uc74c\uacfc \uac19\uc774 \ubcfc \uc218 \uc788\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Client -&gt; Application Server -&gt; Driver \/ ODM -&gt; MongoDB Cluster -&gt; Database -&gt; Collection -&gt; Document\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\uc6b4\uc601 \ud658\uacbd\uc5d0\uc11c\ub294 \ub2e4\uc74c \uad6c\uc870\uac00 \ucd94\uac00\ub41c\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>MongoDB Cluster -&gt; Replica Set -&gt; Primary \/ Secondary -&gt; High Availability\n<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-code\"><code>MongoDB Cluster -&gt; Sharding -&gt; Shard Key -&gt; Distributed Data -&gt; Horizontal Scaling\n<\/code><\/pre>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">\uc815\ub9ac<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">MongoDB\uc5d0\uc11c \uac00\uc7a5 \uae30\ubcf8\uc801\uc778 \uad6c\uc870\ub294 \ub2e4\uc74c\uacfc \uac19\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Database -&gt; Collection -&gt; Document -&gt; Field\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Document \ubaa8\ub378\ub9c1\uc740 \ub2e4\uc74c\uacfc \uac19\uc774 \uc774\ud574\ud560 \uc218 \uc788\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Data Relationship -&gt; Access Pattern -&gt; Embedded \/ Reference\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\uc870\ud68c \uc131\ub2a5\uc740 \ub2e4\uc74c\uacfc \uac19\uc774 \uc5f0\uacb0\ub41c\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Query Pattern -&gt; Index -&gt; Query Performance\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\ubcf5\uc7a1\ud55c \ub370\uc774\ud130 \uac00\uacf5\uc740:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Collection -&gt; Aggregation Pipeline -&gt; Result\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\uc5ec\ub7ec \uc791\uc5c5\uc758 \uc6d0\uc790\uc801\uc778 \ucc98\ub9ac\ub294:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Transaction -&gt; Operations -&gt; Commit \/ Rollback\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\uace0\uac00\uc6a9\uc131\uc740:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Replica Set -&gt; Replication -&gt; Failover -&gt; High Availability\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\uc218\ud3c9 \ud655\uc7a5\uc740:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Sharding -&gt; Shard Key -&gt; Distributed Data -&gt; Horizontal Scaling\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\uc11c\ubc84 \uc560\ud50c\ub9ac\ucf00\uc774\uc158\uc5d0\uc11c\uc758 \uc804\uccb4\uc801\uc778 \uc811\uadfc \uad6c\uc870\ub294:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Client -&gt; Server -&gt; Driver \/ ODM -&gt; MongoDB\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">MongoDB\ub294 \ub2e8\uc21c\ud788 &#8220;\ud14c\uc774\ube14\uc774 \uc5c6\ub294 \ub370\uc774\ud130\ubca0\uc774\uc2a4&#8221;\uac00 \uc544\ub2c8\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Document\ub97c \uc911\uc2ec\uc73c\ub85c \ub370\uc774\ud130\ub97c \ubaa8\ub378\ub9c1\ud558\uace0, \uc560\ud50c\ub9ac\ucf00\uc774\uc158\uc758 \uc870\ud68c \ud328\ud134\uc5d0 \ub9de\ucdb0 \ub370\uc774\ud130\ub97c \uc800\uc7a5\ud558\ub294 \ub370\uc774\ud130\ubca0\uc774\uc2a4<\/strong>\ub77c\ub294 \uc810\uc774 \ud575\uc2ec\uc774\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">MongoDB\ub97c \uacf5\ubd80\ud560 \ub54c CRUD \ubb38\ubc95\ub9cc \uc678\uc6b0\ub294 \uac83\ubcf4\ub2e4 Embedded\uc640 Reference\ub97c \uc5b8\uc81c \uc120\ud0dd\ud558\ub294\uc9c0, Index\ub97c \uc65c \ub9cc\ub4dc\ub294\uc9c0, Aggregation\uc744 \uc5b8\uc81c \uc0ac\uc6a9\ud558\ub294\uc9c0, Transaction\uc774 \ud544\uc694\ud55c \uc0c1\ud669\uc740 \ubb34\uc5c7\uc778\uc9c0, Replica Set\uacfc Sharding\uc774 \uc5b4\ub5a4 \ubb38\uc81c\ub97c \ud574\uacb0\ud558\ub294\uc9c0\ub97c \uac19\uc774 \uc774\ud574\ud558\ub294 \ud3b8\uc774 \uc2e4\uc81c \uc11c\ubc84 \uac1c\ubc1c\uc5d0 \ub354 \ub3c4\uc6c0\uc774 \ub41c\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\uacb0\uad6d MongoDB \uc124\uacc4\uc758 \ud575\uc2ec \ud750\ub984\uc740 \ub2e4\uc74c\uacfc \uac19\uc774 \uc815\ub9ac\ud560 \uc218 \uc788\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Requirements -&gt; Access Pattern -&gt; Document Modeling -&gt; Embedded \/ Reference -&gt; Index Design -&gt; Query \/ Aggregation -&gt; Replica Set \/ Sharding\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">MongoDB\ub97c \uc81c\ub300\ub85c \uc774\ud574\ud55c\ub2e4\ub294 \uac83\uc740 MongoDB \uba85\ub839\uc5b4\ub97c \ub9ce\uc774 \uc544\ub294 \uac83\uc774 \uc544\ub2c8\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\uc560\ud50c\ub9ac\ucf00\uc774\uc158\uc758 \ub370\uc774\ud130 \uc811\uadfc \ud328\ud134\uc744 \ubcf4\uace0 \uc801\uc808\ud55c Document \uad6c\uc870\uc640 \uc800\uc7a5 \uc804\ub7b5\uc744 \uc124\uacc4\ud560 \uc218 \uc788\ub294 \uac83<\/strong>\uc774 \ud575\uc2ec\uc774\ub2e4.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>MongoDB \ud575\uc2ec \uc815\ub9ac MongoDB\ub294 \ub300\ud45c\uc801\uc778 NoSQL \ub370\uc774\ud130\ubca0\uc774\uc2a4\ub2e4. \uad00\uacc4\ud615 \ub370\uc774\ud130\ubca0\uc774\uc2a4\ucc98\ub7fc \ud14c\uc774\ube14\uacfc \ud589\uc744 \uc911\uc2ec\uc73c\ub85c \ub370\uc774\ud130\ub97c \uad00\ub9ac\ud558\ub294 \ub300\uc2e0 Document\uc640 Collection\uc744 \uc911\uc2ec\uc73c\ub85c \ub370\uc774\ud130\ub97c \uc800\uc7a5\ud55c\ub2e4. \uad00\uacc4\ud615 \ub370\uc774\ud130\ubca0\uc774\uc2a4\uac00 \ub370\uc774\ud130\ub97c \ub2e4\uc74c\uacfc \uac19\uc774 \uad00\ub9ac\ud55c\ub2e4\uba74, MongoDB\ub294 \ub2e4\uc74c\uacfc \uac19\uc740 \uad6c\uc870\ub97c \uc0ac\uc6a9\ud55c\ub2e4. Document\ub294 BSON(Binary JSON) \ud615\ud0dc\ub85c \uc800\uc7a5\ub418\uba70 JSON\uacfc \ube44\uc2b7\ud55c \uad6c\uc870\ub97c \uac00\uc9c0\uace0 \uc788\ub2e4. MongoDB\ub97c \uc774\ud574\ud560 \ub54c \uc911\uc694\ud55c \ubd80\ubd84\uc740 \ub2e8\uc21c\ud788 &#8220;NoSQL\uc774\ub77c\uc11c \uc2a4\ud0a4\ub9c8\uac00 \uc5c6\ub2e4&#8221;\ub294 \uac83\uc774 \uc544\ub2c8\ub2e4. \ub370\uc774\ud130\ub97c \uc5b4\ub5bb\uac8c Document [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[49],"tags":[],"class_list":["post-1677","post","type-post","status-publish","format-standard","hentry","category-server"],"_links":{"self":[{"href":"https:\/\/wayhope.kro.kr\/index.php?rest_route=\/wp\/v2\/posts\/1677","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wayhope.kro.kr\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/wayhope.kro.kr\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/wayhope.kro.kr\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/wayhope.kro.kr\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1677"}],"version-history":[{"count":3,"href":"https:\/\/wayhope.kro.kr\/index.php?rest_route=\/wp\/v2\/posts\/1677\/revisions"}],"predecessor-version":[{"id":1965,"href":"https:\/\/wayhope.kro.kr\/index.php?rest_route=\/wp\/v2\/posts\/1677\/revisions\/1965"}],"wp:attachment":[{"href":"https:\/\/wayhope.kro.kr\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1677"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wayhope.kro.kr\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1677"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wayhope.kro.kr\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1677"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}