{"id":2521,"date":"2017-02-03T16:05:12","date_gmt":"2017-02-03T16:05:12","guid":{"rendered":"https:\/\/www.couchbase.com\/blog\/?p=2521"},"modified":"2025-06-13T20:57:15","modified_gmt":"2025-06-14T03:57:15","slug":"moving-from-sql-server-to-couchbase-part-1-data-modeling","status":"publish","type":"post","link":"https:\/\/www.couchbase.com\/blog\/ko\/moving-from-sql-server-to-couchbase-part-1-data-modeling\/","title":{"rendered":"SQL Server\uc5d0\uc11c \uce74\uc6b0\uce58\ubca0\uc774\uc2a4\ub85c \uc774\ub3d9\ud558\uae30 1\ubd80: 1\ubd80: \ub370\uc774\ud130 \ubaa8\ub378\ub9c1"},"content":{"rendered":"<div id=\"preamble\">\n<div class=\"sectionbody\">\n<div class=\"paragraph\">\n<p>\uc774 \ube14\ub85c\uadf8 \uac8c\uc2dc\ubb3c \uc2dc\ub9ac\uc988\uc5d0\uc11c\ub294 \uad00\uacc4\ud615 \ubc30\uacbd\uc774 \uc788\ub294 \uacbd\uc6b0 \ubb38\uc11c \ub370\uc774\ud130\ubca0\uc774\uc2a4\ub85c \uc774\ub3d9\ud560 \ub54c \uace0\ub824\ud574\uc57c \ud560 \uc0ac\ud56d\uc744 \uc815\ub9ac\ud574 \ubcf4\ub824\uace0 \ud569\ub2c8\ub2e4. \ud2b9\ud788 Microsoft SQL Server\uc640 <a href=\"https:\/\/www.couchbase.com\/blog\/ko\/developers\/?utm_source=blogs&amp;utm_medium=link&amp;utm_campaign=blogs\">\uce74\uc6b0\uce58\ubca0\uc774\uc2a4 \uc11c\ubc84<\/a>.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>\uc138 \ubd80\ubd84\uc73c\ub85c \ub098\ub220\uc11c \uc124\uba85\ud574 \ub4dc\ub9ac\uaca0\uc2b5\ub2c8\ub2e4:<\/p>\n<\/div>\n<div class=\"ulist\">\n<ul>\n<li>\ub370\uc774\ud130 \ubaa8\ub378\ub9c1(\uc774 \ube14\ub85c\uadf8 \uac8c\uc2dc\ubb3c)<\/li>\n<li><a href=\"https:\/\/www.couchbase.com\/blog\/ko\/sql-server-couchbase-data-migration\/\">\ub370\uc774\ud130 \uc790\uccb4<\/a><\/li>\n<li><a href=\"https:\/\/www.couchbase.com\/blog\/ko\/moving-sql-server-couchbase-app-migration\/\">\ub370\uc774\ud130\ub97c \uc0ac\uc6a9\ud558\ub294 \uc560\ud50c\ub9ac\ucf00\uc774\uc158<\/a><\/li>\n<\/ul>\n<\/div>\n<div class=\"paragraph\">\n<p>\ubaa9\ud45c\ub294 \uc560\ud50c\ub9ac\ucf00\uc774\uc158 \uacc4\ud68d \ubc0f \ub514\uc790\uc778\uc5d0 \uc801\uc6a9\ud560 \uc218 \uc788\ub294 \uba87 \uac00\uc9c0 \uc77c\ubc18\uc801\uc778 \uac00\uc774\ub4dc\ub77c\uc778\uc744 \uc81c\uc2dc\ud558\ub294 \uac83\uc785\ub2c8\ub2e4.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>\ub530\ub77c \ud574\ubcf4\uace0 \uc2f6\uc73c\uc2e0 \ubd84\ub4e4\uc744 \uc704\ud574 Couchbase\uc640 SQL Server\ub97c \ub098\ub780\ud788 \uc2dc\uc5f0\ud558\ub294 \uc560\ud50c\ub9ac\ucf00\uc774\uc158\uc744 \ub9cc\ub4e4\uc5c8\uc2b5\ub2c8\ub2e4. <a href=\"https:\/\/github.com\/couchbaselabs\/blog-source-code\/tree\/master\/Groves\/045MigrateFromSQLServer\/src\/SQLServerToCouchbase\">GitHub\uc5d0\uc11c \uc18c\uc2a4 \ucf54\ub4dc \ubc1b\uae30<\/a>\ub97c \ud074\ub9ad\ud558\uace0 \ub2e4\uc74c \uc0ac\ud56d\uc744 \ud655\uc778\ud558\uc138\uc694. <a href=\"https:\/\/www.couchbase.com\/blog\/ko\/downloads\/\">\uce74\uc6b0\uce58\ubca0\uc774\uc2a4 \uc11c\ubc84\uc758 \uac1c\ubc1c\uc790 \ubbf8\ub9ac \ubcf4\uae30 \ub2e4\uc6b4\ub85c\ub4dc<\/a>.<\/p>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"sect1\">\n<h2 id=\"_why_would_i_do_this\">\ub0b4\uac00 \uc65c \uc774\ub807\uac8c \ud574\uc57c \ud558\ub098\uc694?<\/h2>\n<div class=\"sectionbody\">\n<div class=\"paragraph\">\n<p>\uc2dc\uc791\ud558\uae30 \uc804\uc5d0 \ub3d9\uae30 \ubd80\uc5ec\uc5d0 \ub300\ud574 \uc7a0\uc2dc \ub9d0\uc500\ub4dc\ub9ac\uace0 \uc2f6\uc2b5\ub2c8\ub2e4. \uad00\uacc4\ud615 \ub370\uc774\ud130\ubca0\uc774\uc2a4 \ub300\uc2e0(\ub610\ub294 \uad00\uacc4\ud615 \ub370\uc774\ud130\ubca0\uc774\uc2a4\uc640 \ud568\uaed8) \ubb38\uc11c \ub370\uc774\ud130 \uc800\uc7a5\uc18c\ub97c \uc0ac\uc6a9\ud558\ub824\ub294 \uc774\uc720\ub294 \ud06c\uac8c \uc138 \uac00\uc9c0\uc785\ub2c8\ub2e4. \ub3d9\uae30\ub294 \uc774 \uc138 \uac00\uc9c0 \uc911 \ud558\ub098 \ub610\ub294 \ubaa8\ub450\uc5d0 \ud574\ub2f9\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4:<\/p>\n<\/div>\n<div class=\"ulist\">\n<ul>\n<li><strong>\uc18d\ub3c4<\/strong>: \uce74\uc6b0\uce58\ubca0\uc774\uc2a4 \uc11c\ubc84\ub294 <a href=\"https:\/\/developer.couchbase.com\/documentation\/server\/current\/architecture\/managed-caching-layer-architecture.html?utm_source=blogs&amp;utm_medium=link&amp;utm_campaign=blogs\">\uba54\ubaa8\ub9ac \uc6b0\uc120 \uc544\ud0a4\ud14d\ucc98<\/a> \uad00\uacc4\ud615 \ub370\uc774\ud130\ubca0\uc774\uc2a4\uc5d0 \ube44\ud574 \uc18d\ub3c4\uac00 \ud06c\uac8c \ud5a5\uc0c1\ub420 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/li>\n<li><strong>\ud655\uc7a5\uc131<\/strong>: \uce74\uc6b0\uce58\ubca0\uc774\uc2a4 \uc11c\ubc84\ub294 <a href=\"https:\/\/developer.couchbase.com\/documentation\/server\/current\/architecture\/architecture-intro.html?utm_source=blogs&amp;utm_medium=link&amp;utm_campaign=blogs\">\ubd84\uc0b0 \ub370\uc774\ud130\ubca0\uc774\uc2a4<\/a>\ub97c \uc0ac\uc6a9\ud558\uba74 \uc0c1\uc6a9 \ud558\ub4dc\uc6e8\uc5b4\ub97c \ucd94\uac00\ud558\ub294 \uac83\ub9cc\uc73c\ub85c \uc6a9\ub7c9\uc744 \ud655\uc7a5(\ub610\ub294 \ucd95\uc18c)\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \uc790\ub3d9 \uc0e4\ub529, \ubcf5\uc81c, \ub85c\ub4dc \ubc38\ub7f0\uc2f1\uacfc \uac19\uc740 \uae30\ubcf8 \uc81c\uacf5 Couchbase \uae30\ub2a5\uc744 \uc0ac\uc6a9\ud558\uba74 \uad00\uacc4\ud615 \ub370\uc774\ud130\ubca0\uc774\uc2a4\ubcf4\ub2e4 \ud6e8\uc52c \uc6d0\ud65c\ud558\uace0 \uc27d\uac8c \ud655\uc7a5\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/li>\n<li><strong>\uc720\uc5f0\uc131<\/strong>: \uc77c\ubd80 \ub370\uc774\ud130\ub294 \uad00\uacc4\ud615 \ubaa8\ub378\uc5d0 \uc798 \ub9de\uc9c0\ub9cc \uc77c\ubd80 \ub370\uc774\ud130\ub294 <a href=\"https:\/\/docs.couchbase.com\/server\/6.0\/learn\/data\/document-data-model.html\">JSON \uc0ac\uc6a9\uc758 \uc720\uc5f0\uc131<\/a>. SQL Server\uc640 \ub2ec\ub9ac \uc2a4\ud0a4\ub9c8 \uc720\uc9c0 \uad00\ub9ac\uac00 \ub354 \uc774\uc0c1 \ubb38\uc81c\uac00 \ub418\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4. JSON\uc744 \uc0ac\uc6a9\ud558\uba74 \ud544\uc694\uc5d0 \ub530\ub77c \uc2a4\ud0a4\ub9c8\ub97c \ubcc0\uacbd\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/li>\n<\/ul>\n<\/div>\n<div class=\"paragraph\">\n<p>\uc774\ub7ec\ud55c \uc774\uc720\uc640 \ub2e4\ub978 \uc774\uc720 \ub54c\ubb38\uc785\ub2c8\ub2e4, <a href=\"https:\/\/www.couchbase.com\/blog\/ko\/sql-server\/\">Gannett, SQL Server\uc5d0\uc11c Couchbase Server\ub85c \uc804\ud658<\/a>. \uc774\ub97c \uace0\ub824\ud558\uace0 \uc788\ub2e4\uba74 \ubc18\ub4dc\uc2dc <a href=\"https:\/\/www.couchbase.com\/blog\/ko\/nosql-resources\/presentations\/how-gannett-achieved-scalability-and-agility-with-nosql.html\/\">\uac00\ub137\uc758 \ud504\ub808\uc820\ud14c\uc774\uc158 \uc804\ubb38\uc744 \ud655\uc778\ud558\uc138\uc694.<\/a>.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>[\uc720\ud29c\ube0c https:\/\/www.youtube.com\/watch?v=mor2p0UqZ14&amp;w=560&amp;h=315]<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>\ubb38\uc11c \ub370\uc774\ud130\ubca0\uc774\uc2a4\uc640 \uad00\uacc4\ud615 \ub370\uc774\ud130\ubca0\uc774\uc2a4\ub294 \uc11c\ub85c \ubcf4\uc644\uc801\uc778 \uc5ed\ud560\uc744 \ud560 \uc218 \uc788\ub2e4\ub294 \uc810\uc5d0 \uc720\uc758\ud558\uc138\uc694. \uc560\ud50c\ub9ac\ucf00\uc774\uc158\uc5d0 \ub530\ub77c \ub458 \uc911 \ud558\ub098, \ub458 \uc911 \ud558\ub098 \ub610\ub294 \ub458\uc744 \uc870\ud569\ud558\uc5ec \uc0ac\uc6a9\ud558\ub294 \uac83\uc774 \uac00\uc7a5 \uc801\ud569\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \ub300\ubd80\ubd84\uc758 \uacbd\uc6b0 \uc124\uacc4\uc5d0\uc11c \uad00\uacc4\ud615 \ub370\uc774\ud130\ubca0\uc774\uc2a4\ub97c \uc644\uc804\ud788 \uc81c\uac70\ud560 \uc218\ub294 \uc5c6\uc9c0\ub9cc Couchbase Server\uc640 \uac19\uc740 \ubb38\uc11c \ub370\uc774\ud130\ubca0\uc774\uc2a4\ub294 \uc5ec\uc804\ud788 \uc18c\ud504\ud2b8\uc6e8\uc5b4\uc5d0 \uc704\uc758 \uc774\uc810\uc744 \uc81c\uacf5\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \uc774 \ube14\ub85c\uadf8 \uc2dc\ub9ac\uc988\uc758 \ub098\uba38\uc9c0 \ubd80\ubd84\uc5d0\uc11c\ub294 SQL Server\uc5d0 \ub300\ud55c \ubc30\uacbd \uc9c0\uc2dd\uc774 \uc788\uace0 Couchbase\ub97c \uc0ac\uc6a9\ud558\uc5ec \uae30\uc874 \ud504\ub85c\uc81d\ud2b8\ub97c \ub300\uccb4, \ubcf4\uc644 \ub610\ub294 \uc0c8\ub85c\uc6b4 \uadf8\ub9b0\ud544\ub4dc \ud504\ub85c\uc81d\ud2b8\ub97c \uc2dc\uc791\ud55c\ub2e4\uace0 \uac00\uc815\ud569\ub2c8\ub2e4.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>\uae30\uc874 \uc560\ud50c\ub9ac\ucf00\uc774\uc158\uc744 \uc804\ud658\ud558\ub294 \uc791\uc5c5\uc758 \uc6a9\uc774\uc131 \ub610\ub294 \ub09c\uc774\ub3c4\ub294 \uc5ec\ub7ec \uac00\uc9c0 \uc694\uc778\uc5d0 \ub530\ub77c \ud06c\uac8c \ub2ec\ub77c\uc9d1\ub2c8\ub2e4. \uc5b4\ub5a4 \uacbd\uc6b0\uc5d0\ub294 \ub9e4\uc6b0 \uc26c\uc6b8 \uc218\ub3c4 \uc788\uace0, \uc5b4\ub5a4 \uacbd\uc6b0\uc5d0\ub294 \uc2dc\uac04\uc774 \ub9ce\uc774 \uac78\ub9ac\uace0 \uc5b4\ub824\uc6b8 \uc218\ub3c4 \uc788\uc73c\uba70, \uc5b4\ub5a4 \uacbd\uc6b0\uc5d0\ub294 \uc804\ud658\ud558\ub294 \uac83\uc774 \uc88b\uc740 \uc0dd\uac01\uc870\ucc28 \ub418\uc9c0 \uc54a\uc744 \uc218\ub3c4 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"sect1\">\n<h2 id=\"_understanding_the_differences\">\ucc28\uc774\uc810 \uc774\ud574<\/h2>\n<div class=\"sectionbody\">\n<div class=\"paragraph\">\n<p>\uccab \ubc88\uc9f8 \ub2e8\uacc4\ub294 \ubb38\uc11c \ub370\uc774\ud130\ubca0\uc774\uc2a4\uc5d0\uc11c \ub370\uc774\ud130\uac00 \uc5b4\ub5bb\uac8c \ubaa8\ub378\ub9c1\ub418\ub294\uc9c0 \uc774\ud574\ud558\ub294 \uac83\uc785\ub2c8\ub2e4. \uad00\uacc4\ud615 \ub370\uc774\ud130\ubca0\uc774\uc2a4\uc5d0\uc11c \ub370\uc774\ud130\ub294 \uc77c\ubc18\uc801\uc73c\ub85c \ud14c\uc774\ube14\uc5d0 \ud3c9\ud3c9\ud558\uac8c \uc800\uc7a5\ub418\uba70 \uae30\ubcf8 \ud0a4\uc640 \uc678\ub798 \ud0a4\uac00 \uc788\ub294 \uad6c\uc870\uac00 \uc8fc\uc5b4\uc9d1\ub2c8\ub2e4. \uac04\ub2e8\ud55c \uc608\ub85c \uc1fc\ud551 \uce74\ud2b8\uc640 \uc18c\uc15c \ubbf8\ub514\uc5b4 \uae30\ub2a5\uc774 \uc788\ub294 \uc6f9\uc0ac\uc774\ud2b8\uc758 \uad00\uacc4\ud615 \ub370\uc774\ud130\ubca0\uc774\uc2a4\ub97c \uc0dd\uac01\ud574 \ubcf4\uaca0\uc2b5\ub2c8\ub2e4. (\uc774 \uc608\uc5d0\uc11c\ub294 \ub2e8\uc21c\uc131\uc744 \uc720\uc9c0\ud558\uae30 \uc704\ud574 \uc774\ub7ec\ud55c \uae30\ub2a5\uc740 \uc11c\ub85c \uad00\ub828\uc774 \uc5c6\uc2b5\ub2c8\ub2e4).<\/p>\n<\/div>\n<div class=\"imageblock\">\n<div class=\"content\"><img decoding=\"async\" src=\"\/wp-content\/original-assets\/2017\/february\/moving-from-sql-server-to-couchbase-part-1-data-modeling\/045_01_diagram.png\" alt=\"Relational database example diagram\" \/><\/div>\n<\/div>\n<div class=\"paragraph\">\n<p>\ubb38\uc11c \ub370\uc774\ud130\ubca0\uc774\uc2a4\uc5d0\uc11c \ub370\uc774\ud130\ub294 \ud0a4\uc640 \uac12\uc73c\ub85c \uc800\uc7a5\ub429\ub2c8\ub2e4. \uce74\uc6b0\uce58\ubca0\uc774\uc2a4 \ubc84\ud0b7\uc5d0\ub294 \ubb38\uc11c\uac00 \ud3ec\ud568\ub418\uba70, \uac01 \ubb38\uc11c\uc5d0\ub294 \uace0\uc720\ud55c \ud0a4\uc640 JSON \uac12\uc774 \uc788\uc2b5\ub2c8\ub2e4. \uc678\ub798 \ud0a4\ub294 \uc5c6\uc2b5\ub2c8\ub2e4(\ub354 \uc815\ud655\ud558\uac8c\ub294 \uc678\ub798 \ud0a4 \uc81c\uc57d \uc870\uac74\uc774 \uc5c6\uc2b5\ub2c8\ub2e4).<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>\ub2e4\uc74c\uc740 Couchbase\uc640 \ube44\uad50\ud55c SQL Server \uae30\ub2a5\/\uba85\uce6d\uc758 \uac1c\uad04\uc801\uc778 \ube44\uad50\uc785\ub2c8\ub2e4:<\/p>\n<\/div>\n<table class=\"tableblock frame-all grid-all spread\">\n<caption class=\"title\">\ud45c 1. SQL Server\uc640 \uce74\uc6b0\uce58\ubca0\uc774\uc2a4 \ube44\uad50<\/caption>\n<thead>\n<tr>\n<th class=\"tableblock halign-left valign-top\">SQL Server<\/th>\n<th class=\"tableblock halign-left valign-top\">\uce74\uc6b0\uce58\ubca0\uc774\uc2a4 \uc11c\ubc84<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td class=\"tableblock halign-left valign-top\">\n<p class=\"tableblock\">\uc11c\ubc84<\/p>\n<\/td>\n<td class=\"tableblock halign-left valign-top\">\n<p class=\"tableblock\">\ud074\ub7ec\uc2a4\ud130<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\">\n<p class=\"tableblock\">\ub370\uc774\ud130\ubca0\uc774\uc2a4<\/p>\n<\/td>\n<td class=\"tableblock halign-left valign-top\">\n<p class=\"tableblock\">\ubc84\ud0b7<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\">\n<p class=\"tableblock\">\ud14c\uc774\ube14\uc758 \ud589<\/p>\n<\/td>\n<td class=\"tableblock halign-left valign-top\">\n<p class=\"tableblock\">\ubb38\uc11c<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\">\n<p class=\"tableblock\">\uce7c\ub7fc<\/p>\n<\/td>\n<td class=\"tableblock halign-left valign-top\">\n<p class=\"tableblock\">JSON \ud0a4\/\uac12<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\">\n<p class=\"tableblock\">\uae30\ubcf8 \ud0a4<\/p>\n<\/td>\n<td class=\"tableblock halign-left valign-top\">\n<p class=\"tableblock\">\ubb38\uc11c \ud0a4<\/p>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<div class=\"paragraph\">\n<p>\uc774\ub7ec\ud55c \ube44\uad50\ub294 \uc740\uc720\uc801\uc778 \ucd9c\ubc1c\uc810\uc785\ub2c8\ub2e4. \uc774 \ud45c\ub97c \ubcf4\uba74 \ub2e8\uc21c\ud55c \uc811\uadfc \ubc29\uc2dd\uc744 \ucde8\ud558\uace0 \uc2f6\uc744 \uc218\ub3c4 \uc788\uc2b5\ub2c8\ub2e4. \"\ud14c\uc774\ube14\uc774 5\uac1c\uc774\ubbc0\ub85c \ud589\ub2f9 \ud558\ub098\uc758 \ubb38\uc11c\ub85c 5\uac1c\uc758 \uc11c\ub85c \ub2e4\ub978 \uc720\ud615\uc758 \ubb38\uc11c\ub97c \ub9cc\ub4e4\uba74 \ub429\ub2c8\ub2e4.\" \uc774\ub294 \ubb38\uc790 \uadf8\ub300\ub85c \uc5b8\uc5b4\ub97c \ubc88\uc5ed\ud558\ub294 \uac83\uacfc \uac19\uc2b5\ub2c8\ub2e4. \uc774 \uc811\uadfc \ubc29\uc2dd\uc740 \ub54c\ub54c\ub85c \ud6a8\uacfc\uac00 \uc788\uc744 \uc218 \uc788\uc9c0\ub9cc JSON\uc744 \uc0ac\uc6a9\ud558\ub294 \ubb38\uc11c \ub370\uc774\ud130\ubca0\uc774\uc2a4\uc758 \ubaa8\ub4e0 \uae30\ub2a5\uc744 \uace0\ub824\ud558\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4. \ubb38\uc5b4\ub97c \ubb38\uc790 \uadf8\ub300\ub85c \ubc88\uc5ed\ud560 \ub54c \ubb38\ud654\uc801 \ub9e5\ub77d, \uad00\uc6a9\uad6c, \uc5ed\uc0ac\uc801 \ub9e5\ub77d\uc744 \uace0\ub824\ud558\uc9c0 \uc54a\ub294 \uac83\ucc98\ub7fc \ub9d0\uc785\ub2c8\ub2e4.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>JSON\uc758 \uc720\uc5f0\uc131 \ub355\ubd84\uc5d0 \ubb38\uc11c \ub370\uc774\ud130\ubca0\uc774\uc2a4\uc758 \ub370\uc774\ud130\ub294 \uc560\ud50c\ub9ac\ucf00\uc774\uc158\uc5d0\uc11c \ub3c4\uba54\uc778 \uac1d\uccb4\ucc98\ub7fc \uad6c\uc870\ud654\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \ub530\ub77c\uc11c \uc5d4\ud2f0\ud2f0 \ud504\ub808\uc784\uc6cc\ud06c\ub098 NHibernate\uc640 \uac19\uc740 OR\/M \ub3c4\uad6c\uc5d0\uc11c \uc790\uc8fc \ubc1c\uc0dd\ud558\ub294 \uc784\ud53c\ub358\uc2a4 \ubd88\uc77c\uce58 \ubb38\uc81c\uac00 \ubc1c\uc0dd\ud558\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Couchbase\uc5d0\uc11c \ub370\uc774\ud130\ub97c \ubaa8\ub378\ub9c1\ud560 \ub54c \uc0ac\uc6a9\ud560 \uc218 \uc788\ub294 \ub450 \uac00\uc9c0 \uc8fc\uc694 \uc811\uadfc \ubc29\uc2dd\uc774 \uc788\uc73c\uba70, \uc774\uc5d0 \ub300\ud574 \uc790\uc138\ud788 \uc0b4\ud3b4\ubcfc \uac83\uc785\ub2c8\ub2e4:<\/p>\n<\/div>\n<div class=\"ulist\">\n<ul>\n<li><strong>\ube44\uc815\uaddc\ud654<\/strong> - \uc678\ub798 \ud0a4\ub97c \uc0ac\uc6a9\ud558\uc5ec \ud14c\uc774\ube14 \uac04\uc5d0 \ub370\uc774\ud130\ub97c \ubd84\ud560\ud558\ub294 \ub300\uc2e0 \uac1c\ub150\uc744 \ud558\ub098\uc758 \ubb38\uc11c\ub85c \uadf8\ub8f9\ud654\ud558\uc138\uc694.<\/li>\n<li><strong>\ucc38\uc870<\/strong> - \uac1c\ub150\uc5d0\ub294 \uc790\uccb4 \ubb38\uc11c\uac00 \uc81c\uacf5\ub418\uc9c0\ub9cc \ubb38\uc11c \ud0a4\ub97c \uc0ac\uc6a9\ud558\uc5ec \ub2e4\ub978 \ubb38\uc11c\ub97c \ucc38\uc870\ud569\ub2c8\ub2e4.<\/li>\n<\/ul>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"sect1\">\n<h2 id=\"_denormalization_example\">\ube44\uc815\uaddc\ud654 \uc608\uc81c<\/h2>\n<div class=\"sectionbody\">\n<div class=\"paragraph\">\n<p>'\uc1fc\ud551 \uce74\ud2b8' \uc5d4\ud2f0\ud2f0\ub97c \uc0b4\ud3b4\ubcf4\uaca0\uc2b5\ub2c8\ub2e4.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>\uc774\ub97c \uad00\uacc4\ud615 \ub370\uc774\ud130\ubca0\uc774\uc2a4\ub85c \ud45c\ud604\ud558\ub824\uba74 ShoppingCart \ud14c\uc774\ube14\uacfc ShoppingCart\uc758 \ud589\uc5d0 \ub300\ud55c \uc678\ub798 \ud0a4\uac00 \uc788\ub294 ShoppingCartItem \ud14c\uc774\ube14\uc774\ub77c\ub294 \ub450 \uac1c\uc758 \ud14c\uc774\ube14\uc774 \ud544\uc694\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>\ubb38\uc11c \ub370\uc774\ud130\ubca0\uc774\uc2a4\uc5d0 \ub300\ud55c \ubaa8\ub378\uc744 \ub9cc\ub4e4 \ub54c \uc774\ub97c \ub450 \uac1c\uc758 \uac1c\ubcc4 \uc5d4\ud2f0\ud2f0(\uc608: \uc1fc\ud551 \uce74\ud2b8 \ubb38\uc11c\uc640 \ud574\ub2f9 \uc1fc\ud551 \uce74\ud2b8 \ud56d\ubaa9 \ubb38\uc11c)\ub85c \uacc4\uc18d \ubaa8\ub378\ub9c1\ud560\uc9c0 \uc544\ub2c8\uba74 \uc1fc\ud551 \uce74\ud2b8\ub97c \ub098\ud0c0\ub0b4\uae30 \uc704\ud574 \uc1fc\ud551 \uce74\ud2b8\uc758 \ud589\uacfc \uc1fc\ud551 \uce74\ud2b8 \ud56d\ubaa9\uc758 \ud589\uc744 '\ube44\uc815\uaddc\ud654'\ud558\uc5ec \ub2e8\uc77c \ubb38\uc11c\ub85c \uacb0\ud569\ud560\uc9c0 \uc5ec\ubd80\ub97c \uacb0\uc815\ud574\uc57c \ud569\ub2c8\ub2e4.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>\uce74\uc6b0\uce58\ubca0\uc774\uc2a4\uc5d0\uc11c\ub294 \ube44\uc815\uaddc\ud654 \uc804\ub7b5\uc744 \uc0ac\uc6a9\ud558\uba74 \uc7a5\ubc14\uad6c\ub2c8\uc640 \uadf8 \uc548\uc5d0 \uc788\ub294 \ud56d\ubaa9\uc774 \ud558\ub098\uc758 \ubb38\uc11c\ub85c \ud45c\ud604\ub429\ub2c8\ub2e4.<\/p>\n<\/div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight decode:true\"><code class=\"language-JavaScript\">{\r\n  \"user\": \"mgroves\",\r\n  \"dateCreated\": \"2017-02-02T15:28:11.0208157-05:00\",\r\n  \"items\": [\r\n    {\r\n      \"name\": \"BB-8 \uc2a4\ud53c\ub85c\",\r\n      \"price\": 80.18,\r\n      \"\uc218\ub7c9\": 1\r\n    },\r\n    {\r\n      \"name\": \"\uc0f5\ud0a8\uc2a4 \uc2dc\uc98c 5\",\r\n      \"price\": 59.99,\r\n      \"\uc218\ub7c9\": 2\r\n    }\r\n  ],\r\n  \"type\": \"\uc1fc\ud551\uce74\ud2b8\"\r\n}<\/code><\/pre>\n<\/div>\n<\/div>\n<div class=\"paragraph\">\n<p>\uc774\uc81c \ud56d\ubaa9\uacfc \uc7a5\ubc14\uad6c\ub2c8 \uac04\uc758 \uad00\uacc4\uac00 \ub3d9\uc77c\ud55c \ubb38\uc11c\uc5d0 \ud3ec\ud568\ub418\uc5b4 \uc788\uc74c\uc744 \uc554\uc2dc\ud569\ub2c8\ub2e4. \ub354 \uc774\uc0c1 \uad00\uacc4\ub97c \ub098\ud0c0\ub0b4\uae30 \uc704\ud574 \ud56d\ubaa9\uc5d0 ID\uac00 \ud544\uc694\ud558\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>C#\uc5d0\uc11c\ub294 \ub2e4\uc74c\uacfc \uac19\uc774 \uc815\uc758\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. <code>\uc1fc\ud551 \uce74\ud2b8<\/code> \uadf8\ub9ac\uace0 <code>\ud56d\ubaa9<\/code> \ud074\ub798\uc2a4\ub97c \uc0ac\uc6a9\ud558\uc5ec \uc774 \ub370\uc774\ud130\ub97c \ubaa8\ub378\ub9c1\ud569\ub2c8\ub2e4:<\/p>\n<\/div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight decode:true\"><code class=\"language-C#\">\uacf5\uc6a9 \ud074\ub798\uc2a4 \uc1fc\ud551 \uce74\ud2b8\r\n{\r\n    public Guid Id { get; set; }\r\n    public string User { get; set; }\r\n    public DateTime DateCreated { get; set; }\r\n    public List Items { get; set; }\r\n}\r\n\r\npublic class Item\r\n{\r\n    public Guid Id { get; set; }    \/\/ \uce74\uc6b0\uce58\ubca0\uc774\uc2a4\uac00 \uc544\ub2cc SQL \uc11c\ubc84\uc5d0 \ud544\uc694\ud569\ub2c8\ub2e4.\r\n    public string Name { get; set; }\r\n    public decimal Price { get; set; }\r\n    public int Quantity { get; set; }\r\n}<\/code><\/pre>\n<\/div>\n<\/div>\n<div class=\"paragraph\">\n<p>\uc774\ub7ec\ud55c \ud074\ub798\uc2a4\ub294 Couchbase\uc5d0\uc11c\ub3c4 \uc5ec\uc804\ud788 \uc758\ubbf8\uac00 \uc788\uc73c\ubbc0\ub85c \uc7ac\uc0ac\uc6a9\ud558\uac70\ub098 \uc774\ub7ec\ud55c \ubc29\uc2dd\uc73c\ub85c \uc124\uacc4\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \ud558\uc9c0\ub9cc \uad00\uacc4\ud615 \ub370\uc774\ud130\ubca0\uc774\uc2a4\uc5d0\uc11c\ub294 \uc774\ub7ec\ud55c \uc124\uacc4\uac00 \uc9c1\uc811\uc801\uc778 \ubc29\uc2dd\uc73c\ub85c \uc77c\uce58\ud558\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>\ub530\ub77c\uc11c \uc5d4\ud788\ubc84\ub124\uc774\ud2b8\ub098 \uc5d4\ud2f0\ud2f0 \ud504\ub808\uc784\uc6cc\ud06c\uc640 \uac19\uc740 OR\/M\uc774 \ud544\uc694\ud569\ub2c8\ub2e4. \uc704\uc758 \ubaa8\ub378\uc744 \uad00\uacc4\ud615 \ub370\uc774\ud130\ubca0\uc774\uc2a4\uc5d0 \ub9e4\ud551\ud558\ub294 \ubc29\uc2dd\uc740 \ub2e4\uc74c\uacfc \uac19\uc774 \uc5d4\ud2f0\ud2f0 \ud504\ub808\uc784\uc6cc\ud06c*\uc5d0\uc11c \ud45c\ud604\ub429\ub2c8\ub2e4:<\/p>\n<\/div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight decode:true\"><code class=\"language-C#\">\uacf5\uc6a9 \ud074\ub798\uc2a4 \uc1fc\ud551 \uce74\ud2b8 \ub9f5 : \uc5d4\ud2f0\ud2f0 \uc720\ud615 \uad6c\uc131\r\n{\r\n    public ShoppingCartMap()\r\n    {\r\n        this.HasKey(m =&gt; m.Id);\r\n\r\n        this.ToTable(\"ShoppingCart\");\r\n        this.Property(m =&gt; m.User);\r\n        this.Property(m =&gt; m.DateCreated);\r\n        this.HasMany(m =&gt; m.Items)\r\n            .WithOptional()\r\n            .HasForeignKey(m =&gt; m.ShoppingCartId);\r\n    }\r\n}\r\n\r\npublic class ShoppingCartItemMap : \uc5d4\ud2f0\ud2f0 \uc720\ud615 \uad6c\uc131\r\n{\r\n    public ShoppingCartItemMap()\r\n    {\r\n        this.HasKey(m =&gt; m.Id);\r\n\r\n        this.ToTable(\"ShoppingCartItems\");\r\n        this.Property(m =&gt; m.Name);\r\n        \uc774.\uc18d\uc131(m =&gt; m.\uac00\uaca9);\r\n        \uc774.\uc18d\uc131(m =&gt; m.\uc218\ub7c9);\r\n    }\r\n}<\/code><\/pre>\n<\/div>\n<\/div>\n<div class=\"paragraph\">\n<p><em>*\ub2e4\ub978 OR\/M\ub3c4 \uc720\uc0ac\ud55c \ub9e4\ud551\uc744 \uac16\uc2b5\ub2c8\ub2e4.<\/em><\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>\uc774\ub7ec\ud55c \ub9e4\ud551\uacfc \uc0ac\uc6a9 \uc0ac\ub840 \ubd84\uc11d\uc744 \ubc14\ud0d5\uc73c\ub85c Couchbase\uc5d0\uc11c \ub2e8\uc77c \ubb38\uc11c\ub85c \ubaa8\ub378\ub9c1\ud558\uae30\ub85c \uacb0\uc815\ud560 \uc218 \uc788\uc5c8\uc2b5\ub2c8\ub2e4. <code>\uc1fc\ud551 \uce74\ud2b8 \ud56d\ubaa9 \ub9f5<\/code> \ub294 \uc624\uc9c1 OR\/M\uc774 \uc5b4\ub5bb\uac8c <code>\ud56d\ubaa9<\/code> \uc18d\uc131\uc758 <code>\uc1fc\ud551 \uce74\ud2b8<\/code>. \ub610\ud55c \uc560\ud50c\ub9ac\ucf00\uc774\uc158\uc774 \ub2e4\uc74c\uc744 \uc218\ud589\ud558\uc9c0 \uc54a\uace0 \uc7a5\ubc14\uad6c\ub2c8\ub97c \uc77d\uc9c0 \uc54a\uc744 \uac00\ub2a5\uc131\uc774 \ub192\uc2b5\ub2c8\ub2e4. <em>\ub610\ud55c<\/em> \ud56d\ubaa9\uc744 \uc77d\uc5b4\uc57c \ud569\ub2c8\ub2e4.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>\uc774\ud6c4 \ud3ec\uc2a4\ud2b8\uc5d0\uc11c OR\/M\uc5d0 \ub300\ud574 \ub354 \uc790\uc138\ud788 \uc124\uba85\ud560 \uc608\uc815\uc774\uc9c0\ub9cc, \ud604\uc7ac\ub85c\uc11c\ub294 <code>\uc1fc\ud551 \uce74\ud2b8 \ub9f5<\/code> \uadf8\ub9ac\uace0 <code>\uc1fc\ud551 \uce74\ud2b8 \ud56d\ubaa9 \ub9f5<\/code> \ud074\ub798\uc2a4\ub294 \ud544\uc694\ud558\uc9c0 \uc54a\uc73c\uba70, \uce74\uc6b0\uce58\ubca0\uc774\uc2a4\ub97c \uc0ac\uc6a9\ud560 \ub54c\ub294 <code>Id<\/code> \ud544\ub4dc\uc5d0\uc11c <code>\ud56d\ubaa9<\/code> \uac00 \ud544\uc694\ud558\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4. \uc2e4\uc81c\ub85c Couchbase .NET SDK\ub97c \uc0ac\uc6a9\ud558\uba74 <code>\uc1fc\ud551 \uce74\ud2b8<\/code> \uac1d\uccb4\ub97c \ud55c \uc904\uc758 \ucf54\ub4dc\uc5d0\uc11c OR\/M \uc5c6\uc774 \uc0ac\uc6a9\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4:<\/p>\n<\/div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight decode:true\"><code class=\"language-C#\">public ShoppingCart GetCartById(Guid id)\r\n{\r\n    return _bucket.Get(id.ToString()).Value;\r\n}<\/code><\/pre>\n<\/div>\n<\/div>\n<div class=\"paragraph\">\n<p>\uadf8\ub807\ub2e4\uace0 \ud574\uc11c \uce74\uc6b0\uce58\ubca0\uc774\uc2a4\ub97c \uc0ac\uc6a9\ud558\uba74 \ud56d\uc0c1 \ub354 \uc9e7\uace0 \uc77d\uae30 \uc26c\uc6b4 \ucf54\ub4dc\ub97c \ub9cc\ub4e4 \uc218 \uc788\ub2e4\ub294 \uac83\uc740 \uc544\ub2d9\ub2c8\ub2e4. \ud558\uc9c0\ub9cc \ud2b9\uc815 \uc0ac\uc6a9 \uc0ac\ub840\uc5d0\uc11c\ub294 \ud655\uc2e4\ud788 \uc601\ud5a5\uc744 \ubbf8\uce60 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"sect1\">\n<h2 id=\"_referential_example\">\ucc38\uc870 \uc608\uc81c<\/h2>\n<div class=\"sectionbody\">\n<div class=\"paragraph\">\n<p>\ub2e4\uc74c\uacfc \uac19\uc740 \uad00\uacc4\ub97c \uc815\uc0c1\ud654\ud558\ub294 \uac83\uc774 \ud56d\uc0c1 \uac00\ub2a5\ud558\uac70\ub098 \ucd5c\uc801\uc758 \ubc29\ubc95\uc740 \uc544\ub2d9\ub2c8\ub2e4. <code>\uc1fc\ud551 \uce74\ud2b8<\/code> \uc608\uc2dc. \ub300\ubd80\ubd84\uc758 \uacbd\uc6b0 \ud55c \ubb38\uc11c\uac00 \ub2e4\ub978 \ubb38\uc11c\ub97c \ucc38\uc870\ud574\uc57c \ud558\ub294 \uacbd\uc6b0\uac00 \uc788\uc2b5\ub2c8\ub2e4. \uc560\ud50c\ub9ac\ucf00\uc774\uc158\uc5d0\uc11c \uc77d\uae30 \ubc0f \uc4f0\uae30\ub97c \uc218\ud589\ud558\ub294 \ubc29\uc2dd\uc5d0 \ub530\ub77c \ucc38\uc870\ub97c \uc0ac\uc6a9\ud558\uc5ec \ubaa8\ub378\uc744 \ubcc4\ub3c4\uc758 \ubb38\uc11c\uc5d0 \ubcf4\uad00\ud558\ub294 \uac83\uc774 \uc88b\uc744 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>\ucc38\uc870\uac00 \uac00\uc7a5 \uc88b\uc740 \uc811\uadfc \ubc29\uc2dd\uc77c \uc218 \uc788\ub294 \uc608\ub97c \uc0b4\ud3b4\ubcf4\uaca0\uc2b5\ub2c8\ub2e4. \uc560\ud50c\ub9ac\ucf00\uc774\uc158\uc5d0 \uc18c\uc15c \ubbf8\ub514\uc5b4 \uc694\uc18c\uac00 \uc788\ub2e4\uace0 \uac00\uc815\ud574 \ubcf4\uaca0\uc2b5\ub2c8\ub2e4. \uc0ac\uc6a9\uc790\ub294 \uce5c\uad6c\ub97c \uac00\uc9c8 \uc218 \uc788\uace0 \uc0ac\uc6a9\uc790\ub294 \ud14d\uc2a4\ud2b8 \uc5c5\ub370\uc774\ud2b8\ub97c \uac8c\uc2dc\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>\uc774\ub97c \ubaa8\ub378\ub9c1\ud558\ub294 \ud55c \uac00\uc9c0 \ubc29\ubc95\uc785\ub2c8\ub2e4:<\/p>\n<\/div>\n<div class=\"ulist\">\n<ul>\n<li>\uac1c\ubcc4 \ubb38\uc11c\ub85c\uc11c\uc758 \uc0ac\uc6a9\uc790<\/li>\n<li>\uc0ac\uc6a9\uc790\ub97c \ucc38\uc870\ud558\ub294 \uac1c\ubcc4 \ubb38\uc11c\ub85c \uc5c5\ub370\uc774\ud2b8<\/li>\n<li>\uc0ac\uc6a9\uc790 \ubb38\uc11c \ub0b4\uc758 \ud0a4 \ubc30\uc5f4\ub85c\uc11c\uc758 \uce5c\uad6c<\/li>\n<\/ul>\n<\/div>\n<div class=\"paragraph\">\n<p>\uc0ac\uc6a9\uc790 \ub450 \uba85, \uc5c5\ub370\uc774\ud2b8 \ub450 \uac1c\ub97c \uc0ac\uc6a9\ud558\uba74 Couchbase\uc5d0 \ub2e4\uc74c\uacfc \uac19\uc740 4\uac1c\uc758 \ubb38\uc11c\uac00 \uc0dd\uae41\ub2c8\ub2e4:<\/p>\n<\/div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight decode:true\"><code class=\"language-JavaScript\">[\r\n  \/\/ Key: \"7fc5503f-2092-4bac-8c33-65ef5b388f4b\"\r\n  {\r\n    \"\uce5c\uad6c\": [\r\n      \"c5f05561-9fbf-4ab0-b68f-e392267c0703\"\r\n    ],\r\n    \"name\": \"\ub9e4\ud2b8 \uadf8\ub85c\ube0c\uc2a4\",\r\n    \"type\": \"\uc0ac\uc6a9\uc790\"\r\n  },\r\n\r\n  \/\/ Key: \"c5f05561-9fbf-4ab0-b68f-e392267c0703\"\r\n  {\r\n    \"\uce5c\uad6c\": [ ],\r\n    \"name\": \"\ub2c9 \ub77c\ubcf4\uc774\",\r\n    \"type\": \"\uc0ac\uc6a9\uc790\"\r\n  },\r\n\r\n  \/\/ Key: \"5262cf62-eb10-4fdd-87ca-716321405663\"\r\n  {\r\n    \"body\": \"\ucf67\uad6c\uba4d \uc5d8\ub9ac\uac90\ub514 \uc544\uc2a4\ud398\ub974\ub098\ud22c\ub974 \uc5d0\ub2d8 \ub808\ud3a0\ub77c\ud2b8 \ucfe8\ud30c.\",\r\n    \"postedDate\": \"2017-02-02T16:19:45.2792288-05:00\",\r\n    \"type\": \"\uc5c5\ub370\uc774\ud2b8\",\r\n    \"\uc0ac\uc6a9\uc790\": \"7fc5503f-2092-4bac-8c33-65ef5b388f4b\"\r\n  },\r\n\r\n  \/\/ Key: \"8d710b83-a830-4267-991e-4654671eb14f\"\r\n  {\r\n    \"body\": \"Autem occaecati quam vel. \uc778 \uc544\uc2a4 \ud398\ub974 \ub098\ud22c\ub974 \ub098 \ub3cc\ub8f8.\",\r\n    \"postedDate\": \"2017-02-02T16:19:48.7812386-05:00\",\r\n    \"type\": \"\uc5c5\ub370\uc774\ud2b8\",\r\n    \"user\": \"c5f05561-9fbf-4ab0-b68f-e392267c0703\"\r\n  }\r\n]<\/code><\/pre>\n<\/div>\n<\/div>\n<div class=\"paragraph\">\n<p><em>\uc774 \uc608\uc81c\uc5d0\uc11c\ub294 '\uce5c\uad6c'\ub97c \ud2b8\uc704\ud130\uc640 \uac19\uc740 \uc77c\ubc29\uc801\uc778 \uad00\uacc4\ub85c \ubaa8\ub378\ub9c1\ud558\uae30\ub85c \ud588\uae30 \ub54c\ubb38\uc5d0 Matt Groves\ub294 \ub2c9 \ub77c\ubcf4\uc774\ub97c \uce5c\uad6c\ub85c \ub450\uace0 \uc788\uc9c0\ub9cc \uadf8 \ubc18\ub300\uc758 \uacbd\uc6b0\ub294 \uc5c6\uc2b5\ub2c8\ub2e4. (\ub108\ubb34 \ud655\ub300\ud574\uc11d\ud558\uc9c0 \ub9c8\uc138\uc694, Nic :).<\/em><\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>C#\uc5d0\uc11c \uc774\ub97c \ubaa8\ub378\ub9c1\ud558\ub294 \ubc29\ubc95\uc740 \ub2e4\uc74c\uacfc \uac19\uc2b5\ub2c8\ub2e4:<\/p>\n<\/div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight decode:true\"><code class=\"language-C#\">\uacf5\uc6a9 \ud074\ub798\uc2a4 FriendbookUser\r\n{\r\n    public Guid Id { get; set; }\r\n    public string Name { get; set; }\r\n    public virtual List Friends { get; set; }\r\n}\r\n\r\npublic class Update\r\n{\r\n    public Guid Id { get; set; }\r\n    public DateTime PostedDate { get; set; }\r\n    public string Body { get; set; }\r\n\r\n    public virtual FriendbookUser User { get; set; }\r\n    public Guid UserId { get; set; }\r\n}<\/code><\/pre>\n<\/div>\n<\/div>\n<div class=\"paragraph\">\n<p><em>\uadf8\ub9ac\uace0 <code>\uc5c5\ub370\uc774\ud2b8<\/code> \uc5d0 <code>\uce5c\uad6c\ubd81 \uc0ac\uc6a9\uc790<\/code> \uad00\uacc4\ub294 \ub2e4\uc74c \uc911 \ud558\ub098\ub85c \ubaa8\ub378\ub9c1\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. <code>Guid<\/code> \ub610\ub294 \ub2e4\ub978 <code>\uce5c\uad6c\ubd81 \uc0ac\uc6a9\uc790<\/code> \uac1d\uccb4\uc785\ub2c8\ub2e4. \uc774\uac83\uc740 \uad6c\ud604 \uc138\ubd80 \uc0ac\ud56d\uc785\ub2c8\ub2e4. \uc560\ud50c\ub9ac\ucf00\uc774\uc158 \uc694\uad6c \uc0ac\ud56d \ubc0f\/\ub610\ub294 OR\/M \uc791\ub3d9 \ubc29\uc2dd\uc5d0 \ub530\ub77c \ub458 \uc911 \ud558\ub098, \ub2e4\ub978 \ud558\ub098 \ub610\ub294 \ub458 \ub2e4\ub97c \uc120\ud638\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \ub450 \uacbd\uc6b0 \ubaa8\ub450 \uae30\ubcf8 \ubaa8\ub378\uc740 \ub3d9\uc77c\ud569\ub2c8\ub2e4.<\/em><\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>\ub2e4\uc74c\uc740 \uc5d4\ud2f0\ud2f0 \ud504\ub808\uc784\uc6cc\ud06c\uc5d0\uc11c \uc774\ub7ec\ud55c \ud074\ub798\uc2a4\uc5d0 \uc0ac\uc6a9\ud55c \ub9e4\ud551\uc785\ub2c8\ub2e4. EF \ub610\ub294 \ub2e4\ub978 OR\/M \ub3c4\uad6c\ub97c \uc0ac\uc6a9\ud558\ub294 \ubc29\uc2dd\uc5d0 \ub530\ub77c \ub9c8\uc77c\ub9ac\uc9c0\uac00 \ub2ec\ub77c\uc9c8 \uc218 \uc788\uc2b5\ub2c8\ub2e4. OR\/M \ub9e4\ud551 \ub3c4\uad6c\uc758 \uc138\ubd80 \uc0ac\ud56d\uc774 \uc544\ub2cc \uae30\ubcf8 \ubaa8\ub378\uc5d0 \uc9d1\uc911\ud558\uc138\uc694.<\/p>\n<\/div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight decode:true\"><code class=\"language-C#\">\uacf5\uc6a9 \ud074\ub798\uc2a4 UpdateMap : \uc5d4\ud2f0\ud2f0 \uc720\ud615 \uad6c\uc131\r\n{\r\n    public UpdateMap()\r\n    {\r\n        this.HasKey(m =&gt; m.Id);\r\n\r\n        this.ToTable(\"\uce5c\uad6c\ubd81\uc5c5\ub370\uc774\ud2b8\");\r\n        this.Property(m =&gt; m.Body);\r\n        \uc774.\uc18d\uc131(m =&gt; m.\uac8c\uc2dc\ub41c \ub0a0\uc9dc);\r\n        this.HasRequired(m =&gt; m.User)\r\n            .WithMany()\r\n            .HasForeignKey(m =&gt; m.UserId);\r\n    }\r\n}\r\n\r\npublic class FriendbookUserMap : \uc5d4\ud2f0\ud2f0 \uc720\ud615 \uad6c\uc131\r\n{\r\n    public FriendbookUserMap()\r\n    {\r\n        this.HasKey(m =&gt; m.Id);\r\n\r\n        this.ToTable(\"FriendBookUsers\");\r\n        this.Property(m =&gt; m.Name);\r\n        this.HasMany(t =&gt; t.Friends)\r\n            .WithMany()\r\n            .Map(m =&gt;\r\n            {\r\n                m.MapLeftKey(\"UserId\");\r\n                m.MapRightKey(\"FriendUserId\");\r\n                m.ToTable(\"\uce5c\uad6c\ubd81\uc0ac\uc6a9\uc790\uce5c\uad6c\");\r\n            });\r\n    }\r\n}<\/code><\/pre>\n<\/div>\n<\/div>\n<div class=\"paragraph\">\n<p>\uc774\ub7ec\ud55c \uc5d4\ud2f0\ud2f0\ub97c \ubcc4\ub3c4\uc758 \ubb38\uc11c\ub85c \uc800\uc7a5\ud558\ub294 \ub300\uc2e0 \uc1fc\ud551 \uce74\ud2b8 \uc608\uc2dc\uc640 \ub3d9\uc77c\ud55c \ube44\uc815\uaddc\ud654\ub97c \uc801\uc6a9\ud558\uc5ec \uc0ac\uc6a9\uc790\uc640 \uc5c5\ub370\uc774\ud2b8\ub97c \ud558\ub098\uc758 \ubb38\uc11c\uc5d0 \uc800\uc7a5\ud558\ub824\uace0 \ud558\uba74 \uba87 \uac00\uc9c0 \ubb38\uc81c\uac00 \ubc1c\uc0dd\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n<\/div>\n<div class=\"ulist\">\n<ul>\n<li><strong>\uce5c\uad6c \ubcf5\uc81c<\/strong>\uac01 \uc0ac\uc6a9\uc790\ub294 \uce5c\uad6c\ub97c \uc704\ud574 \uc138\ubd80 \uc815\ubcf4\ub97c \uc800\uc7a5\ud569\ub2c8\ub2e4. \uc774\uc81c \uc0ac\uc6a9\uc790\uc758 \uc815\ubcf4\uac00 \ub2e8\uc77c \uc18c\uc2a4\uac00 \uc544\ub2cc \uc5ec\ub7ec \uacf3\uc5d0 \uc800\uc7a5\ub418\uae30 \ub54c\ubb38\uc5d0 \uc774 \ubc29\uc2dd\uc740 \uc9c0\uc18d \uac00\ub2a5\ud558\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4(\uc1fc\ud551 \uce74\ud2b8\uc640 \ub2ec\ub9ac \uac19\uc740 \ud56d\ubaa9\uc744 \ub450 \uac1c \uc774\uc0c1\uc758 \uc7a5\ubc14\uad6c\ub2c8\uc5d0 \ub123\ub294 \uac83\uc740 \ub3c4\uba54\uc778\uc5d0 \uc758\ubbf8\uac00 \uc5c6\uc744 \uc218 \uc788\uc2b5\ub2c8\ub2e4). Couchbase\ub97c \uce90\uc2dc\ub85c \uc0ac\uc6a9\ud560 \ub54c\ub294 \uad1c\ucc2e\uc744 \uc218 \uc788\uc9c0\ub9cc \uae30\ubcf8 \ub370\uc774\ud130 \uc800\uc7a5\uc18c\ub85c\ub294 \uc0ac\uc6a9\ud560 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4.<\/li>\n<li><strong>\uc5c5\ub370\uc774\ud2b8 \ud06c\uae30<\/strong>: \uc815\uae30\uc801\uc73c\ub85c \uc0ac\uc6a9\ud558\ub294 \uae30\uac04 \ub3d9\uc548 \uac1c\ubcc4 \uc0ac\uc6a9\uc790\uac00 \uc218\ubc31, \uc218\ucc9c \uac1c\uc758 \uc5c5\ub370\uc774\ud2b8\ub97c \uac8c\uc2dc\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \uc774\ub85c \uc778\ud574 \ub9e4\uc6b0 \ud070 \ubb38\uc11c\uac00 \uc0dd\uc131\ub418\uc5b4 I\/O \uc791\uc5c5 \uc18d\ub3c4\uac00 \ub290\ub824\uc9c8 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \uc774 \ubb38\uc81c\ub294 Couchbase\uc758 <a href=\"https:\/\/www.couchbase.com\/blog\/ko\/subdoc-explained\/\">\ud558\uc704 \ubb38\uc11c API<\/a>\ud558\uc9c0\ub9cc Couchbase\ub294 \ubb38\uc11c\ub2f9 \uc6a9\ub7c9\uc774 20MB\ub85c \uc81c\ud55c\ub418\uc5b4 \uc788\ub2e4\ub294 \uc810\uc5d0 \uc720\uc758\ud558\uc138\uc694.<\/li>\n<\/ul>\n<\/div>\n<div class=\"paragraph\">\n<p><em>\ucc38\uace0: \uc5ec\uae30\uc5d0\ub3c4 N+1 \ubb38\uc81c(\uce5c\uad6c\uc758 \uce5c\uad6c \ub4f1)\uac00 \uc788\uc9c0\ub9cc \uc5ec\uae30\uc11c\ub294 \uc774 \ubb38\uc81c\ub97c \ud574\uacb0\ud558\ub294 \ub370 \uc2dc\uac04\uc744 \ud560\uc560\ud558\uc9c0 \uc54a\uaca0\uc2b5\ub2c8\ub2e4. \ub450 \ub370\uc774\ud130\ubca0\uc774\uc2a4\uc5d0\ub9cc \uad6d\ud55c\ub41c \ubb38\uc81c\uac00 \uc544\ub2c8\uae30 \ub54c\ubb38\uc785\ub2c8\ub2e4.<\/em><\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>\ub610\ud55c \uc560\ud50c\ub9ac\ucf00\uc774\uc158\uc774 \uc0ac\uc6a9\uc790\ub97c \uc77d\uac70\ub098 \uc4f8 \ub54c \uce5c\uad6c \ubc0f \uc5c5\ub370\uc774\ud2b8\ub97c \uc77d\uac70\ub098 \uc368\uc57c \ud558\ub294 \uacbd\uc6b0\uac00 \uc5c6\uc744 \uc218\ub3c4 \uc788\uc2b5\ub2c8\ub2e4. \uadf8\ub9ac\uace0 \uc5c5\ub370\uc774\ud2b8\ub97c \uc791\uc131\ud560 \ub54c \uc560\ud50c\ub9ac\ucf00\uc774\uc158\uc774 \uc0ac\uc6a9\uc790\ub97c \uc5c5\ub370\uc774\ud2b8\ud574\uc57c \ud560 \ud544\uc694\ub294 \uc5c6\uc2b5\ub2c8\ub2e4. \uc774\ub7ec\ud55c \uc5d4\ud2f0\ud2f0\ub294 \uc885\uc885 \uc790\uccb4\uc801\uc73c\ub85c \uc77d\uac70\ub098 \uc4f8 \uc218 \uc788\uc73c\ubbc0\ub85c \ubcc4\ub3c4\uc758 \ubb38\uc11c\ub85c \ubaa8\ub378\ub9c1\ud574\uc57c \ud569\ub2c8\ub2e4.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>\uc758 \ubc30\uc5f4\uc5d0 \uc8fc\ubaa9\ud558\uc2ed\uc2dc\uc624. <code>\uce5c\uad6c<\/code> \ud544\ub4dc\uc5d0 \uc788\ub294 \uac12\uacfc \uc0ac\uc6a9\uc790 \ubb38\uc11c\uc758 <code>\uc0ac\uc6a9\uc790<\/code> \ud544\ub4dc\ub97c \uc785\ub825\ud569\ub2c8\ub2e4. \uc774 \uac12\uc740 \uad00\ub828 \ubb38\uc11c\ub97c \uac80\uc0c9\ud558\ub294 \ub370 \uc0ac\uc6a9\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \uc774 \uae00\uc758 \ub4b7\ubd80\ubd84\uc5d0\uc11c\ub294 \ud0a4\/\uac12 \uc5f0\uc0b0\uc744 \uc0ac\uc6a9\ud558\ub294 \ubc29\ubc95\uacfc N1QL\uc744 \uc0ac\uc6a9\ud558\ub294 \ubc29\ubc95\uc5d0 \ub300\ud574 \uc124\uba85\ud558\uaca0\uc2b5\ub2c8\ub2e4.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>\uc694\uc57d\ud558\uc790\uba74, \ubb38\uc11c \ub370\uc774\ud130\ubca0\uc774\uc2a4\uc5d0\uc11c \ub370\uc774\ud130\ub97c \ubaa8\ub378\ub9c1\ud558\ub294 \ubc29\ubc95\uc5d0\ub294 \ub450 \uac00\uc9c0\uac00 \uc788\uc2b5\ub2c8\ub2e4. \uc0ac\uc6a9\ub41c \uc1fc\ud551 \uce74\ud2b8 \uc608\uc81c <strong>\uc911\ucca9\ub41c \uac1c\uccb4<\/strong>\uc18c\uc15c \ubbf8\ub514\uc5b4 \uc608\uc81c\uc5d0\uc11c\ub294 <strong>\ubcc4\ub3c4\uc758 \ubb38\uc11c<\/strong>. \uc774\ub7ec\ud55c \uc608\uc5d0\uc11c\ub294 \ube44\uad50\uc801 \uac04\ub2e8\ud558\uac8c \uc120\ud0dd\ud560 \uc218 \uc788\uc5c8\uc2b5\ub2c8\ub2e4. \uc9c1\uc811 \ubaa8\ub378\ub9c1 \uacb0\uc815\uc744 \ub0b4\ub9b4 \ub54c \uc720\uc6a9\ud55c \uce58\ud2b8 \uc2dc\ud2b8\uac00 \uc788\uc2b5\ub2c8\ub2e4:<\/p>\n<\/div>\n<table class=\"tableblock frame-all grid-all spread\">\n<caption class=\"title\">\ud45c 2. \ubaa8\ub378\ub9c1 \ub370\uc774\ud130 \uce58\ud2b8 \uc2dc\ud2b8<\/caption>\n<thead>\n<tr>\n<th class=\"tableblock halign-left valign-top\">\ub9cc\uc57d ...<\/th>\n<th class=\"tableblock halign-left valign-top\">\uadf8\ub807\ub2e4\uba74 \ub2e4\uc74c\uc744 \uace0\ub824\ud558\uc138\uc694...<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td class=\"tableblock halign-left valign-top\">\n<p class=\"tableblock\">\uad00\uacc4\ub294 \uc77c\ub300\uc77c \ub610\ub294 \uc77c\ub300\ub2e4\uc785\ub2c8\ub2e4.<\/p>\n<\/td>\n<td class=\"tableblock halign-left valign-top\">\n<p class=\"tableblock\">\uc911\ucca9\ub41c \uac1c\uccb4<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\">\n<p class=\"tableblock\">\uad00\uacc4\ub294 \ub2e4\ub300\uc77c \ub610\ub294 \ub2e4\ub300\ub2e4\uc785\ub2c8\ub2e4.<\/p>\n<\/td>\n<td class=\"tableblock halign-left valign-top\">\n<p class=\"tableblock\">\ubb38\uc11c \ubd84\ub9ac<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\">\n<p class=\"tableblock\">\ub370\uc774\ud130 \uc77d\uae30\ub294 \ub300\ubd80\ubd84 \uc0c1\uc704 \ud544\ub4dc\uc785\ub2c8\ub2e4.<\/p>\n<\/td>\n<td class=\"tableblock halign-left valign-top\">\n<p class=\"tableblock\">\ubcc4\ub3c4\uc758 \ubb38\uc11c<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\">\n<p class=\"tableblock\">\ub370\uc774\ud130 \uc77d\uae30\ub294 \ub300\ubd80\ubd84 \uc0c1\uc704 + \ud558\uc704 \ud544\ub4dc\uc785\ub2c8\ub2e4.<\/p>\n<\/td>\n<td class=\"tableblock halign-left valign-top\">\n<p class=\"tableblock\">\uc911\ucca9\ub41c \uac1c\uccb4<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\">\n<p class=\"tableblock\">\ub370\uc774\ud130 \uc77d\uae30\ub294 \ub300\ubd80\ubd84 \uc0c1\uc704 <em>\ub610\ub294<\/em> \uc790\uc2dd(\ub458 \ub2e4 \uc544\ub2d8)<\/p>\n<\/td>\n<td class=\"tableblock halign-left valign-top\">\n<p class=\"tableblock\">\ubb38\uc11c \ubd84\ub9ac<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\">\n<p class=\"tableblock\">\ub370\uc774\ud130 \uc4f0\uae30\ub294 \ub300\ubd80\ubd84 \uc0c1\uc704 <em>\uadf8\ub9ac\uace0<\/em> \uc790\uc2dd(\ub458 \ub2e4)<\/p>\n<\/td>\n<td class=\"tableblock halign-left valign-top\">\n<p class=\"tableblock\">\uc911\ucca9\ub41c \uac1c\uccb4<\/p>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<div class=\"sect2\">\n<h3 id=\"_key_value_operations\">\ud0a4\/\uac12 \uc5f0\uc0b0<\/h3>\n<div class=\"paragraph\">\n<p>Couchbase\uc5d0\uc11c \ubb38\uc11c\ub97c \uac00\uc838\uc624\ub824\uba74 \uac00\uc7a5 \uac04\ub2e8\ud558\uace0 \ube60\ub978 \ubc29\ubc95\uc740 \ud0a4\ub85c \uc694\uccad\ud558\ub294 \uac83\uc785\ub2c8\ub2e4. \uc77c\ub2e8 <code>\uce5c\uad6c\ubd81 \uc0ac\uc6a9\uc790<\/code> \ubb38\uc11c\uac00 \uc788\uc73c\uba74 \ub2e4\ub978 \uc791\uc5c5\uc744 \uc2e4\ud589\ud558\uc5ec \uad00\ub828 \ubb38\uc11c\ub97c \uac00\uc838\uc62c \uc218 \uc788\uc2b5\ub2c8\ub2e4. \uc608\ub97c \ub4e4\uc5b4, Couchbase\uc5d0 \ud0a4 2, 3, 1031\uc5d0 \ub300\ud55c \ubb38\uc11c\ub97c \uc81c\uacf5\ud558\ub3c4\ub85d \uc694\uccad\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4(\uc77c\uad04 \uc791\uc5c5\uc73c\ub85c). \uadf8\ub7ec\uba74 \uac01 \uce5c\uad6c\uc5d0 \ub300\ud55c \ubb38\uc11c\uac00 \uc81c\uacf5\ub429\ub2c8\ub2e4. \uadf8\ub7f0 \ub2e4\uc74c \ub2e4\uc74c\uacfc \uac19\uc740 \uc791\uc5c5\uc744 \ubc18\ubcf5\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. <code>\uc5c5\ub370\uc774\ud2b8<\/code>\ub4f1\uc785\ub2c8\ub2e4.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>\ud0a4\/\uac12 \uc5f0\uc0b0\uc774 \ub9e4\uc6b0 \ube60\ub974\uba70 RAM\uc5d0\uc11c \uc9c1\uc811 \uac12\uc744 \uac00\uc838\uc62c \uac00\ub2a5\uc131\uc774 \ub192\uae30 \ub54c\ubb38\uc5d0 \uc18d\ub3c4 \uba74\uc5d0\uc11c \uc774\uc810\uc774 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>\ub2e8\uc810\uc740 \ucd5c\uc18c \ub450 \uac00\uc9c0 \uc791\uc5c5\uc774 \ud544\uc694\ud558\ub2e4\ub294 \uac83\uc785\ub2c8\ub2e4(\uce5c\uad6c\ubd81 \uc0ac\uc6a9\uc790 \ubb38\uc11c\ub97c \uac00\uc838\uc628 \ub2e4\uc74c \uc5c5\ub370\uc774\ud2b8\ub97c \uac00\uc838\uc635\ub2c8\ub2e4). \ub530\ub77c\uc11c \uc57d\uac04\uc758 \ucd94\uac00 \ucf54\ub529\uc774 \ud544\uc694\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \ub610\ud55c \ubb38\uc11c \ud0a4\ub97c \uad6c\uc131\ud558\ub294 \ubc29\ubc95\uc5d0 \ub300\ud574 \ub354 \uc2e0\uc911\ud558\uac8c \uc0dd\uac01\ud574\uc57c \ud560 \uc218\ub3c4 \uc788\uc2b5\ub2c8\ub2e4(\ub098\uc911\uc5d0 \uc790\uc138\ud788 \uc124\uba85\ud569\ub2c8\ub2e4).<\/p>\n<\/div>\n<\/div>\n<div class=\"sect2\">\n<h3 id=\"_n1ql\">N1QL<\/h3>\n<div class=\"paragraph\">\n<p>Couchbase\uc5d0\uc11c\ub294 JSON\uc6a9 SQL\uc778 N1QL\uc744 \uc0ac\uc6a9\ud558\uc5ec \ucffc\ub9ac\ub97c \uc791\uc131\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \uc5ec\uae30\uc5d0\ub294 <code>JOIN<\/code> \ud0a4\uc6cc\ub4dc\ub97c \ucd94\uac00\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \uc608\ub97c \ub4e4\uc5b4 \ucd5c\uc2e0 \uc5c5\ub370\uc774\ud2b8 10\uac74\uacfc \uadf8\uc5d0 \ud574\ub2f9\ud558\ub294 \uc0ac\uc6a9\uc790\ub97c \uac00\uc838\uc624\ub294 \ucffc\ub9ac\ub97c \uc791\uc131\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n<\/div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight decode:true\"><code class=\"language-C#\">public List GetTenLatestUpdates()\r\n{\r\n    var n1ql = @\"SELECT up.body, up.postedDate, { 'id': META(u).id, u.name} AS `user`\r\n        FROM `sqltocb` up\r\n        JOIN `sqltocb` u ON KEYS up.`user`\r\n        WHERE up.type = 'Update'\r\n        ORDER BY STR_TO_MILLIS(up.postedDate) DESC\r\n        LIMIT 10;\";\r\n    var query = QueryRequest.Create(n1ql);\r\n    query.ScanConsistency(ScanConsistency.RequestPlus);\r\n    var result = _\ubc84\ud0b7.\ucffc\ub9ac(\ucffc\ub9ac);\r\n    \uacb0\uacfc.\ud589\uc744 \ubc18\ud658\ud569\ub2c8\ub2e4;\r\n}<\/code><\/pre>\n<\/div>\n<\/div>\n<div class=\"paragraph\">\n<p>\uc774 \ucffc\ub9ac\uc758 \uacb0\uacfc\ub294 \ub2e4\uc74c\uacfc \uac19\uc2b5\ub2c8\ub2e4:<\/p>\n<\/div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight decode:true\"><code class=\"language-JavaScript\">[\r\n  {\r\n    \"body\": \"Autem occaecati quam vel. \uc778 \uc544\uc2a4 \ud398\ub974 \ub098\ud22c\ub974 \ub098 \ub3cc\ub8f8.\",\r\n    \"postedDate\": \"2017-02-02T16:19:48.7812386-05:00\",\r\n    \"user\": {\r\n      \"id\": \"c5f05561-9fbf-4ab0-b68f-e392267c0703\",\r\n      \"name\": \"\ubc25 \uc874\uc2a8\"\r\n    }\r\n  },\r\n  {\r\n    \"body\": \"Nostrum eligendi aspernatur enim repellat culpa eligendi maires et.\",\r\n    \"postedDate\": \"2017-02-02T16:19:45.2792288-05:00\",\r\n    \"user\": {\r\n      \"id\": \"7fc5503f-2092-4bac-8c33-65ef5b388f4b\",\r\n      \"name\": \"\uc2a4\ud2f0\ube0c \uc624\ubc84\ube0c\ub8e8\ub108\"\r\n    }\r\n  },\r\n\r\n  \/\/ ... \ub4f1 ...\r\n]<\/code><\/pre>\n<\/div>\n<\/div>\n<div class=\"paragraph\">\n<p>N1QL\uc744 \uc0ac\uc6a9\ud558\uba74 \ub370\uc774\ud130\ub97c \ub9e4\uc6b0 \uc720\uc5f0\ud558\uac8c \uac80\uc0c9\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \ud0a4\ub9cc \uc0ac\uc6a9\ud574\uc57c \ud55c\ub2e4\ub294 \uc81c\uc57d\uc774 \uc5c6\uc2b5\ub2c8\ub2e4. \ub610\ud55c SQL Server \uc0ac\uc6a9\uc790\uac00 \ube60\ub974\uac8c \uc775\ud790 \uc218 \uc788\ub294 SQL\uc758 \uc0c1\uc704 \uc9d1\ud569\uc774\uae30 \ub54c\ubb38\uc5d0 \uc27d\uac8c \uc775\ud790 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \ud558\uc9c0\ub9cc \uc5ec\uae30\uc11c\ub294 \uc778\ub371\uc2f1\uc774 \uc911\uc694\ud558\ub2e4\ub294 \ub2e8\uc810\uc774 \uc788\uc2b5\ub2c8\ub2e4. SQL Server \uc778\ub371\uc2f1\ubcf4\ub2e4 \ud6e8\uc52c \ub354 \uc911\uc694\ud569\ub2c8\ub2e4. \ucffc\ub9ac\ub97c \uc791\uc131\ud55c\ub2e4\uace0 \uac00\uc815\ud574 \ubcf4\uaca0\uc2b5\ub2c8\ub2e4. <code>\uc774\ub984<\/code> \ud544\ub4dc\uc5d0 \ub2e4\uc74c\uacfc \uac19\uc740 \uc778\ub371\uc2a4\uac00 \uc788\uc5b4\uc57c \ud569\ub2c8\ub2e4:<\/p>\n<\/div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight decode:true\"><code class=\"language-SQL\">GSI\ub97c \uc0ac\uc6a9\ud558\uc5ec '\uc18c\uc15c \ubbf8\ub514\uc5b4'(\uc774\ub984)\uc5d0 \uc778\ub371\uc2a4 IX_Name\uc744 \uc0dd\uc131\ud569\ub2c8\ub2e4;<\/code><\/pre>\n<\/div>\n<\/div>\n<div class=\"paragraph\">\n<p>\uadf8\ub807\uc9c0 \uc54a\uc73c\uba74 \ucffc\ub9ac\uac00 \uc2e4\ud589\ub418\uc9c0 \uc54a\uac70\ub098(\uc778\ub371\uc2f1\uc774 \uc5c6\ub294 \uacbd\uc6b0) \uc131\ub2a5\uc774 \uc800\ud558\ub429\ub2c8\ub2e4(\uae30\ubcf8 \uc778\ub371\uc2a4\ub9cc \uc0dd\uc131\ud55c \uacbd\uc6b0).<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p><a href=\"https:\/\/developer.couchbase.com\/documentation\/server\/current\/data-modeling\/entity-relationship-doc-design.html?utm_source=blogs&amp;utm_medium=link&amp;utm_campaign=blogs\">\ucc38\uc870\ub97c \uc0ac\uc6a9\ud560\uc9c0 \uc5ec\ubd80\ub97c \uacb0\uc815\ud558\ub294 \ub370\ub294 \uc7a5\ub2e8\uc810\uc774 \uc788\uc2b5\ub2c8\ub2e4.<\/a>. \uc758 \uac12\uc740 <code>\uce5c\uad6c<\/code> \uadf8\ub9ac\uace0 <code>\uc0ac\uc6a9\uc790<\/code> \ub294 \ub2e4\ub978 \ubb38\uc11c\ub97c \ucc38\uc870\ud55c\ub2e4\ub294 \uc810\uc5d0\uc11c \uc678\ub798 \ud0a4\uc640 \uc720\uc0ac\ud569\ub2c8\ub2e4. \uadf8\ub7ec\ub098 \uce74\uc6b0\uce58\ubca0\uc774\uc2a4\uc5d0\uc11c \uac12\uc744 \uac15\uc81c \uc801\uc6a9\ud558\uc9c0\ub294 \uc54a\uc2b5\ub2c8\ub2e4. \uc774\ub7ec\ud55c \ud0a4\uc758 \uad00\ub9ac\ub294 \uc560\ud50c\ub9ac\ucf00\uc774\uc158\uc5d0\uc11c \uc801\uc808\ud558\uac8c \ucc98\ub9ac\ud574\uc57c \ud569\ub2c8\ub2e4. \ub610\ud55c Couchbase\ub294 \ub2e8\uc77c \ubb38\uc11c \uc791\uc5c5\uc744 \uc704\ud55c ACID \ud2b8\ub79c\uc7ad\uc158\uc744 \uc81c\uacf5\ud558\uc9c0\ub9cc, \ub2e4\uc911 \ubb38\uc11c ACID \ud2b8\ub79c\uc7ad\uc158\uc740 \uc81c\uacf5\ud558\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>\uc560\ud50c\ub9ac\ucf00\uc774\uc158 \uacc4\uce35\uc5d0\uc11c \uc774\ub7ec\ud55c \uc8fc\uc758 \uc0ac\ud56d\uc744 \ucc98\ub9ac\ud558\ub294 \ubc29\ubc95\uc740 \uc774 \uc2dc\ub9ac\uc988\uc758 \uc774\ud6c4 \ube14\ub85c\uadf8 \uac8c\uc2dc\ubb3c\uc5d0\uc11c \uc790\uc138\ud788 \uc124\uba85\ud560 \uc608\uc815\uc774\ub2c8 \uacc4\uc18d \uc9c0\ucf1c\ubd10 \uc8fc\uc138\uc694!<\/p>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"sect1\">\n<h2 id=\"_key_design_and_document_differentiation\">\uc8fc\uc694 \ub514\uc790\uc778 \ubc0f \ubb38\uc11c \ucc28\ubcc4\ud654<\/h2>\n<div class=\"sectionbody\">\n<div class=\"paragraph\">\n<p>\uad00\uacc4\ud615 \ub370\uc774\ud130\ubca0\uc774\uc2a4\uc5d0\uc11c \ub370\uc774\ud130 \ud589\uc740 (\ud56d\uc0c1 \uadf8\ub7f0 \uac83\uc740 \uc544\ub2c8\uc9c0\ub9cc \uc77c\ubc18\uc801\uc73c\ub85c) \uae30\ubcf8 \ud0a4\uc5d0 \ud574\ub2f9\ud558\uba70, \uc774 \ud0a4\ub294 \uc815\uc218\ub098 Guid\uc778 \uacbd\uc6b0\uac00 \ub9ce\uace0 \ub54c\ub85c\ub294 \ubcf5\ud569 \ud0a4\uc778 \uacbd\uc6b0\ub3c4 \uc788\uc2b5\ub2c8\ub2e4. \uc774\ub7ec\ud55c \ud0a4\ub294 \ubc18\ub4dc\uc2dc \uc758\ubbf8\uac00 \uc788\ub294 \uac83\uc740 \uc544\ub2c8\uba70 \ud14c\uc774\ube14 \ub0b4\uc5d0\uc11c \ud589\uc744 \uc2dd\ubcc4\ud558\ub294 \ub370\ub9cc \uc0ac\uc6a9\ub429\ub2c8\ub2e4. \uc608\ub97c \ub4e4\uc5b4, \uc11c\ub85c \ub2e4\ub978 \ub450 \ud14c\uc774\ube14\uc5d0 \uc788\ub294 \ub450 \ud589\uc758 \ub370\uc774\ud130\uac00 \ub3d9\uc77c\ud55c \ud0a4(\uc608: \uc815\uc218 \uac12 123)\ub97c \uac00\uc9c8 \uc218 \uc788\uc9c0\ub9cc, \uadf8\ub807\ub2e4\uace0 \ud574\uc11c \ub370\uc774\ud130\uac00 \ubc18\ub4dc\uc2dc \uc5f0\uad00\ub418\uc5b4 \uc788\ub2e4\ub294 \uc758\ubbf8\ub294 \uc544\ub2d9\ub2c8\ub2e4. \uad00\uacc4\ud615 \ub370\uc774\ud130\ubca0\uc774\uc2a4\uc5d0 \uc801\uc6a9\ub418\ub294 \uc2a4\ud0a4\ub9c8\ub294 \uadf8 \uc790\uccb4\ub85c \uc758\ubbf8\ub97c \uc804\ub2ec\ud558\ub294 \uacbd\uc6b0\uac00 \ub9ce\uae30 \ub54c\ubb38\uc785\ub2c8\ub2e4(\uc608: \ud14c\uc774\ube14 \uc774\ub984).<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Couchbase\uc640 \uac19\uc740 \ubb38\uc11c \ub370\uc774\ud130\ubca0\uc774\uc2a4\uc5d0\ub294 \ud14c\uc774\ube14 \uc790\uccb4\uc5d0 \ud574\ub2f9\ud558\ub294 \uac83\uc774 \uc5c6\uc2b5\ub2c8\ub2e4. \ubc84\ud0b7\uc758 \uac01 \ubb38\uc11c\uc5d0\ub294 \uace0\uc720\ud55c \ud0a4\uac00 \uc788\uc5b4\uc57c \ud569\ub2c8\ub2e4. \ud558\uc9c0\ub9cc \ubc84\ud0b7\uc5d0\ub294 \ub2e4\uc591\ud55c \ubb38\uc11c\uac00 \ub4e4\uc5b4 \uc788\uc744 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \ub530\ub77c\uc11c \ubc84\ud0b7 \ub0b4\uc5d0\uc11c \ubb38\uc11c\ub97c \uad6c\ubd84\ud558\ub294 \ubc29\ubc95\uc744 \uc0dd\uac01\ud574\ub0b4\ub294 \uac83\uc774 \ud604\uba85\ud560 \ub54c\uac00 \ub9ce\uc2b5\ub2c8\ub2e4.<\/p>\n<\/div>\n<div class=\"sect2\">\n<h3 id=\"_meaningful_keys\">\uc758\ubbf8 \uc788\ub294 \ud0a4<\/h3>\n<div class=\"paragraph\">\n<p>\uc608\ub97c \ub4e4\uc5b4, \uc804\uc801\uc73c\ub85c \uac00\ub2a5\ud55c \uc77c\uc785\ub2c8\ub2e4. <code>\uce5c\uad6c\ubd81 \uc0ac\uc6a9\uc790<\/code> \ud0a4\uac00 \uc788\ub294 \ubb38\uc11c\uc5d0 <code>123<\/code>\ubc0f <code>\uc5c5\ub370\uc774\ud2b8<\/code> \ud0a4\uac00 \uc788\ub294 \ubb38\uc11c\uc5d0 <code>456<\/code>. \uadf8\ub7ec\ub098 \ud0a4\uc5d0 \uc2dc\ub9e8\ud2f1 \uc815\ubcf4\ub97c \ub354 \ucd94\uac00\ud558\ub294 \uac83\uc774 \uc88b\uc2b5\ub2c8\ub2e4. \ub300\uc2e0 <code>123<\/code>\ud0a4\ub97c \uc0ac\uc6a9\ud558\uc5ec <code>\uce5c\uad6c\ubd81 \uc0ac\uc6a9\uc790::123<\/code>. \ud0a4\uc5d0 \uc2dc\ub9e8\ud2f1 \uc815\ubcf4\ub97c \ub123\uc73c\uba74 \ub2e4\uc74c\uacfc \uac19\uc740 \uc774\uc810\uc774 \uc788\uc2b5\ub2c8\ub2e4:<\/p>\n<\/div>\n<div class=\"ulist\">\n<ul>\n<li><strong>\uac00\ub3c5\uc131<\/strong>: \ubb38\uc11c\uc758 \uc6a9\ub3c4\ub97c \ud55c\ub208\uc5d0 \ud30c\uc545\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/li>\n<li><strong>\ucc38\uc870 \uac00\ub2a5\uc131<\/strong>: \ub2e4\uc74c\uacfc \uac19\uc740 \uacbd\uc6b0 <code>\uce5c\uad6c\ubd81 \uc0ac\uc6a9\uc790::123<\/code> \ubb38\uc11c\uc5d0 \ud0a4\uac00 \uc788\ub294 \ub2e4\ub978 \ubb38\uc11c\ub97c \ub9cc\ub4e4 \uc218 \uc788\uc2b5\ub2c8\ub2e4. <code>\uce5c\uad6c\ubd81 \uc0ac\uc6a9\uc790::123::\uc5c5\ub370\uc774\ud2b8<\/code> \uc554\ubb35\uc801\uc778 \uc5f0\uad00\uc131\uc774 \uc788\ub294 \ub2e8\uc5b4\uc785\ub2c8\ub2e4.<\/li>\n<\/ul>\n<\/div>\n<div class=\"paragraph\">\n<p>N1QL\uc744 \uc0ac\uc6a9\ud560 \uacc4\ud68d\uc774\ub77c\uba74 \uc774\ub807\uac8c \uc758\ubbf8\uc801\uc73c\ub85c \uc758\ubbf8 \uc788\ub294 \ud0a4\uac00 \ud544\uc694\ud558\uc9c0 \uc54a\uc744 \uc218\ub3c4 \uc788\uc2b5\ub2c8\ub2e4. \uc131\ub2a5 \uce21\uba74\uc5d0\uc11c \ud0a4\uac00 \uc9e7\uc744\uc218\ub85d RAM\uc5d0 \ub354 \ub9ce\uc740 \ud0a4\ub97c \uc800\uc7a5\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \ub530\ub77c\uc11c \uc774 \ud328\ud134\uc740 N1QL \ucffc\ub9ac \ub300\uc2e0 \ud0a4\/\uac12 \uc5f0\uc0b0\uc744 \ub9ce\uc774 \uc0ac\uc6a9\ud560 \uacc4\ud68d\uc778 \uacbd\uc6b0\uc5d0\ub9cc \uc0ac\uc6a9\ud558\uc138\uc694.<\/p>\n<\/div>\n<\/div>\n<div class=\"sect2\">\n<h3 id=\"_discriminator_fields\">\ud310\ubcc4\uc790 \ud544\ub4dc<\/h3>\n<div class=\"paragraph\">\n<p>N1QL\uc744 \uc0ac\uc6a9\ud560 \ub54c \uc758\ubbf8 \uc788\ub294 \ud0a4\uc640 \ud568\uaed8 \ub610\ub294 \ub300\uc2e0 \uc0ac\uc6a9\ud560 \uc218 \uc788\ub294 \ub610 \ub2e4\ub978 \uc804\ub7b5\uc740 \ubb38\uc11c\ub97c \uad6c\ubd84\ud558\ub294 \ub370 \uc0ac\uc6a9\ub418\ub294 \ud544\ub4dc\ub97c \ubb38\uc11c\uc5d0 \ucd94\uac00\ud558\ub294 \uac83\uc785\ub2c8\ub2e4. \uc774\ub294 \uc885\uc885 <code>\uc720\ud615<\/code> \ud544\ub4dc\uc5d0 \uc785\ub825\ud569\ub2c8\ub2e4.<\/p>\n<\/div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight decode:true\"><code class=\"language-JavaScript\">{\r\n    \"\uc8fc\uc18c\" : \"1800 Brown Rd\",\r\n    \"\ub3c4\uc2dc\" : \"\uadf8\ub85c\ube0c\ud3ec\ud2b8\",\r\n    \"state\" : \"OH\",\r\n    \"type\" : \"\uc8fc\uc18c\"\r\n}<\/code><\/pre>\n<\/div>\n<\/div>\n<div class=\"paragraph\">\n<p>\ub9c8\ubc95 \uac19\uc740 \uac83\uc740 \uc5c6\uc2b5\ub2c8\ub2e4. <code>\uc720\ud615<\/code> \ud544\ub4dc\ub97c \uc0ac\uc6a9\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \uc774 \ud544\ub4dc\ub294 \ubb38\uc11c \ub0b4\uc5d0\uc11c \uc608\uc57d\uc5b4\uac00 \uc544\ub2c8\uba70 Couchbase Server\uc5d0\uc11c \ud2b9\ubcc4\ud788 \ucde8\uae09\ud558\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4. \ub2e4\uc74c\uacfc \uac19\uc774 \uc27d\uac8c \uc774\ub984\uc744 \uc9c0\uc815\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. <code>\ubb38\uc11c \uc720\ud615<\/code>, <code>theType<\/code>\ub4f1\uc785\ub2c8\ub2e4. \ud558\uc9c0\ub9cc \uc560\ud50c\ub9ac\ucf00\uc774\uc158 \ub0b4\uc5d0\uc11c \ud2b9\uc815 \uc885\ub958\uc758 \ubb38\uc11c\ub97c \ucffc\ub9ac\ud558\uae30 \uc704\ud574 N1QL\uc744 \uc0ac\uc6a9\ud560 \ub54c \uc720\uc6a9\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n<\/div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight decode:true\"><code class=\"language-SQL\">SELECT d.*\r\nFROM `default` d\r\nWHERE d.type = 'address'<\/code><\/pre>\n<\/div>\n<\/div>\n<div class=\"paragraph\">\n<p>\ud55c \ub2e8\uacc4 \ub354 \ub098\uc544\uac00 \ubb38\uc11c\uc5d0 \uc784\ubca0\ub4dc\ub41c \uac1d\uccb4\ub97c \ucd94\uac00\ud558\uc5ec \uc77c\uc885\uc758 \uac00\uc9dc '\uba54\ud0c0 \ub370\uc774\ud130' \uc5ed\ud560\uc744 \ud560 \uc218\ub3c4 \uc788\uc2b5\ub2c8\ub2e4:<\/p>\n<\/div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight decode:true\"><code class=\"language-JavaScript\">{\r\n    \"\uc8fc\uc18c\" : \"1800 Brown Rd\",\r\n    \"\ub3c4\uc2dc\" : \"\uadf8\ub85c\ube0c\ud3ec\ud2b8\",\r\n    \"state\" : \"OH\",\r\n    \"documentInfo\" : {\r\n        \"type\" : \"\uc8fc\uc18c\",\r\n        \"lastUpdated\" : \"1\/29\/2017 1:31:10 PM\",\r\n        \"lastUpdatedBy\" : \"mgroves\"\r\n    }\r\n}<\/code><\/pre>\n<\/div>\n<\/div>\n<div class=\"paragraph\">\n<p>\uc77c\ubd80 \uc560\ud50c\ub9ac\ucf00\uc774\uc158\uc5d0\uc11c\ub294 \uacfc\ud560 \uc218\ub3c4 \uc788\uc2b5\ub2c8\ub2e4. \uc774\ub294 \uad00\uacc4\ud615 \ub370\uc774\ud130\ubca0\uc774\uc2a4 \ub0b4\uc5d0\uc11c \uc0c1\uc18d\uc744 \uc2dc\ubbac\ub808\uc774\uc158\ud558\uae30 \uc704\ud55c '\ub8e8\ud2b8' \ud14c\uc774\ube14\uc774\ub098 \ubaa8\ub4e0 \ud14c\uc774\ube14\uc5d0 \ub3d9\uc77c\ud55c \ud544\ub4dc\ub97c \ubd99\uc774\ub294 \ub4f1 \uad00\uacc4\ud615 \ub370\uc774\ud130\ubca0\uc774\uc2a4\uc5d0\uc11c \ubcf4\uc558\ub358 \ud328\ud134\uacfc \uc720\uc0ac\ud569\ub2c8\ub2e4.<\/p>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"sect1\">\n<h2 id=\"_conclusion_of_part_1\">1\ubd80 \uacb0\ub860<\/h2>\n<div class=\"sectionbody\">\n<div class=\"paragraph\">\n<p>\uc774 \ube14\ub85c\uadf8 \uac8c\uc2dc\ubb3c\uc5d0\uc11c\ub294 \ube44\uc815\uaddc\ud654\ub97c \uc0ac\uc6a9\ud55c \ub370\uc774\ud130 \ubaa8\ub378\ub9c1, \ucc38\uc870\ub97c \uc0ac\uc6a9\ud55c \ub370\uc774\ud130 \ubaa8\ub378\ub9c1, \ud0a4 \ub514\uc790\uc778, \ud544\ub4dc \uc2dd\ubcc4\uc5d0 \ub300\ud574 \ub2e4\ub918\uc2b5\ub2c8\ub2e4. \ubb38\uc11c \ub370\uc774\ud130\ubca0\uc774\uc2a4\uc5d0\uc11c \ub370\uc774\ud130\ub97c \ubaa8\ub378\ub9c1\ud558\ub294 \uac83\uc740 \uae30\uacc4\uc801\uc778 \ud504\ub85c\uc138\uc2a4\uac00 \uc544\ub2c8\ub77c \uc0ac\uace0 \uacfc\uc815\uc774\uba70 \uc77c\uc885\uc758 \uc608\uc220\uc785\ub2c8\ub2e4. \ubb38\uc11c \ub370\uc774\ud130\ubca0\uc774\uc2a4\uc5d0\uc11c \ub370\uc774\ud130\ub97c \ubaa8\ub378\ub9c1\ud558\ub294 \ubc29\ubc95\uc5d0 \ub300\ud55c \uc815\ub2f5\uc740 \uc5c6\uc73c\uba70, \uc560\ud50c\ub9ac\ucf00\uc774\uc158\uc774 \ub370\uc774\ud130\uc640 \uc0c1\ud638 \uc791\uc6a9\ud558\ub294 \ubc29\uc2dd\uc5d0 \ub530\ub77c \ud06c\uac8c \ub2ec\ub77c\uc9d1\ub2c8\ub2e4.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>\ub2e4\uc74c\uacfc \uac19\uc774 <a href=\"https:\/\/github.com\/couchbaselabs\/blog-source-code\/tree\/master\/Groves\/045MigrateFromSQLServer\/src\/SQLServerToCouchbase\">\uc804\uccb4 \ube14\ub85c\uadf8 \uc2dc\ub9ac\uc988\uc5d0 \ub300\ud55c \uc18c\uc2a4 \ucf54\ub4dc\ub97c \uc9c0\uae08 \uae43\ud5c8\ube0c\uc5d0\uc11c \ud655\uc778\ud558\uc138\uc694.<\/a>\uc758 \uc77c\ubd80\uac00 \uc774 \ube14\ub85c\uadf8 \uac8c\uc2dc\ubb3c\uc5d0 \uc18c\uac1c\ub418\uc5c8\uc2b5\ub2c8\ub2e4. \ud574\ub2f9 \ucf54\ub4dc\uc758 \ub2e4\uc591\ud55c \ubd80\ubd84\uc5d0 \ub300\ud574 \uad81\uae08\ud55c \uc810\uc774 \uc788\uc73c\uba74 \uc544\ub798\uc5d0 \ub313\uae00\uc744 \ub0a8\uae30\uac70\ub098 GitHub\uc5d0\uc11c \uc774\uc288\ub97c \uac1c\uc124\ud558\uc138\uc694.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>\ub2e4\uc74c \ube14\ub85c\uadf8\uc5d0\uc11c\ub294 \ub370\uc774\ud130\uc640 \ub370\uc774\ud130 \ub9c8\uc774\uadf8\ub808\uc774\uc158\uc5d0 \ub300\ud574 \ub2e4\ub8f0 \uc608\uc815\uc774\ub2c8 \uae30\ub300\ud574 \uc8fc\uc138\uc694.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>\uad81\uae08\ud55c \uc810\uc774 \uc788\uc73c\uba74 \uc544\ub798\uc5d0 \ub313\uae00\uc744 \ub0a8\uaca8 \uc8fc\uc138\uc694, <a href=\"https:\/\/twitter.com\/mgroves\">\ud2b8\uc704\ud130\ub85c \ubb38\uc758\ud558\uae30<\/a>\uc744 \uc0ac\uc6a9\ud558\uac70\ub098 <a href=\"https:\/\/www.couchbase.com\/blog\/ko\/forums\/?utm_source=blogs&amp;utm_medium=link&amp;utm_campaign=blogs\">\uce74\uc6b0\uce58\ubca0\uc774\uc2a4 \ud3ec\ub7fc<\/a>.<\/p>\n<\/div>\n<\/div>\n<\/div>","protected":false},"excerpt":{"rendered":"<p>In this series of blog posts, I\u2019m going to lay out the considerations when moving to a document database when you have a relational background. Specifically, Microsoft SQL Server as compared to Couchbase Server. In three parts, I\u2019m going to [&hellip;]<\/p>","protected":false},"author":71,"featured_media":2574,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"inline_featured_image":false,"footnotes":""},"categories":[1811,1814,10126,1815,10127,1816,1819,1812],"tags":[1447,1806,1807,1805,1556],"ppma_author":[8937],"class_list":["post-2521","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-dotnet","category-application-design","category-asp-dotnet","category-best-practices-and-tutorials","category-c-sharp","category-couchbase-server","category-data-modeling","category-n1ql-query","tag-data-modeling","tag-entity-framework","tag-nhibernate","tag-or-m","tag-sql-server"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v25.9 (Yoast SEO v25.9) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Data Modeling in SQL Server: Making the Move to Couchbase<\/title>\n<meta name=\"description\" content=\"This post explains how to move a document database when you have a relational background. Specifically, Microsoft SQL Server compared to Couchbase Server.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.couchbase.com\/blog\/ko\/moving-from-sql-server-to-couchbase-part-1-data-modeling\/\" \/>\n<meta property=\"og:locale\" content=\"ko_KR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Moving from SQL Server to Couchbase Part 1: Data Modeling\" \/>\n<meta property=\"og:description\" content=\"This post explains how to move a document database when you have a relational background. Specifically, Microsoft SQL Server compared to Couchbase Server.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.couchbase.com\/blog\/ko\/moving-from-sql-server-to-couchbase-part-1-data-modeling\/\" \/>\n<meta property=\"og:site_name\" content=\"The Couchbase Blog\" \/>\n<meta property=\"article:published_time\" content=\"2017-02-03T16:05:12+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-06-14T03:57:15+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2017\/02\/geese-migration.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"2048\" \/>\n\t<meta property=\"og:image:height\" content=\"949\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Matthew Groves\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@mgroves\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Matthew Groves\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"13\ubd84\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/moving-from-sql-server-to-couchbase-part-1-data-modeling\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/moving-from-sql-server-to-couchbase-part-1-data-modeling\/\"},\"author\":{\"name\":\"Matthew Groves\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/3929663e372020321b0152dc4fa65a58\"},\"headline\":\"Moving from SQL Server to Couchbase Part 1: Data Modeling\",\"datePublished\":\"2017-02-03T16:05:12+00:00\",\"dateModified\":\"2025-06-14T03:57:15+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/moving-from-sql-server-to-couchbase-part-1-data-modeling\/\"},\"wordCount\":2849,\"commentCount\":4,\"publisher\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/moving-from-sql-server-to-couchbase-part-1-data-modeling\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2017\/02\/geese-migration.jpg\",\"keywords\":[\"Data Modeling\",\"Entity Framework\",\"NHibernate\",\"OR\/M\",\"SQL Server\"],\"articleSection\":[\".NET\",\"Application Design\",\"ASP.NET\",\"Best Practices and Tutorials\",\"C#\",\"Couchbase Server\",\"Data Modeling\",\"SQL++ \/ N1QL Query\"],\"inLanguage\":\"ko-KR\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.couchbase.com\/blog\/moving-from-sql-server-to-couchbase-part-1-data-modeling\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/moving-from-sql-server-to-couchbase-part-1-data-modeling\/\",\"url\":\"https:\/\/www.couchbase.com\/blog\/moving-from-sql-server-to-couchbase-part-1-data-modeling\/\",\"name\":\"Data Modeling in SQL Server: Making the Move to Couchbase\",\"isPartOf\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/moving-from-sql-server-to-couchbase-part-1-data-modeling\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/moving-from-sql-server-to-couchbase-part-1-data-modeling\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2017\/02\/geese-migration.jpg\",\"datePublished\":\"2017-02-03T16:05:12+00:00\",\"dateModified\":\"2025-06-14T03:57:15+00:00\",\"description\":\"This post explains how to move a document database when you have a relational background. Specifically, Microsoft SQL Server compared to Couchbase Server.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/moving-from-sql-server-to-couchbase-part-1-data-modeling\/#breadcrumb\"},\"inLanguage\":\"ko-KR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.couchbase.com\/blog\/moving-from-sql-server-to-couchbase-part-1-data-modeling\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"ko-KR\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/moving-from-sql-server-to-couchbase-part-1-data-modeling\/#primaryimage\",\"url\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2017\/02\/geese-migration.jpg\",\"contentUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2017\/02\/geese-migration.jpg\",\"width\":2048,\"height\":949,\"caption\":\"Geese migration licensed through Creative Commons https:\/\/commons.wikimedia.org\/wiki\/File:BrantaLeucopsisMigration.jpg\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/moving-from-sql-server-to-couchbase-part-1-data-modeling\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.couchbase.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Moving from SQL Server to Couchbase Part 1: Data Modeling\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#website\",\"url\":\"https:\/\/www.couchbase.com\/blog\/\",\"name\":\"The Couchbase Blog\",\"description\":\"Couchbase, the NoSQL Database\",\"publisher\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.couchbase.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"ko-KR\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#organization\",\"name\":\"The Couchbase Blog\",\"url\":\"https:\/\/www.couchbase.com\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"ko-KR\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2023\/04\/admin-logo.png\",\"contentUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2023\/04\/admin-logo.png\",\"width\":218,\"height\":34,\"caption\":\"The Couchbase Blog\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/logo\/image\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/3929663e372020321b0152dc4fa65a58\",\"name\":\"Matthew Groves\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"ko-KR\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/image\/ba51e6aacc53995c323a634e4502ef54\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/70feb1b28a099ad0112b8d21fe1e81e1a4524beed3e20b7f107d5370e85a07ab?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/70feb1b28a099ad0112b8d21fe1e81e1a4524beed3e20b7f107d5370e85a07ab?s=96&d=mm&r=g\",\"caption\":\"Matthew Groves\"},\"description\":\"Matthew D. Groves is a guy who loves to code. It doesn't matter if it's C#, jQuery, or PHP: he'll submit pull requests for anything. He has been coding professionally ever since he wrote a QuickBASIC point-of-sale app for his parent's pizza shop back in the 90s. He currently works as a Senior Product Marketing Manager for Couchbase. His free time is spent with his family, watching the Reds, and getting involved in the developer community. He is the author of AOP in .NET, Pro Microservices in .NET, a Pluralsight author, and a Microsoft MVP.\",\"sameAs\":[\"https:\/\/crosscuttingconcerns.com\",\"https:\/\/x.com\/mgroves\"],\"url\":\"https:\/\/www.couchbase.com\/blog\/ko\/author\/matthew-groves\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Data Modeling in SQL Server: Making the Move to Couchbase","description":"\uc774 \uae00\uc5d0\uc11c\ub294 \uad00\uacc4\ud615 \ubc30\uacbd\uc774 \uc788\uc744 \ub54c \ubb38\uc11c \ub370\uc774\ud130\ubca0\uc774\uc2a4\ub97c \uc774\ub3d9\ud558\ub294 \ubc29\ubc95\uc744 \uc124\uba85\ud569\ub2c8\ub2e4. \ud2b9\ud788 Microsoft SQL Server\uc640 Couchbase Server\ub97c \ube44\uad50\ud569\ub2c8\ub2e4.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.couchbase.com\/blog\/ko\/moving-from-sql-server-to-couchbase-part-1-data-modeling\/","og_locale":"ko_KR","og_type":"article","og_title":"Moving from SQL Server to Couchbase Part 1: Data Modeling","og_description":"This post explains how to move a document database when you have a relational background. Specifically, Microsoft SQL Server compared to Couchbase Server.","og_url":"https:\/\/www.couchbase.com\/blog\/ko\/moving-from-sql-server-to-couchbase-part-1-data-modeling\/","og_site_name":"The Couchbase Blog","article_published_time":"2017-02-03T16:05:12+00:00","article_modified_time":"2025-06-14T03:57:15+00:00","og_image":[{"width":2048,"height":949,"url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2017\/02\/geese-migration.jpg","type":"image\/jpeg"}],"author":"Matthew Groves","twitter_card":"summary_large_image","twitter_creator":"@mgroves","twitter_misc":{"Written by":"Matthew Groves","Est. reading time":"13\ubd84"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.couchbase.com\/blog\/moving-from-sql-server-to-couchbase-part-1-data-modeling\/#article","isPartOf":{"@id":"https:\/\/www.couchbase.com\/blog\/moving-from-sql-server-to-couchbase-part-1-data-modeling\/"},"author":{"name":"Matthew Groves","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/3929663e372020321b0152dc4fa65a58"},"headline":"Moving from SQL Server to Couchbase Part 1: Data Modeling","datePublished":"2017-02-03T16:05:12+00:00","dateModified":"2025-06-14T03:57:15+00:00","mainEntityOfPage":{"@id":"https:\/\/www.couchbase.com\/blog\/moving-from-sql-server-to-couchbase-part-1-data-modeling\/"},"wordCount":2849,"commentCount":4,"publisher":{"@id":"https:\/\/www.couchbase.com\/blog\/#organization"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/moving-from-sql-server-to-couchbase-part-1-data-modeling\/#primaryimage"},"thumbnailUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2017\/02\/geese-migration.jpg","keywords":["Data Modeling","Entity Framework","NHibernate","OR\/M","SQL Server"],"articleSection":[".NET","Application Design","ASP.NET","Best Practices and Tutorials","C#","Couchbase Server","Data Modeling","SQL++ \/ N1QL Query"],"inLanguage":"ko-KR","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.couchbase.com\/blog\/moving-from-sql-server-to-couchbase-part-1-data-modeling\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.couchbase.com\/blog\/moving-from-sql-server-to-couchbase-part-1-data-modeling\/","url":"https:\/\/www.couchbase.com\/blog\/moving-from-sql-server-to-couchbase-part-1-data-modeling\/","name":"Data Modeling in SQL Server: Making the Move to Couchbase","isPartOf":{"@id":"https:\/\/www.couchbase.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.couchbase.com\/blog\/moving-from-sql-server-to-couchbase-part-1-data-modeling\/#primaryimage"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/moving-from-sql-server-to-couchbase-part-1-data-modeling\/#primaryimage"},"thumbnailUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2017\/02\/geese-migration.jpg","datePublished":"2017-02-03T16:05:12+00:00","dateModified":"2025-06-14T03:57:15+00:00","description":"\uc774 \uae00\uc5d0\uc11c\ub294 \uad00\uacc4\ud615 \ubc30\uacbd\uc774 \uc788\uc744 \ub54c \ubb38\uc11c \ub370\uc774\ud130\ubca0\uc774\uc2a4\ub97c \uc774\ub3d9\ud558\ub294 \ubc29\ubc95\uc744 \uc124\uba85\ud569\ub2c8\ub2e4. \ud2b9\ud788 Microsoft SQL Server\uc640 Couchbase Server\ub97c \ube44\uad50\ud569\ub2c8\ub2e4.","breadcrumb":{"@id":"https:\/\/www.couchbase.com\/blog\/moving-from-sql-server-to-couchbase-part-1-data-modeling\/#breadcrumb"},"inLanguage":"ko-KR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.couchbase.com\/blog\/moving-from-sql-server-to-couchbase-part-1-data-modeling\/"]}]},{"@type":"ImageObject","inLanguage":"ko-KR","@id":"https:\/\/www.couchbase.com\/blog\/moving-from-sql-server-to-couchbase-part-1-data-modeling\/#primaryimage","url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2017\/02\/geese-migration.jpg","contentUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2017\/02\/geese-migration.jpg","width":2048,"height":949,"caption":"Geese migration licensed through Creative Commons https:\/\/commons.wikimedia.org\/wiki\/File:BrantaLeucopsisMigration.jpg"},{"@type":"BreadcrumbList","@id":"https:\/\/www.couchbase.com\/blog\/moving-from-sql-server-to-couchbase-part-1-data-modeling\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.couchbase.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Moving from SQL Server to Couchbase Part 1: Data Modeling"}]},{"@type":"WebSite","@id":"https:\/\/www.couchbase.com\/blog\/#website","url":"https:\/\/www.couchbase.com\/blog\/","name":"\uce74\uc6b0\uce58\ubca0\uc774\uc2a4 \ube14\ub85c\uadf8","description":"NoSQL \ub370\uc774\ud130\ubca0\uc774\uc2a4, Couchbase","publisher":{"@id":"https:\/\/www.couchbase.com\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.couchbase.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"ko-KR"},{"@type":"Organization","@id":"https:\/\/www.couchbase.com\/blog\/#organization","name":"\uce74\uc6b0\uce58\ubca0\uc774\uc2a4 \ube14\ub85c\uadf8","url":"https:\/\/www.couchbase.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"ko-KR","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2023\/04\/admin-logo.png","contentUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2023\/04\/admin-logo.png","width":218,"height":34,"caption":"The Couchbase Blog"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/3929663e372020321b0152dc4fa65a58","name":"\ub9e4\ud29c \uadf8\ub85c\ube0c\uc2a4","image":{"@type":"ImageObject","inLanguage":"ko-KR","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/image\/ba51e6aacc53995c323a634e4502ef54","url":"https:\/\/secure.gravatar.com\/avatar\/70feb1b28a099ad0112b8d21fe1e81e1a4524beed3e20b7f107d5370e85a07ab?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/70feb1b28a099ad0112b8d21fe1e81e1a4524beed3e20b7f107d5370e85a07ab?s=96&d=mm&r=g","caption":"Matthew Groves"},"description":"Matthew D. Groves\ub294 \ucf54\ub529\uc744 \uc88b\uc544\ud558\ub294 \uc0ac\ub78c\uc785\ub2c8\ub2e4. C#, jQuery, PHP \ub4f1 \ubb34\uc5c7\uc774\ub4e0 \ud480 \ub9ac\ud018\uc2a4\ud2b8\ub97c \uc81c\ucd9c\ud560 \uc815\ub3c4\ub85c \ucf54\ub529\uc744 \uc88b\uc544\ud569\ub2c8\ub2e4. 90\ub144\ub300\uc5d0 \ubd80\ubaa8\ub2d8\uc758 \ud53c\uc790 \uac00\uac8c\ub97c \uc704\ud574 QuickBASIC POS \uc571\uc744 \ub9cc\ub4e0 \uc774\ud6c4\ub85c \uc804\ubb38\uc801\uc73c\ub85c \ucf54\ub529\uc744 \ud574\uc654\uc2b5\ub2c8\ub2e4. \ud604\uc7ac Couchbase\uc758 \uc120\uc784 \uc81c\ud488 \ub9c8\ucf00\ud305 \uad00\ub9ac\uc790\ub85c \uc77c\ud558\uace0 \uc788\uc2b5\ub2c8\ub2e4. \uc5ec\uac00 \uc2dc\uac04\uc5d0\ub294 \uac00\uc871\uacfc \ud568\uaed8 \ucd95\uad6c \uacbd\uae30\ub97c \uad00\ub78c\ud558\uace0 \uac1c\ubc1c\uc790 \ucee4\ubba4\ub2c8\ud2f0\uc5d0 \ucc38\uc5ec\ud558\uba70 \uc2dc\uac04\uc744 \ubcf4\ub0c5\ub2c8\ub2e4. \uadf8\ub294 .NET\uc758 AOP, .NET\uc758 \ud504\ub85c \ub9c8\uc774\ud06c\ub85c\uc11c\ube44\uc2a4, Pluralsight \uc800\uc790, Microsoft MVP\uc758 \uc800\uc790\uc774\uae30\ub3c4 \ud569\ub2c8\ub2e4.","sameAs":["https:\/\/crosscuttingconcerns.com","https:\/\/x.com\/mgroves"],"url":"https:\/\/www.couchbase.com\/blog\/ko\/author\/matthew-groves\/"}]}},"authors":[{"term_id":8937,"user_id":71,"is_guest":0,"slug":"matthew-groves","display_name":"Matthew Groves","avatar_url":"https:\/\/secure.gravatar.com\/avatar\/70feb1b28a099ad0112b8d21fe1e81e1a4524beed3e20b7f107d5370e85a07ab?s=96&d=mm&r=g","author_category":"","last_name":"Groves","first_name":"Matthew","job_title":"","user_url":"https:\/\/crosscuttingconcerns.com","description":"Matthew D. Groves\ub294 \ucf54\ub529\uc744 \uc88b\uc544\ud558\ub294 \uc0ac\ub78c\uc785\ub2c8\ub2e4.  C#, jQuery, PHP \ub4f1 \ubb34\uc5c7\uc774\ub4e0 \ud480 \ub9ac\ud018\uc2a4\ud2b8\ub97c \uc81c\ucd9c\ud560 \uc815\ub3c4\ub85c \ucf54\ub529\uc744 \uc88b\uc544\ud569\ub2c8\ub2e4.  90\ub144\ub300\uc5d0 \ubd80\ubaa8\ub2d8\uc758 \ud53c\uc790 \uac00\uac8c\ub97c \uc704\ud574 QuickBASIC POS \uc571\uc744 \ub9cc\ub4e0 \uc774\ud6c4\ub85c \uc804\ubb38\uc801\uc73c\ub85c \ucf54\ub529\uc744 \ud574\uc654\uc2b5\ub2c8\ub2e4.  \ud604\uc7ac Couchbase\uc758 \uc120\uc784 \uc81c\ud488 \ub9c8\ucf00\ud305 \uad00\ub9ac\uc790\ub85c \uc77c\ud558\uace0 \uc788\uc2b5\ub2c8\ub2e4. \uc5ec\uac00 \uc2dc\uac04\uc5d0\ub294 \uac00\uc871\uacfc \ud568\uaed8 \ucd95\uad6c \uacbd\uae30\ub97c \uad00\ub78c\ud558\uace0 \uac1c\ubc1c\uc790 \ucee4\ubba4\ub2c8\ud2f0\uc5d0 \ucc38\uc5ec\ud558\uba70 \uc2dc\uac04\uc744 \ubcf4\ub0c5\ub2c8\ub2e4.  \uadf8\ub294 .NET\uc758 AOP, .NET\uc758 \ud504\ub85c \ub9c8\uc774\ud06c\ub85c\uc11c\ube44\uc2a4, Pluralsight \uc800\uc790, Microsoft MVP\uc758 \uc800\uc790\uc774\uae30\ub3c4 \ud569\ub2c8\ub2e4."}],"_links":{"self":[{"href":"https:\/\/www.couchbase.com\/blog\/ko\/wp-json\/wp\/v2\/posts\/2521","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.couchbase.com\/blog\/ko\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.couchbase.com\/blog\/ko\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/ko\/wp-json\/wp\/v2\/users\/71"}],"replies":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/ko\/wp-json\/wp\/v2\/comments?post=2521"}],"version-history":[{"count":0,"href":"https:\/\/www.couchbase.com\/blog\/ko\/wp-json\/wp\/v2\/posts\/2521\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/ko\/wp-json\/wp\/v2\/media\/2574"}],"wp:attachment":[{"href":"https:\/\/www.couchbase.com\/blog\/ko\/wp-json\/wp\/v2\/media?parent=2521"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/ko\/wp-json\/wp\/v2\/categories?post=2521"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/ko\/wp-json\/wp\/v2\/tags?post=2521"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/ko\/wp-json\/wp\/v2\/ppma_author?post=2521"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}