{"id":2572,"date":"2017-02-14T07:50:41","date_gmt":"2017-02-14T15:50:41","guid":{"rendered":"https:\/\/www.couchbase.com\/blog\/?p=2572"},"modified":"2023-09-09T02:55:28","modified_gmt":"2023-09-09T09:55:28","slug":"sql-server-couchbase-data-migration","status":"publish","type":"post","link":"https:\/\/www.couchbase.com\/blog\/ko\/sql-server-couchbase-data-migration\/","title":{"rendered":"SQL Server\uc5d0\uc11c Couchbase\ub85c \uc774\ub3d9 2\ubd80: \ub370\uc774\ud130 \ub9c8\uc774\uadf8\ub808\uc774\uc158"},"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><a href=\"https:\/\/www.couchbase.com\/blog\/ko\/moving-from-sql-server-to-couchbase-part-1-data-modeling\/\">\ub370\uc774\ud130 \ubaa8\ub378\ub9c1<\/a><\/li>\n<li>\ub370\uc774\ud130 \uc790\uccb4(\uc774 \ube14\ub85c\uadf8 \uac8c\uc2dc\ubb3c)<\/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=\"_data_types_in_json_vs_sql\">JSON\uacfc SQL\uc758 \ub370\uc774\ud130 \uc720\ud615<\/h2>\n<div class=\"sectionbody\">\n<div class=\"paragraph\">\n<p>\uce74\uc6b0\uce58\ubca0\uc774\uc2a4(\ubc0f \uae30\ud0c0 \uc5ec\ub7ec \ubb38\uc11c \ub370\uc774\ud130\ubca0\uc774\uc2a4)\ub294 \ub370\uc774\ud130\uc5d0 JSON \uac1d\uccb4\ub97c \uc0ac\uc6a9\ud569\ub2c8\ub2e4. JSON\uc740 \uc0ac\ub78c\uc774 \uc77d\uc744 \uc218 \uc788\ub294 \uac15\ub825\ud55c \ub370\uc774\ud130 \uc800\uc7a5 \ud615\uc2dd\uc785\ub2c8\ub2e4. \uad00\uacc4\ud615 \ud14c\uc774\ube14\uc758 \ub370\uc774\ud130 \uc720\ud615\uacfc \ube44\uad50\ud560 \ub54c \uba87 \uac00\uc9c0 \uc720\uc0ac\uc810\ub3c4 \uc788\uace0 \uba87 \uac00\uc9c0 \uc911\uc694\ud55c \ucc28\uc774\uc810\ub3c4 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>\ubaa8\ub4e0 JSON \ub370\uc774\ud130\ub294 \ubb38\uc790\uc5f4, \uc22b\uc790, \ubd80\uc6b8, \ubc30\uc5f4, \uac1d\uccb4, null\uc758 6\uac00\uc9c0 \uc720\ud615\uc73c\ub85c \uad6c\uc131\ub429\ub2c8\ub2e4. \ub9ce\uc740 <a href=\"https:\/\/msdn.microsoft.com\/en-us\/library\/ms187752(v=sql.110).aspx\">SQL Server\uc5d0\uc11c \uc0ac\uc6a9 \uac00\ub2a5\ud55c \ub370\uc774\ud130 \uc720\ud615<\/a>. \uc77c\uc885\uc758 '\ubb38\uc790 \uadf8\ub300\ub85c' \ubc88\uc5ed\ub41c \ud45c\ubd80\ud130 \uc2dc\uc791\ud558\uc5ec \uac70\uae30\uc11c\ubd80\ud130 \uc791\uc5c5\ud574 \ubcf4\uaca0\uc2b5\ub2c8\ub2e4.<\/p>\n<\/div>\n<table class=\"tableblock frame-all grid-all spread\">\n<colgroup>\n<col style=\"width: 50%\" \/>\n<col style=\"width: 50%\" \/> <\/colgroup>\n<thead>\n<tr>\n<th class=\"tableblock halign-left valign-top\">SQL Server<\/th>\n<th class=\"tableblock halign-left valign-top\">JSON<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td class=\"tableblock halign-left valign-top\">\n<p class=\"tableblock\">nvarchar, varchar, text<\/p>\n<\/td>\n<td class=\"tableblock halign-left valign-top\">\n<p class=\"tableblock\">\ubb38\uc790\uc5f4<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\">\n<p class=\"tableblock\">int, float, 10\uc9c4\uc218, double<\/p>\n<\/td>\n<td class=\"tableblock halign-left valign-top\">\n<p class=\"tableblock\">\uc22b\uc790<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\">\n<p class=\"tableblock\">bit<\/p>\n<\/td>\n<td class=\"tableblock halign-left valign-top\">\n<p class=\"tableblock\">\ubd80\uc6b8<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\">\n<p class=\"tableblock\">null<\/p>\n<\/td>\n<td class=\"tableblock halign-left valign-top\">\n<p class=\"tableblock\">null<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\">\n<p class=\"tableblock\">XML\/\uacc4\uce35ID \ud544\ub4dc<\/p>\n<\/td>\n<td class=\"tableblock halign-left valign-top\">\n<p class=\"tableblock\">\ubc30\uc5f4\/\uac1d\uccb4<\/p>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<div class=\"paragraph\">\n<p>JSON\uc758 \uc791\ub3d9 \ubc29\uc2dd\uc744 \uc774\ud574\ud558\ub294 \uac83\uc774 \uc911\uc694\ud569\ub2c8\ub2e4. JSON \ub370\uc774\ud130 \uc720\ud615\uacfc SQL Server \ub370\uc774\ud130 \uc720\ud615 \uac04\uc758 \uba87 \uac00\uc9c0 \uac1c\ub7b5\uc801\uc778 \ucc28\uc774\uc810\uc744 \ub098\uc5f4\ud574 \ubcf4\uc558\uc2b5\ub2c8\ub2e4. SQL \ub370\uc774\ud130 \uc720\ud615\uc744 \uc774\ubbf8 \uc774\ud574\ud558\uace0 \uc788\ub2e4\uace0 \uac00\uc815\ud560 \ub54c, \ub2e4\uc74c\uc744 \uc218\ud589\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. <a href=\"https:\/\/json.org\/\">JSON \ubc0f JSON \ub370\uc774\ud130 \uc720\ud615\uc5d0 \ub300\ud574 \uc790\uc138\ud788 \uc54c\uc544\ubcf4\uc138\uc694.<\/a>.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>A <strong>\ubb38\uc790\uc5f4<\/strong> \ub294 \uc885\uc885 \uae38\uc774\ub85c \uc815\uc758\ub429\ub2c8\ub2e4. <em>nvarchar(50)<\/em> \ub610\ub294 <em>nvarchar(MAX)<\/em> \ub97c \uc608\ub85c \ub4e4 \uc218 \uc788\uc2b5\ub2c8\ub2e4. JSON\uc5d0\uc11c\ub294 \uae38\uc774\ub97c \uc815\uc758\ud560 \ud544\uc694\uac00 \uc5c6\uc2b5\ub2c8\ub2e4. \uadf8\ub0e5 \ubb38\uc790\uc5f4\uc744 \uc0ac\uc6a9\ud558\uba74 \ub429\ub2c8\ub2e4.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>A <strong>\uc22b\uc790<\/strong> \ub294 \uc0ac\uc6a9 \ubaa9\uc801\uc5d0 \ub530\ub77c \ud06c\uac8c \ub2ec\ub77c\uc9d1\ub2c8\ub2e4. SQL Server\uc758 <strong>\uc22b\uc790<\/strong> \uc720\ud615\uc740 \uc815\uc218, \uc2ed\uc9c4\uc218 \ub610\ub294 \ubd80\ub3d9 \uc18c\uc218\uc810\uc744 \uc800\uc7a5\ud560 \uc218 \uc788\ub2e4\ub294 \uc810\uc5d0\uc11c \uc720\uc5f0\ud569\ub2c8\ub2e4. \ud2b9\uc815 \uc815\ubc00\ub3c4\uac00 \ud544\uc694\ud558\uac70\ub098 \ub9e4\uc6b0 \ud070 \uc22b\uc790\ub97c \uc800\uc7a5\ud574\uc57c \ud558\ub294 \uacbd\uc6b0\uc640 \uac19\uc774 \ud2b9\uc218\ud55c \uc0c1\ud669\uc5d0\uc11c\ub294 \uc22b\uc790\ub97c \ubb38\uc790\uc5f4\ub85c \uc800\uc7a5\ud558\ub294 \uac83\uc774 \uc88b\uc2b5\ub2c8\ub2e4.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>A <strong>\ubd80\uc6b8<\/strong> \ub294 \ucc38\/\uac70\uc9d3\uc785\ub2c8\ub2e4. SQL Server\uc5d0\uc11c\ub294 \ucc38\/\uac70\uc9d3\uc744 \ub098\ud0c0\ub0b4\ub294 \ube44\ud2b8\uc640 \uac70\uc758 \ub3d9\uc77c\ud569\ub2c8\ub2e4.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>JSON\uc5d0\uc11c \ubaa8\ub4e0 \uac12\uc740 \ub2e4\uc74c\uacfc \uac19\uc744 \uc218 \uc788\uc2b5\ub2c8\ub2e4. <strong>null<\/strong>. SQL Server\uc5d0\uc11c\ub294 \ud544\ub4dc \ub2e8\uc704\ub85c \uc124\uc815\ud569\ub2c8\ub2e4. SQL Server\uc758 \ud544\ub4dc\uac00 \"nullable\"\ub85c \uc124\uc815\ub418\uc9c0 \uc54a\uc740 \uacbd\uc6b0 \ud574\ub2f9 \ud544\ub4dc\uac00 \uac15\uc81c \uc801\uc6a9\ub429\ub2c8\ub2e4. JSON \ubb38\uc11c\uc5d0\uc11c\ub294 \uc774\ub7ec\ud55c \uac15\uc81c \uc801\uc6a9\uc774 \uc5c6\uc2b5\ub2c8\ub2e4.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>JSON\uc5d0\ub294 <strong>\ub0a0\uc9dc<\/strong> \ub370\uc774\ud130 \uc720\ud615\uc785\ub2c8\ub2e4. \ub0a0\uc9dc\ub294 \ubcf4\ud1b5 UNIX \ud0c0\uc784\uc2a4\ud0ec\ud504\ub85c \uc800\uc7a5\ub418\uc9c0\ub9cc \ub0a0\uc9dc\uc5d0 \ubb38\uc790\uc5f4 \ud45c\ud604\uc774\ub098 \ub2e4\ub978 \ud615\uc2dd\uc744 \uc0ac\uc6a9\ud560 \uc218\ub3c4 \uc788\uc2b5\ub2c8\ub2e4. <a href=\"https:\/\/developer.couchbase.com\/documentation\/server\/current\/n1ql\/n1ql-language-reference\/datefun.html\">N1QL \ucffc\ub9ac \uc5b8\uc5b4\uc5d0\ub294 \ub2e4\uc591\ud55c \ub0a0\uc9dc \ud568\uc218\ub97c \uc0ac\uc6a9\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/a>\ub97c \uc0ac\uc6a9\ud560 \uc218 \uc788\uc73c\ubbc0\ub85c \ub0a0\uc9dc\uc5d0 N1QL\uc744 \uc0ac\uc6a9\ud558\ub824\ub294 \uacbd\uc6b0 \ud574\ub2f9 \uae30\ub2a5\uc744 \uc0ac\uc6a9\ud558\uc5ec \ub0a0\uc9dc \uc800\uc7a5\uc18c\ub97c \uc801\uc808\ud788 \uacc4\ud68d\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>SQL Server\uc5d0\ub294 <strong>\uc9c0\ub9ac<\/strong> \ub370\uc774\ud130 \uc720\ud615\uc785\ub2c8\ub2e4. \uce74\uc6b0\uce58\ubca0\uc774\uc2a4\uc5d0\uc11c, <a href=\"https:\/\/developer.couchbase.com\/documentation\/server\/4.1\/views\/sv-example1.html\">GeoJSON \ud615\uc2dd\uc774 \uc9c0\uc6d0\ub429\ub2c8\ub2e4.<\/a>.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>SQL Server\uc5d0\ub294 hierarchyid, xml \ub4f1 \uba87 \uac00\uc9c0 \ub2e4\ub978 \ud2b9\uc218 \ub370\uc774\ud130 \uc720\ud615\uc774 \uc788\uc2b5\ub2c8\ub2e4. \uc77c\ubc18\uc801\uc73c\ub85c \uc774\ub7ec\ud55c \ub370\uc774\ud130 \uc720\ud615\uc740 JSON \uac1d\uccb4\uc5d0\uc11c \uc5b8\ub864\ub9c1\ub418\uac70\ub098 \ud0a4\ub85c \ucc38\uc870\ub429\ub2c8\ub2e4( <a href=\"https:\/\/www.couchbase.com\/blog\/ko\/moving-from-sql-server-to-couchbase-part-1-data-modeling\/\">\ub370\uc774\ud130 \ubaa8\ub378\ub9c1\uc5d0 \ub300\ud55c \uc774 \ube14\ub85c\uadf8 \uc2dc\ub9ac\uc988\uc758 1\ubd80<\/a>). \uc6d0\ud558\ub294 \uacbd\uc6b0 \uc5ec\uc804\ud788 \ubb38\uc790\uc5f4 \ub0b4\uc5d0 XML\/JSON\uc744 \uc800\uc7a5\ud560 \uc218 \uc788\uc9c0\ub9cc, \uadf8\ub807\uac8c \ud558\uba74 \ud574\ub2f9 \ud544\ub4dc\uc5d0\uc11c N1QL\uc758 \ubaa8\ub4e0 \uae30\ub2a5\uc744 \uc0ac\uc6a9\ud560 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4.<\/p>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"sect1\">\n<h2 id=\"_migrating_and_translating_data\">\ub370\uc774\ud130 \ub9c8\uc774\uadf8\ub808\uc774\uc158 \ubc0f \ubc88\uc5ed<\/h2>\n<div class=\"sectionbody\">\n<div class=\"paragraph\">\n<p>\uc870\uc9c1\uacfc \ud300\uc5d0 \ub530\ub77c \uc131\uacf5\uc801\uc778 \ub9c8\uc774\uadf8\ub808\uc774\uc158\uc744 \uc704\ud574 \uc5ec\ub7ec \uc5ed\ud560\uc758 \uc0ac\ub78c\ub4e4\uc744 \ub370\ub824\uc640\uc57c \ud560 \uc218\ub3c4 \uc788\uc2b5\ub2c8\ub2e4. DBA\uac00 \uc788\ub294 \uacbd\uc6b0, \uadf8 DBA\ub294 SQL Server\uc640 \ub9c8\ucc2c\uac00\uc9c0\ub85c Couchbase\ub97c \uc2e4\ud589\ud558\uace0 \uad00\ub9ac\ud558\ub294 \ubc29\ubc95\uc744 \uc54c\uace0 \uc788\uc5b4\uc57c \ud569\ub2c8\ub2e4. \uac1c\ubc1c\uc790 \ub610\ub294 \uac1c\ubc1c\uc790 \ud300\uc774 \uc788\ub294 \uacbd\uc6b0, \uac1c\ubc1c\uc790 \ud300\uc744 \ucd08\uae30 \ub2e8\uacc4\ubd80\ud130 \ucc38\uc5ec\uc2dc\ucf1c \uc9c4\ud589 \uc911\uc778 \uc791\uc5c5\uc744 \ud30c\uc545\ud558\uace0 \uc870\uc728\ud558\ub294 \ub370 \ub3c4\uc6c0\uc744 \uc904 \uc218 \uc788\ub3c4\ub85d \ud558\ub294 \uac83\uc774 \uc911\uc694\ud569\ub2c8\ub2e4. \ubb38\uc11c \ub370\uc774\ud130\ubca0\uc774\uc2a4\ub85c \uc774\ub3d9 <strong>\ud558\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4<\/strong> \ub294 \ub354 \uc774\uc0c1 DBA\ub098 \uc6b4\uc601\ud300 \ub610\ub294 DevOps\uac00 \uad00\uc5ec\ud560 \ud544\uc694\uac00 \uc5c6\ub2e4\ub294 \uac83\uc744 \uc758\ubbf8\ud569\ub2c8\ub2e4. \uac00\ub2a5\ud558\uba74 \uc774\ub7ec\ud55c \uc5ed\ud560\ub3c4 \ub370\uc774\ud130 \ubaa8\ub378\ub9c1\uc744 \uc218\ud589\ud560 \ub54c \ucc38\uc5ec\ud558\uc5ec \uc758\uacac\uc744 \uc81c\uacf5\ud558\uace0 \uc9c4\ud589 \uc0c1\ud669\uc744 \uc774\ud574\ud560 \uc218 \uc788\ub3c4\ub85d \ud574\uc57c \ud569\ub2c8\ub2e4.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>\ub2e4\uc74c\uc744 \uc0ac\uc6a9\ud558\uc5ec \ubaa8\ub378\uc744 \ub514\uc790\uc778\ud55c \ud6c4 <a href=\"https:\/\/www.couchbase.com\/blog\/ko\/moving-from-sql-server-to-couchbase-part-1-data-modeling\/\">1\ubd80 \ub370\uc774\ud130 \ubaa8\ub378\ub9c1<\/a>\ub97c \ud074\ub9ad\ud558\uba74 Couchbase\ub85c \ub370\uc774\ud130 \uc774\uc804\uc744 \uc2dc\uc791\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>\ub2e8\uc21c\ud55c \ub9c8\uc774\uadf8\ub808\uc774\uc158(1\ud589\uc5d0\uc11c 1\ubb38\uc11c\ub85c)\uc758 \uacbd\uc6b0, \uad00\uacc4\ud615 \ub370\uc774\ud130\ubca0\uc774\uc2a4\uc758 \ud14c\uc774\ube14, \uc5f4, \uac12\uc744 \ubc18\ubcf5\ud558\uc5ec \ud574\ub2f9 \ubb38\uc11c\ub97c \ucd9c\ub825\ud558\ub294 \ub9e4\uc6b0 \uac04\ub2e8\ud55c \ud504\ub85c\uadf8\ub7a8\uc744 \uc791\uc131\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \ub2e4\uc74c\uacfc \uac19\uc740 \ub3c4\uad6c\ub97c \uc0ac\uc6a9\ud558\uba74 \ub429\ub2c8\ub2e4. <a href=\"https:\/\/github.com\/StackExchange\/dapper-dot-net\">Dapper<\/a> \ub294 C# \ub0b4\uc758 \ubaa8\ub4e0 \ub370\uc774\ud130 \uc720\ud615 \ubcc0\ud658\uc744 \ucc98\ub9ac\ud558\uc5ec <a href=\"https:\/\/developer.couchbase.com\/documentation\/server\/current\/sdk\/dotnet\/start-using-sdk.html?utm_source=blogs&amp;utm_medium=link&amp;utm_campaign=blogs\">\uce74\uc6b0\uce58\ubca0\uc774\uc2a4 .NET SDK<\/a>.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>\uadf8\ub7ec\ub098 \uc644\uc804\ud788 \ud3c9\ud3c9\ud55c \ub370\uc774\ud130\ub294 \ube44\uad50\uc801 \ub4dc\ubb3c\uae30 \ub54c\ubb38\uc5d0 \ub354 \ubcf5\uc7a1\ud55c \ubaa8\ub378\uc758 \uacbd\uc6b0 \uc774\uc804 \uad00\uacc4\ud615 \ubaa8\ub378\uc5d0\uc11c \uc0c8 \ubb38\uc11c \ubaa8\ub378\ub85c \ub9c8\uc774\uadf8\ub808\uc774\uc158\ud558\ub294 \ucf54\ub4dc\ub97c \uc791\uc131\ud574\uc57c \ud560 \uc218\ub3c4 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>\ub2e4\uc74c\uc740 \ub9c8\uc774\uadf8\ub808\uc774\uc158 \ucf54\ub4dc(\ubaa8\ub4e0 \uc885\ub958, \ud2b9\ud788 \uad00\uacc4\ud615\uc5d0\uc11c \ube44\uad00\uacc4\ud615\uc73c\ub85c)\ub97c \uc791\uc131\ud560 \ub54c \uc5fc\ub450\uc5d0 \ub450\uc5b4\uc57c \ud560 \uba87 \uac00\uc9c0 \uc0ac\ud56d\uc785\ub2c8\ub2e4:<\/p>\n<\/div>\n<div class=\"ulist\">\n<ul>\n<li><strong>\uacc4\ud68d\uc5d0 \ucda9\ubd84\ud55c \uc2dc\uac04\uc744 \ud560\uc560\ud558\uc138\uc694.<\/strong> \ub9c8\uc774\uadf8\ub808\uc774\uc158\ud558\ub294 \ub3d9\uc548 \ubaa8\ub378\uc744 \ub2e4\uc2dc \uc0dd\uac01\ud574\uc57c \ud560 \uc218\ub3c4 \uc788\uc2b5\ub2c8\ub2e4. \ud14c\uc2a4\ud2b8\ud558\uace0 \uc870\uc815\ud574\uc57c \ud558\ubbc0\ub85c \uc11c\ub450\ub974\ub2e4\uac00 \uc2e4\uc218\ud558\ub294 \uac83\ubcf4\ub2e4 \uc5ec\uc720\ub97c \uac00\uc9c0\uace0 \ud558\ub294 \uac83\uc774 \uc88b\uc2b5\ub2c8\ub2e4. \ub370\uc774\ud130 \ub9c8\uc774\uadf8\ub808\uc774\uc158\uc740 \ud14c\uc774\ube14\uc744 \ub9c8\uc774\uadf8\ub808\uc774\uc158\ud558\uace0, \uc791\ub3d9\ud558\ub294\uc9c0 \ud655\uc778\ud558\uace0, \uc870\uc815\ud558\uace0, \uacc4\uc18d \ubc18\ubcf5\ud558\ub294 \ubc18\ubcf5\uc801\uc778 \uc0ac\uc774\ud074\uc785\ub2c8\ub2e4. \uc774 \uc8fc\uae30\ub97c \uc5ec\ub7ec \ubc88 \ubc18\ubcf5\ud574\uc57c \ud560 \uc218\ub3c4 \uc788\uc2b5\ub2c8\ub2e4.<\/li>\n<li><strong>\uc2e4\uc81c \ub370\uc774\ud130\ub97c \uc0ac\uc6a9\ud558\uc5ec \ub9c8\uc774\uadf8\ub808\uc774\uc158\uc744 \ud14c\uc2a4\ud2b8\ud558\uc138\uc694.<\/strong> \ub370\uc774\ud130\ub294 \ub180\ub77c\uc6c0\uc73c\ub85c \uac00\ub4dd\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. NVARCHAR \ud544\ub4dc\uc5d0\ub294 \uc22b\uc790\uc758 \ubb38\uc790\uc5f4 \ud45c\ud604\ub9cc \ud3ec\ud568\ub41c\ub2e4\uace0 \uc0dd\uac01\ud560 \uc218 \uc788\uc9c0\ub9cc, \ub2e8\uc5b4\uac00 \ud3ec\ud568\ub41c \ube44\uc815\uc0c1\uc801\uc778 \ud589\uc774 \uc788\uc744 \uc218\ub3c4 \uc788\uc2b5\ub2c8\ub2e4. \uc2e4\uc81c \ub370\uc774\ud130\uc758 \ubcf5\uc0ac\ubcf8\uc744 \uc0ac\uc6a9\ud558\uc5ec \ub9c8\uc774\uadf8\ub808\uc774\uc158\uc744 \ud14c\uc2a4\ud2b8\ud558\uace0 \uac80\uc99d\ud558\uc138\uc694.<\/li>\n<li><strong>\ub9c8\uc774\uadf8\ub808\uc774\uc158\uc744 \uc5ec\ub7ec \ubc88 \uc2e4\ud589\ud560 \uc900\ube44\ub97c \ud558\uc138\uc694.<\/strong> \uc2e4\ud328\ud55c \ub9c8\uc774\uadf8\ub808\uc774\uc158\uc744 \uc815\ub9ac\ud558\uace0 \ub2e4\uc2dc \uc2dc\uc791\ud560 \uacc4\ud68d\uc744 \uc138\uc6b0\uc138\uc694. \uc774\ub294 \uac04\ub2e8\ud55c <code>\ubc84\ud0b7\uc5d0\uc11c \uc0ad\uc81c<\/code> \uc744 \uc0ac\uc6a9\ud560 \uc218\ub3c4 \uc788\uace0, \uc880 \ub354 \uc138\ubd84\ud654\ub418\uace0 \ud0c0\uac9f\ud305\ub41c \uc77c\ub828\uc758 \uc815\ub9ac\uac00 \ub420 \uc218\ub3c4 \uc788\uc2b5\ub2c8\ub2e4. \ucc98\uc74c\ubd80\ud130 \uacc4\ud68d\uc744 \uc138\uc6b0\uba74 \uc774 \uc791\uc5c5\uc774 \ub354 \uc26c\uc6cc\uc9d1\ub2c8\ub2e4. \ub9c8\uc774\uadf8\ub808\uc774\uc158\uc744 \uc790\ub3d9\ud654\ud558\uba74 \uc774 \uacfc\uc815\uc774 \ub35c \uace0\ud1b5\uc2a4\ub7fd\uc2b5\ub2c8\ub2e4.<\/li>\n<li><strong>ETL \ub610\ub294 ELT?<\/strong> \ucd94\ucd9c-\ubcc0\ud658-\ub85c\ub4dc \ub610\ub294 \ucd94\ucd9c-\ub85c\ub4dc-\ubcc0\ud658. \uc5b8\uc81c \ubcc0\ud658\uc744 \ud560 \uc608\uc815\uc778\uac00\uc694? Couchbase\uc5d0 \ub370\uc774\ud130\ub97c \ub123\uc744 \ub54c, JSON\uc758 \uc720\uc5f0\uc131 \ub355\ubd84\uc5d0 \uc81c\uc790\ub9ac\uc5d0\uc11c \uc804\uc1a1\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. <em>\uc774\ud6c4<\/em> \ub85c\ub4dc \uc911\uc785\ub2c8\ub2e4.<\/li>\n<\/ul>\n<\/div>\n<div class=\"sect2\">\n<h3 id=\"_an_example_etl_migration\">ETL \ub9c8\uc774\uadf8\ub808\uc774\uc158 \uc608\uc2dc<\/h3>\n<div class=\"paragraph\">\n<p>C#, \uc5d4\ud2f0\ud2f0 \ud504\ub808\uc784\uc6cc\ud06c, Couchbase .NET SDK\ub97c \uc0ac\uc6a9\ud558\uc5ec \ub9e4\uc6b0 \uac04\ub2e8\ud55c \ub9c8\uc774\uadf8\ub808\uc774\uc158 \ucf58\uc194 \uc571\uc744 \uc791\uc131\ud588\uc2b5\ub2c8\ub2e4. \uc774 \uc571\uc740 \uc774\uc804 \ube14\ub85c\uadf8 \uac8c\uc2dc\ubb3c\uc758 \uc7a5\ubc14\uad6c\ub2c8\uc640 \uc18c\uc15c \ubbf8\ub514\uc5b4 \uc608\uc81c\ub97c \ubaa8\ub450 \ub9c8\uc774\uadf8\ub808\uc774\uc158\ud569\ub2c8\ub2e4. \uc804\uccb4 <a href=\"https:\/\/github.com\/couchbaselabs\/blog-source-code\/tree\/master\/Groves\/045MigrateFromSQLServer\/src\/SQLServerToCouchbase\">\uc18c\uc2a4 \ucf54\ub4dc\ub294 GitHub\uc5d0\uc11c \uc0ac\uc6a9\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/a>.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>\uc774 \uc571\uc740 \ubcc0\ud658\uc744 \uc218\ud589\ud560 \uc608\uc815\uc774\ubbc0\ub85c ETL \uc811\uadfc \ubc29\uc2dd\uc785\ub2c8\ub2e4. \uc774 \uc811\uadfc \ubc29\uc2dd\uc740 \uc5d4\ud2f0\ud2f0 \ud504\ub808\uc784\uc6cc\ud06c\ub97c \uc0ac\uc6a9\ud558\uc5ec \uad00\uacc4\ud615 \ud14c\uc774\ube14\uc744 C# \ud074\ub798\uc2a4\uc5d0 \ub9e4\ud551\ud55c \ub2e4\uc74c \ubb38\uc11c\uc5d0 \uc0bd\uc785\ud569\ub2c8\ub2e4. \uc774\uc804 \ube14\ub85c\uadf8 \uac8c\uc2dc\ubb3c\uc5d0\uc11c \uc124\uba85\ud55c \uac83\ucc98\ub7fc Couchbase\uc758 \ub370\uc774\ud130 \ubaa8\ub378\uc740 \uad00\uacc4\ud615 \ud14c\uc774\ube14\ubcf4\ub2e4 C# \ud074\ub798\uc2a4\ub85c \ub354 \uc798 \ud45c\ud604\ub420 \uc218 \uc788\uc73c\ubbc0\ub85c \uc774 \uc811\uadfc \ubc29\uc2dd\uc740 \ub9c8\ucc30\uc774 \uc801\uc2b5\ub2c8\ub2e4.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>C#\ub97c \uc0ac\uc6a9\ud558\uc5ec \ub9c8\uc774\uadf8\ub808\uc774\uc158 \ud504\ub85c\uadf8\ub7a8\uc744 \uc791\uc131\ud560 \uc608\uc815\uc774\uc9c0\ub9cc, \uc911\uc694\ud55c \uac83\uc740 \ud2b9\uc815 \ub3c4\uad6c\uac00 \uc544\ub2c8\ub77c \uc790\ub3d9\ud654\uc785\ub2c8\ub2e4. \ub9c8\uc774\uadf8\ub808\uc774\uc158\uc774 \uc644\ub8cc\ub41c \ud6c4\uc5d0\ub294 \uae30\ubcf8\uc801\uc73c\ub85c \"\ubc84\ub824\uc9c0\ub294\" \ucf54\ub4dc\uac00 \ub420 \uac83\uc785\ub2c8\ub2e4. C# \uc811\uadfc \ubc29\uc2dd\uc740 \uc77c\uad04 \ucc98\ub9ac\ub97c \uc218\ud589\ud558\uc9c0 \uc54a\uc73c\uba70 \ub9e4\uc6b0 \ub9ce\uc740 \uc591\uc758 \ub370\uc774\ud130\uc5d0\ub294 \uc801\ud569\ud558\uc9c0 \uc54a\uc744 \uc218 \uc788\uc73c\ubbc0\ub85c \ub2e4\uc74c\uacfc \uac19\uc740 \ub3c4\uad6c\ub97c \uc0ac\uc6a9\ud558\ub294 \uac83\uc774 \uc88b\uc2b5\ub2c8\ub2e4. <a href=\"https:\/\/developer.couchbase.com\/documentation\/server\/current\/connectors\/talend\/talend.html?utm_source=blogs&amp;utm_medium=link&amp;utm_campaign=blogs\">Talend<\/a> \ubc0f\/\ub610\ub294 \ub300\uaddc\ubaa8\/\uc5d4\ud130\ud504\ub77c\uc774\uc988 \ub370\uc774\ud130\uc5d0 \ub300\ud55c ELT \uc811\uadfc \ubc29\uc2dd\uc785\ub2c8\ub2e4.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>\ub098\ub294 <code>\uc1fc\ud551 \uce74\ud2b8 \ub9c8\uc774\uadf8\ub808\uc774\ud130<\/code> \ud074\ub798\uc2a4\uc640 <code>\uc18c\uc15c \ubbf8\ub514\uc5b4 \ub9c8\uc774\uadf8\ub808\uc774\ud130<\/code> \ud074\ub798\uc2a4\uc785\ub2c8\ub2e4. \uc774 \uae00\uc5d0\uc11c\ub294 \uc7a5\ubc14\uad6c\ub2c8\ub9cc \ub2e4\ub8e8\uaca0\uc2b5\ub2c8\ub2e4. \uce74\uc6b0\uce58\ubca0\uc774\uc2a4 <code>\ubc84\ud0b7<\/code> \ubc0f \uc5d4\ud2f0\ud2f0 \ud504\ub808\uc784\uc6cc\ud06c <code>\ucee8\ud14d\uc2a4\ud2b8<\/code> \ub97c \uc0ac\uc6a9\ud558\ub294 \uac83\uc774 \uc88b\uc2b5\ub2c8\ub2e4. (\ub300\uc2e0 NHibernate <code>\uc138\uc158<\/code> \ub610\ub294 \uc77c\ubc18 <code>DbConnection<\/code> \uc5ec\uae30\ub97c \ud074\ub9ad\ud558\uc138\uc694).<\/p>\n<\/div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight decode:true\"><code class=\"language-C#\">public class ShoppingCartMigrator\r\n{\r\n    readonly IBucket _bucket;\r\n    readonly SqlToCbContext _context;\r\n\r\n    public ShoppingCartMigrator(IBucket bucket, SqlToCbContext context)\r\n    {\r\n        _bucket = bucket;\r\n        _context = context;\r\n    }\r\n}<\/code><\/pre>\n<\/div>\n<\/div>\n<div class=\"paragraph\">\n<p>\uc774\ub7ec\ud55c \uac1d\uccb4\ub97c \uc81c\uc790\ub9ac\uc5d0 \ubc30\uce58\ud55c \ud6c4 <code>\uc774\ub3d9<\/code> \uba54\uc11c\ub4dc\ub97c \uc0ac\uc6a9\ud558\uc5ec \ub9c8\uc774\uadf8\ub808\uc774\uc158\uc744 \uc218\ud589\ud558\uace0 <code>\uc815\ub9ac<\/code> \uba54\uc11c\ub4dc\ub97c \uc0ac\uc6a9\ud558\uc5ec \ub9c8\uc774\uadf8\ub808\uc774\uc158\uc5d0\uc11c \uc0dd\uc131\ub41c \ubaa8\ub4e0 \ubb38\uc11c\ub97c \uc0ad\uc81c\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>\uc758 \uacbd\uc6b0 <code>\uc774\ub3d9<\/code> \uba54\uc11c\ub4dc\ub97c \uc0ac\uc6a9\ud558\uc5ec \uc5d4\ud2f0\ud2f0 \ud504\ub808\uc784\uc6cc\ud06c\uac00 \uc870\uc778 \uc791\uc5c5\uc744 \uc218\ud589\ud558\uace0 \ubaa8\ub4e0 \uc1fc\ud551 \uce74\ud2b8\ub97c \ubc18\ubcf5\ud558\ub3c4\ub85d \ud588\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 bool Go()\r\n{\r\n    var carts = _context.ShoppingCarts\r\n        .Include(x =&gt; x.Items)\r\n        .ToList();\r\n    foreach (var cart in carts)\r\n    {\r\n        var cartDocument = new Document&lt;dynamic&gt;\r\n        {\r\n            Id = cart.Id.ToString(),\r\n            Content = MapCart(cart)\r\n        };\r\n        var result = _bucket.Insert(cartDocument);\r\n        if (!result.Success)\r\n        {\r\n            Console.WriteLine($\"There was an error migrating Shopping Cart {cart.Id}\");\r\n            return false;\r\n        }\r\n        Console.WriteLine($\"Successfully migrated Shopping Cart {cart.Id}\");\r\n    }\r\n    return true;\r\n}<\/code><\/pre>\n<\/div>\n<\/div>\n<div class=\"paragraph\">\n<p>\uc624\ub958\uac00 \ud558\ub098\ub77c\ub3c4 \ubc1c\uc0dd\ud558\uba74 \ub9c8\uc774\uadf8\ub808\uc774\uc158\uc744 \uc911\ub2e8\ud558\ub3c4\ub85d \uc120\ud0dd\ud588\uc2b5\ub2c8\ub2e4. \uadf8\ub807\uac8c \ud558\uace0 \uc2f6\uc9c0 \uc54a\uc744 \uc218\ub3c4 \uc788\uc2b5\ub2c8\ub2e4. \ub300\uc2e0 \ud30c\uc77c\uc5d0 \ub85c\uadf8\uc778\ud558\uc5ec \uc624\ub958\ub97c \uc77c\uc73c\ud0a4\ub294 \ubaa8\ub4e0 \ub808\ucf54\ub4dc\ub97c \ud55c \ubc88\uc5d0 \ud574\uacb0\ud558\uace0 \uc2f6\uc744 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>\uc815\ub9ac\ub97c \uc704\ud574 '\uc1fc\ud551\uce74\ud2b8' \uc720\ud615\uc774 \uc788\ub294 \ubaa8\ub4e0 \ubb38\uc11c\ub97c \uc0ad\uc81c\ud558\uae30\ub85c \uc120\ud0dd\ud588\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 void Cleanup()\r\n{\r\n    Console.WriteLine(\"Delete all shopping carts...\");\r\n    var result = _bucket.Query&lt;dynamic&gt;(\"DELETE FROM `sqltocb` WHERE type='ShoppingCart';\");\r\n    if (!result.Success)\r\n    {\r\n        Console.WriteLine($\"{result.Exception?.Message}\");\r\n        Console.WriteLine($\"{result.Message}\");\r\n    }\r\n}<\/code><\/pre>\n<\/div>\n<\/div>\n<div class=\"paragraph\">\n<p>\uac00\uc7a5 \uac04\ub2e8\ud55c \ubc29\ubc95\uc785\ub2c8\ub2e4. \ub354 \ubcf5\uc7a1\ud55c \uc811\uadfc \ubc29\uc2dd\uc740 \ud2b9\uc815 \ubb38\uc11c\uc5d0 \uc784\uc2dc '\uc9c0\ubb38' \ub9c8\ucee4 \ud544\ub4dc\ub97c \uc124\uc815\ud55c \ub2e4\uc74c \uc815\ub9ac\ud560 \ub54c \ud2b9\uc815 \uc9c0\ubb38\uc774 \uc788\ub294 \ubb38\uc11c\ub97c \uc0ad\uc81c\ud558\ub294 \uac83\uc785\ub2c8\ub2e4. (\uc608 <code>DELETE FROM sqltocb WHERE fingerprint = '999cfbc3-186e-4219-ab5d-18ad130a9dc6'<\/code>). \ub610\ub294 \uadf8 \ubc18\ub300: \ub098\uc911\uc5d0 \ubd84\uc11d\ud560 \uc218 \uc788\ub3c4\ub85d \ubb38\uc81c\uac00 \uc788\ub294 \ub370\uc774\ud130\ub97c \ud551\uac70\ud504\ub9b0\ud305\ud558\uace0 \ub098\uba38\uc9c0\ub294 \uc0ad\uc81c\ud558\uc138\uc694. \ub9c8\uc774\uadf8\ub808\uc774\uc158\uc774 \uc131\uacf5\uc801\uc73c\ub85c \uc644\ub8cc\ub418\uba74 \uc774\ub7ec\ud55c \uc784\uc2dc \ud544\ub4dc\ub97c \ubc18\ub4dc\uc2dc \uc815\ub9ac\ud558\uc138\uc694.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>\uc774 \uc791\uc5c5\uc744 \uc9c1\uc811 \uc2dc\ub3c4\ud560 \ub54c\ub294 \uc815\ub9ac \uc791\uc5c5\uc744 \ud655\uc778\ud558\uae30 \uc704\ud574 \ucf58\uc194 \uc560\ud50c\ub9ac\ucf00\uc774\uc158\uc744 \ub450 \ubc88 \uc2e4\ud589\ud558\ub294 \uac83\uc774 \uc88b\uc2b5\ub2c8\ub2e4. \ub450 \ubc88\uc9f8 \uc2dc\ub3c4\uc5d0\uc11c\ub294 \uc911\ubcf5 \ud0a4\uac00 \uc788\ub294 \ubb38\uc11c\ub97c \ub9cc\ub4e4\ub824\uace0 \uc2dc\ub3c4\ud558\uae30 \ub54c\ubb38\uc5d0 \uc624\ub958\uac00 \ubc1c\uc0dd\ud569\ub2c8\ub2e4.<\/p>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"sect1\">\n<h2 id=\"_what_about_the_other_features_of_sql_server\">SQL Server\uc758 \ub2e4\ub978 \uae30\ub2a5\uc740 \uc5b4\ub5a4\uac00\uc694?<\/h2>\n<div class=\"sectionbody\">\n<div class=\"paragraph\">\n<p>SQL Server\uc758 \ubaa8\ub4e0 \ud56d\ubaa9\uc774 Couchbase\uc5d0 \uc9c1\uc811 \ub300\uc751\ud558\ub294 \uac83\uc740 \uc544\ub2d9\ub2c8\ub2e4. \uc5b4\ub5a4 \uacbd\uc6b0\uc5d0\ub294 \ub300\uc751\ud558\ub294 \ud56d\ubaa9\uc774 \uc544\uc608 \uc5c6\uc744 \uc218\ub3c4 \uc788\uc2b5\ub2c8\ub2e4. \uc5b4\ub5a4 \uacbd\uc6b0\uc5d0\ub294 \ub300\ub7b5\uc801\uc778 \ub300\uc751 \uae30\ub2a5\uc774 \uc788\uc744 \uac83\uc785\ub2c8\ub2e4. \uc77c\ubd80 \uae30\ub2a5\uc740 \ud5a5\ud6c4\uc5d0 \uc81c\uacf5\ub420 \uc608\uc815\uc778\ub370, Couchbase\ub294 \ube60\ub974\uac8c \uc9c4\ud589\ub418\uace0 \uc788\ub294 \ud65c\ubc1c\ud55c \uc624\ud508 \uc18c\uc2a4 \uac1c\ubc1c \uc911\uc774\uba70 \uc801\uc808\ud55c \uc2dc\uae30\uc5d0 \uc0c8\ub85c\uc6b4 \uae30\ub2a5\uc774 \ucd94\uac00\ub418\uace0 \uc788\uae30 \ub54c\ubb38\uc785\ub2c8\ub2e4.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>\ub610\ud55c \ubb38\uc11c \ub370\uc774\ud130\ubca0\uc774\uc2a4\uc640 NoSQL \ub370\uc774\ud130\ubca0\uc774\uc2a4\ub294 \uad00\uacc4\ud615 \ub370\uc774\ud130\ubca0\uc774\uc2a4\ubcf4\ub2e4 \ube44\uc988\ub2c8\uc2a4 \ub85c\uc9c1\uc744 \ub354 \ub9ce\uc774 \ub370\uc774\ud130\ubca0\uc774\uc2a4 \ubc16\uc73c\ub85c \ub0b4\ubcf4\ub0b4\ub294 \uacbd\uc6b0\uac00 \ub9ce\ub2e4\ub294 \uc810\uc744 \uba85\uc2ec\ud558\uc138\uc694. Couchbase Server\uac00 \ud0dc\uc591 \uc544\ub798 \ubaa8\ub4e0 \uae30\ub2a5\uc744 \uac16\ucd94\uace0 \uc788\ub2e4\uba74 \uc88b\uaca0\uc9c0\ub9cc, \ud56d\uc0c1 \uc7a5\ub2e8\uc810\uc774 \uc788\uc2b5\ub2c8\ub2e4. \uc77c\ubd80\ub294 \ubcf8\uc9c8\uc801\uc73c\ub85c \uae30\uc220\uc801\uc778 \ubb38\uc81c\uc774\uace0 \uc77c\ubd80\ub294 \uc81c\ud488 \uc124\uacc4\uc0c1\uc758 \uacb0\uc815\uc785\ub2c8\ub2e4. \uad00\uacc4\ud615 \uc2a4\ud0c0\uc77c\uc758 \uae30\ub2a5\uc744 \ucd94\uac00\ud558\uae30 \uc704\ud574 \uc808\ucda9\uc548\uc744 \ub9cc\ub4e4 \uc218 \uc788\uc9c0\ub9cc, \uadf8 \uc5ec\uc815\uc758 \uc5b4\ub290 \uc2dc\uc810\uc5d0\uc11c Couchbase\ub294 \ube60\ub974\uace0 \ud655\uc7a5 \uac00\ub2a5\ud55c \ub370\uc774\ud130\ubca0\uc774\uc2a4\uac00 \uc544\ub2cc \"\ub610 \ub2e4\ub978\" \uad00\uacc4\ud615 \ub370\uc774\ud130\ubca0\uc774\uc2a4\uac00 \ub418\uae30 \uc2dc\uc791\ud569\ub2c8\ub2e4. \ud655\uc2e4\ud788 \uad00\uacc4\ud615 \ub370\uc774\ud130\ubca0\uc774\uc2a4\uc640 \ube44\uad00\uacc4\ud615 \ub370\uc774\ud130\ubca0\uc774\uc2a4 \ubaa8\ub450\uc5d0\uc11c \ub9ce\uc740 \uc735\ud569\uc774 \uc774\ub8e8\uc5b4\uc9c0\uace0 \uc788\uc73c\uba70, \ub9e4\ub144 \ub9ce\uc740 \ubcc0\ud654\uac00 \uc77c\uc5b4\ub098\uace0 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>\uc774\ub97c \uc5fc\ub450\uc5d0 \ub450\uace0 \uc2dc\ub9ac\uc988\uc758 \ub9c8\uc9c0\ub9c9 \ube14\ub85c\uadf8 \ud3ec\uc2a4\ud305\uc744 \uae30\ub300\ud574 \uc8fc\uc138\uc694. \uc5ec\uae30\uc5d0\uc11c\ub294 Couchbase \uc0ac\uc6a9\uc73c\ub85c \uc778\ud55c \uc560\ud50c\ub9ac\ucf00\uc774\uc158 \ucf54\ub529\uc758 \ubcc0\uacbd \uc0ac\ud56d\uc744 \ub2e4\ub8f0 \uc608\uc815\uc785\ub2c8\ub2e4:<\/p>\n<\/div>\n<div class=\"ulist\">\n<ul>\n<li>SQL\/N1QL<\/li>\n<li>\uc800\uc7a5\ub41c \uc808\ucc28<\/li>\n<li>\uc11c\ube44\uc2a4 \uacc4\uce35<\/li>\n<li>\ud2b8\ub9ac\uac70<\/li>\n<li>\uc870\ud68c\uc218<\/li>\n<li>\uc9c1\ub82c\ud654<\/li>\n<li>\ubcf4\uc548<\/li>\n<li>\ub3d9\uc2dc\uc131<\/li>\n<li><a href=\"https:\/\/www.couchbase.com\/blog\/ko\/using-autonumber-in-couchbase\/\">\uc790\ub3d9 \ubc88\ud638<\/a><\/li>\n<li>OR\/Ms \ubc0f ODM<\/li>\n<li>\uac70\ub798<\/li>\n<\/ul>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"sect1\">\n<h2 id=\"_summary\">\uc694\uc57d<\/h2>\n<div class=\"sectionbody\">\n<div class=\"paragraph\">\n<p>\uc774 \ube14\ub85c\uadf8 \uac8c\uc2dc\ubb3c\uc5d0\uc11c\ub294 Couchbase Server\uc5d0\uc11c \uc0ac\uc6a9\ud560 \uc218 \uc788\ub294 \ub370\uc774\ud130 \uae30\ub2a5\uc744 SQL Server\uc640 \ube44\uad50\ud558\uace0 \ub300\uc870\ud588\uc2b5\ub2c8\ub2e4. \ud604\uc7ac SQL Server\ub97c \uc0ac\uc6a9 \uc911\uc774\uace0 \ud504\ub85c\uc81d\ud2b8\uc5d0 \ubb38\uc11c \ub370\uc774\ud130\ubca0\uc774\uc2a4\ub97c \ucd94\uac00\ud558\uac70\ub098 \uc0c8 \ud504\ub85c\uc81d\ud2b8\ub97c \uc2dc\uc791\ud558\ub824\ub294 \uacbd\uc6b0 \ub3c4\uc6c0\uc744 \ub4dc\ub9ac\uace0\uc790 \ud569\ub2c8\ub2e4.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>\ub2e4\uc74c \ub0b4\uc6a9\uc744 \ud655\uc778\ud558\uc138\uc694. <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 \uac1c\ubc1c\uc790 \ud3ec\ud138<\/a> \uc5d0\uc11c \uc790\uc138\ud55c \ub0b4\uc6a9\uc744 \ud655\uc778\ud558\uc138\uc694.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>\ub2e4\uc74c \uc8fc\uc18c\ub85c \ubb38\uc758\ud574 \uc8fc\uc138\uc694. <a href=\"mailto:matthew.groves@couchbase.com\">matthew.groves@couchbase.com<\/a>\uc5d0 \uc9c8\ubb38\ud558\uc138\uc694. <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>\ub97c \ud074\ub9ad\ud558\uac70\ub098 <a href=\"https:\/\/twitter.com\/mgroves\">\ud2b8\uc704\ud130 @mgroves<\/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,1815,1816,1819,1812],"tags":[1766,1383,1261,1458,1556],"ppma_author":[8937],"class_list":["post-2572","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-dotnet","category-application-design","category-best-practices-and-tutorials","category-couchbase-server","category-data-modeling","category-n1ql-query","tag-data-migration","tag-etl","tag-json","tag-migration","tag-sql-server"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v25.8 (Yoast SEO v25.8) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Moving from SQL Server to Couchbase Part 2: Data Migration<\/title>\n<meta name=\"description\" content=\"In this blog post series, I&#039;m laying out the considerations when moving from Microsoft SQL Server to Couchbase Server. This post is about data migration.\" \/>\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\/sql-server-couchbase-data-migration\/\" \/>\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 2: Data Migration\" \/>\n<meta property=\"og:description\" content=\"In this blog post series, I&#039;m laying out the considerations when moving from Microsoft SQL Server to Couchbase Server. This post is about data migration.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.couchbase.com\/blog\/ko\/sql-server-couchbase-data-migration\/\" \/>\n<meta property=\"og:site_name\" content=\"The Couchbase Blog\" \/>\n<meta property=\"article:published_time\" content=\"2017-02-14T15:50:41+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2023-09-09T09:55:28+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/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=\"8\ubd84\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/sql-server-couchbase-data-migration\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/sql-server-couchbase-data-migration\/\"},\"author\":{\"name\":\"Matthew Groves\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/3929663e372020321b0152dc4fa65a58\"},\"headline\":\"Moving from SQL Server to Couchbase Part 2: Data Migration\",\"datePublished\":\"2017-02-14T15:50:41+00:00\",\"dateModified\":\"2023-09-09T09:55:28+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/sql-server-couchbase-data-migration\/\"},\"wordCount\":1747,\"commentCount\":4,\"publisher\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/sql-server-couchbase-data-migration\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2017\/02\/geese-migration.jpg\",\"keywords\":[\"Data Migration\",\"ETL\",\"JSON\",\"migration\",\"SQL Server\"],\"articleSection\":[\".NET\",\"Application Design\",\"Best Practices and Tutorials\",\"Couchbase Server\",\"Data Modeling\",\"SQL++ \/ N1QL Query\"],\"inLanguage\":\"ko-KR\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.couchbase.com\/blog\/sql-server-couchbase-data-migration\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/sql-server-couchbase-data-migration\/\",\"url\":\"https:\/\/www.couchbase.com\/blog\/sql-server-couchbase-data-migration\/\",\"name\":\"Moving from SQL Server to Couchbase Part 2: Data Migration\",\"isPartOf\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/sql-server-couchbase-data-migration\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/sql-server-couchbase-data-migration\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2017\/02\/geese-migration.jpg\",\"datePublished\":\"2017-02-14T15:50:41+00:00\",\"dateModified\":\"2023-09-09T09:55:28+00:00\",\"description\":\"In this blog post series, I'm laying out the considerations when moving from Microsoft SQL Server to Couchbase Server. This post is about data migration.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/sql-server-couchbase-data-migration\/#breadcrumb\"},\"inLanguage\":\"ko-KR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.couchbase.com\/blog\/sql-server-couchbase-data-migration\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"ko-KR\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/sql-server-couchbase-data-migration\/#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\/sql-server-couchbase-data-migration\/#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 2: Data Migration\"}]},{\"@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":"SQL Server\uc5d0\uc11c Couchbase\ub85c \uc774\ub3d9 2\ubd80: \ub370\uc774\ud130 \ub9c8\uc774\uadf8\ub808\uc774\uc158","description":"In this blog post series, I'm laying out the considerations when moving from Microsoft SQL Server to Couchbase Server. This post is about data migration.","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\/sql-server-couchbase-data-migration\/","og_locale":"ko_KR","og_type":"article","og_title":"Moving from SQL Server to Couchbase Part 2: Data Migration","og_description":"In this blog post series, I'm laying out the considerations when moving from Microsoft SQL Server to Couchbase Server. This post is about data migration.","og_url":"https:\/\/www.couchbase.com\/blog\/ko\/sql-server-couchbase-data-migration\/","og_site_name":"The Couchbase Blog","article_published_time":"2017-02-14T15:50:41+00:00","article_modified_time":"2023-09-09T09:55:28+00:00","og_image":[{"width":2048,"height":949,"url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/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":"8\ubd84"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.couchbase.com\/blog\/sql-server-couchbase-data-migration\/#article","isPartOf":{"@id":"https:\/\/www.couchbase.com\/blog\/sql-server-couchbase-data-migration\/"},"author":{"name":"Matthew Groves","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/3929663e372020321b0152dc4fa65a58"},"headline":"Moving from SQL Server to Couchbase Part 2: Data Migration","datePublished":"2017-02-14T15:50:41+00:00","dateModified":"2023-09-09T09:55:28+00:00","mainEntityOfPage":{"@id":"https:\/\/www.couchbase.com\/blog\/sql-server-couchbase-data-migration\/"},"wordCount":1747,"commentCount":4,"publisher":{"@id":"https:\/\/www.couchbase.com\/blog\/#organization"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/sql-server-couchbase-data-migration\/#primaryimage"},"thumbnailUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2017\/02\/geese-migration.jpg","keywords":["Data Migration","ETL","JSON","migration","SQL Server"],"articleSection":[".NET","Application Design","Best Practices and Tutorials","Couchbase Server","Data Modeling","SQL++ \/ N1QL Query"],"inLanguage":"ko-KR","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.couchbase.com\/blog\/sql-server-couchbase-data-migration\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.couchbase.com\/blog\/sql-server-couchbase-data-migration\/","url":"https:\/\/www.couchbase.com\/blog\/sql-server-couchbase-data-migration\/","name":"SQL Server\uc5d0\uc11c Couchbase\ub85c \uc774\ub3d9 2\ubd80: \ub370\uc774\ud130 \ub9c8\uc774\uadf8\ub808\uc774\uc158","isPartOf":{"@id":"https:\/\/www.couchbase.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.couchbase.com\/blog\/sql-server-couchbase-data-migration\/#primaryimage"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/sql-server-couchbase-data-migration\/#primaryimage"},"thumbnailUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2017\/02\/geese-migration.jpg","datePublished":"2017-02-14T15:50:41+00:00","dateModified":"2023-09-09T09:55:28+00:00","description":"In this blog post series, I'm laying out the considerations when moving from Microsoft SQL Server to Couchbase Server. This post is about data migration.","breadcrumb":{"@id":"https:\/\/www.couchbase.com\/blog\/sql-server-couchbase-data-migration\/#breadcrumb"},"inLanguage":"ko-KR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.couchbase.com\/blog\/sql-server-couchbase-data-migration\/"]}]},{"@type":"ImageObject","inLanguage":"ko-KR","@id":"https:\/\/www.couchbase.com\/blog\/sql-server-couchbase-data-migration\/#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\/sql-server-couchbase-data-migration\/#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 2: Data Migration"}]},{"@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\/2572","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=2572"}],"version-history":[{"count":0,"href":"https:\/\/www.couchbase.com\/blog\/ko\/wp-json\/wp\/v2\/posts\/2572\/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=2572"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/ko\/wp-json\/wp\/v2\/categories?post=2572"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/ko\/wp-json\/wp\/v2\/tags?post=2572"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/ko\/wp-json\/wp\/v2\/ppma_author?post=2572"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}