{"id":12479,"date":"2021-12-21T08:00:29","date_gmt":"2021-12-21T16:00:29","guid":{"rendered":"https:\/\/www.couchbase.com\/blog\/?p=12479"},"modified":"2025-06-13T22:40:20","modified_gmt":"2025-06-14T05:40:20","slug":"migrating-buckets-to-collections-scopes-via-eventing-part-2","status":"publish","type":"post","link":"https:\/\/www.couchbase.com\/blog\/ko\/migrating-buckets-to-collections-scopes-via-eventing-part-2\/","title":{"rendered":"\uc774\ubca4\ud2b8\ub97c \ud1b5\ud574 \ubc84\ud0b7\uc744 \uceec\ub809\uc158 \ubc0f \ubc94\uc704\ub85c \ub9c8\uc774\uadf8\ub808\uc774\uc158\ud558\uae30: 2\ubd80"},"content":{"rendered":"<h2>\uc774\ubca4\ud2b8\ub97c \ud1b5\ud574 \ubc84\ud0b7\uc744 \uceec\ub809\uc158 \ubc0f \ubc94\uc704\ub85c \ub9c8\uc774\uadf8\ub808\uc774\uc158\ud558\uae30: 2\ubd80<\/h2>\n<p>\ub2e4\uc2dc \ud55c \ubc88 (1\ubd80\uc5d0\uc11c\uc640 \ub9c8\ucc2c\uac00\uc9c0\ub85c) Shivani Gupta\uac00 \uc791\uc131\ud55c \ud6cc\ub96d\ud55c \ube14\ub85c\uadf8\ub97c \uc18c\uac1c\ud574\ub4dc\ub9ac\uace0\uc790 \ud569\ub2c8\ub2e4, <a href=\"https:\/\/www.couchbase.com\/blog\/ko\/how-to-migrate-to-scopes-and-collections-in-couchbase-7-0\/\" target=\"_blank\" rel=\"noopener\">Couchbase 7.0\uc5d0\uc11c \ubc94\uc704 \ubc0f \uceec\ub809\uc158\uc73c\ub85c \ub9c8\uc774\uadf8\ub808\uc774\uc158\ud558\ub294 \ubc29\ubc95<\/a>\uc5d0\uc11c \ubc84\ud0b7 \uae30\ubc18 \ubb38\uc11c\ub97c Couchbase\uc758 \ubc94\uc704 \ubc0f \uceec\ub809\uc158\uc73c\ub85c \ub9c8\uc774\uadf8\ub808\uc774\uc158\ud558\ub294 \ub2e4\ub978 \ubc29\ubc95\uc744 \uc790\uc138\ud788 \ub2e4\ub8e8\uace0 \uc788\uc2b5\ub2c8\ub2e4.  Shivani\uac00 \ub2e4\ub8e8\ub294 \uc5ec\ub7ec \uac00\uc9c0 \ube44\uc774\ubca4\ud2b8 \uba54\uc11c\ub4dc\uc5d0 \ub300\ud574\uc11c\ub3c4 \uc77d\uc5b4\ubcf4\uc2dc\uae30 \ubc14\ub78d\ub2c8\ub2e4.<\/p>\n<blockquote><p><strong>Couchbase\ub97c \ucc98\uc74c \uc0ac\uc6a9\ud558\ub4e0<\/strong> \ub178\ub828\ud55c \uc218\uc758\uc0ac\ub77c\uba74 \uc2a4\ucf54\ud504\uc640 \uceec\ub809\uc158\uc5d0 \ub300\ud574 \ub4e4\uc5b4\ubcf4\uc168\uc744 \uac83\uc785\ub2c8\ub2e4. \uc0ac\uc6a9\ud574 \ubcfc \uc900\ube44\uac00 \ub418\uc5c8\ub2e4\uba74 \uc774 \ub3c4\uc6c0\ub9d0\uc744 \ucc38\uc870\ud558\uc138\uc694.<\/p>\n<p>\ubc94\uc704 \ubc0f \uceec\ub809\uc158\uc740 \ub2e4\uc74c \ubc84\uc804\uc5d0 \ub3c4\uc785\ub41c \uc0c8\ub85c\uc6b4 \uae30\ub2a5\uc785\ub2c8\ub2e4. <a href=\"https:\/\/www.couchbase.com\/blog\/ko\/couchbase-server-7-0-release\/?ref=blog\" target=\"_blank\" rel=\"noopener\">\uce74\uc6b0\uce58\ubca0\uc774\uc2a4 \uc11c\ubc84 7.0<\/a>\u00a0\ub97c \uc0ac\uc6a9\ud558\uc5ec Couchbase \ub0b4\uc5d0\uc11c \ub370\uc774\ud130\ub97c \ub17c\ub9ac\uc801\uc73c\ub85c \uad6c\uc131\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \uc790\uc138\ud788 \uc54c\uc544\ubcf4\uae30,\u00a0<a href=\"https:\/\/www.couchbase.com\/blog\/ko\/scopes-and-collections-for-modern-multi-tenant-applications-couchbase-7-0\/?ref=blog\" target=\"_blank\" rel=\"noopener\">\ubc94\uc704 \ubc0f \uceec\ub809\uc158\uc5d0 \ub300\ud55c \uc774 \uc18c\uac1c\ub97c \uc77d\uc5b4\ubcf4\uc138\uc694.<\/a>.<\/p>\n<p>\ub808\uac70\uc2dc RDBMS\ub97c \ubb38\uc11c \ub370\uc774\ud130\ubca0\uc774\uc2a4\uc5d0 \ub9e4\ud551\ud558\uac70\ub098 \uc218\ubc31 \uac1c\uc758 \ub9c8\uc774\ud06c\ub85c\uc11c\ube44\uc2a4 \ubc0f\/\ub610\ub294 \ud14c\ub10c\ud2b8\ub97c \ub2e8\uc77c\ub85c \ud1b5\ud569\ud558\ub824\ub294 \uacbd\uc6b0 \ubc94\uc704 \ubc0f \uceec\ub809\uc158\uc744 \ud65c\uc6a9\ud574\uc57c \ud569\ub2c8\ub2e4.\u00a0<a href=\"https:\/\/www.couchbase.com\/blog\/ko\/products\/capella\/\" target=\"_blank\" rel=\"noopener\">\uce74\uc6b0\uce58\ubca0\uc774\uc2a4<\/a>\u00a0\ud074\ub7ec\uc2a4\ud130(\uacb0\uacfc\uc801\uc73c\ub85c TCO\uac00 \ud6e8\uc52c \ub0ae\uc544\uc9d1\ub2c8\ub2e4).<\/p><\/blockquote>\n<hr \/>\n<h2>\ubc94\uc704 \ubc0f \uceec\ub809\uc158 \ub9c8\uc774\uadf8\ub808\uc774\uc158\uc5d0 \uc774\ubca4\ud2b8 \uc0ac\uc6a9<\/h2>\n<p><span style=\"font-weight: 400\">\uc774\uc804 \uae00(1\ubd80)\uc5d0\uc11c \uc774\uc804 CouchBase \ubc84\uc804\uc5d0\uc11c CouchBase 7.0\uc758 \ubc94\uc704 \ubc0f \uceec\ub809\uc158\uc73c\ub85c \ub9c8\uc774\uadf8\ub808\uc774\uc158\ud558\ub294 \uace0\uc131\ub2a5 \ubc29\ubc95\uc758 \uba54\ucee4\ub2c8\uc998\uc5d0 \ub300\ud574 \uc124\uba85\ud588\uc2b5\ub2c8\ub2e4. <a href=\"https:\/\/www.couchbase.com\/blog\/ko\/products\/eventing\/\">\uc774\ubca4\ud2b8<\/a>.<\/span><\/p>\n<p><span style=\"font-weight: 400\">\ubc84\ud0b7\uc5d0\uc11c \uceec\ub809\uc158\uc73c\ub85c \ub9c8\uc774\uadf8\ub808\uc774\uc158\ud558\ub824\uba74 \ub370\uc774\ud130 \uc11c\ube44\uc2a4(\ub610\ub294 KV)\uc640 \uc774\ubca4\ud2b8 \uc11c\ube44\uc2a4\ub9cc \uc788\uc73c\uba74 \ub429\ub2c8\ub2e4. \uc798 \uc870\uc815\ub41c \ub300\uaddc\ubaa8 Couchbase \ud074\ub7ec\uc2a4\ud130\uc5d0\uc11c\ub294 \ucd08\ub2f9 1\ubc31\ub9cc \uac1c \uc774\uc0c1\uc758 \ubb38\uc11c\ub97c \ub9c8\uc774\uadf8\ub808\uc774\uc158\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \uc608, N1QL\ub3c4 \ud544\uc694 \uc5c6\uace0 \uc778\ub371\uc2a4\ub3c4 \ud544\uc694\ud558\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4.<\/span><\/p>\n<p><span style=\"font-weight: 400\">\uc774 \ud6c4\uc18d \uae30\uc0ac\uc5d0\uc11c\ub294 \uc218\uc2ed \uac1c(\ub610\ub294 \uc218\ubc31 \uac1c)\uc758 \ub370\uc774\ud130 \uc720\ud615\uc73c\ub85c \ub300\uaddc\ubaa8 \ub9c8\uc774\uadf8\ub808\uc774\uc158\uc744 \uc218\ud589\ud558\ub294 \uac04\ub2e8\ud55c \uc644\uc804 \uc790\ub3d9\ud654\ub41c \ubc29\ubc95\ub860\uc744 \uc81c\uacf5\ud569\ub2c8\ub2e4. <\/span><i><span style=\"font-weight: 400\">Perl<\/span><\/i><span style=\"font-weight: 400\"> \uc2a4\ud06c\ub9bd\ud2b8.<\/span><\/p>\n<h3>\ub9c8\uc9c0\ub9c9 \uc774\ubca4\ud2b8 \ud568\uc218\uc5d0 \ub300\ud55c \uc694\uc57d\uc785\ub2c8\ub2e4: ConvertBucketToCollections<\/h3>\n<p><span style=\"font-weight: 400\">\ud30c\ud2b8 1\uc5d0\uc11c\ub294 \uc774\ubca4\ud2b8 \ud568\uc218\uc5d0 \ub300\ud574 \ub2e4\uc74c\uacfc \uac19\uc774 \uc124\uc815\ud588\uc2b5\ub2c8\ub2e4.  \uac01 \uace0\uc720 \uc720\ud615\uc5d0 \"<strong>\ub9e5\uc8fc<\/strong>\" \ubc0f \"<strong>\uc591\uc870\uc7a5<\/strong>\"\uc77d\uae30+\uc4f0\uae30\" \ubaa8\ub4dc\uc5d0\uc11c \ub300\uc0c1 \uceec\ub809\uc158\uc5d0 \ubc84\ud0b7 \ubc14\uc778\ub529 \ubcc4\uce6d\uc744 \ucd94\uac00\ud574\uc57c \ud588\uc2b5\ub2c8\ub2e4.  \ub610\ud55c \ub300\uc0c1 \uceec\ub809\uc158\uc744 \ub9cc\ub4e4\uc5b4\uc57c \ud588\uc2b5\ub2c8\ub2e4(\uc774 \uacbd\uc6b0 \"<strong>bulk.data.beer<\/strong>\" \ubc0f \"<strong>bulk.data.brewery<\/strong>&#8220;<\/span><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-12480 size-full\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2021\/11\/Part2_FINAL_SETTINGS.jpg\" alt=\"\" width=\"513\" height=\"991\" srcset=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2021\/11\/Part2_FINAL_SETTINGS.jpg 513w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2021\/11\/Part2_FINAL_SETTINGS-155x300.jpg 155w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2021\/11\/Part2_FINAL_SETTINGS-300x580.jpg 300w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2021\/11\/Part2_FINAL_SETTINGS-10x20.jpg 10w\" sizes=\"auto, (max-width: 513px) 100vw, 513px\" \/><\/p>\n<p><span style=\"font-weight: 400\">\ud30c\ud2b8 1\uc5d0\uc11c\ub294 \uc774\ubca4\ud2b8 \ud568\uc218\uc5d0 \ub2e4\uc74c\uacfc \uac19\uc740 \uc790\ubc14\uc2a4\ud06c\ub9bd\ud2b8 \ucf54\ub4dc\ub97c \uc0ac\uc6a9\ud588\uc2b5\ub2c8\ub2e4.  \uac01 \uace0\uc720 \uc720\ud615\uc5d0 \"<strong>\ub9e5\uc8fc<\/strong>\" \ubc0f \"<strong>\uc591\uc870\uc7a5<\/strong>\"\ub97c \uc0ac\uc6a9\ud558\ub824\uba74 \uc790\ubc14\uc2a4\ud06c\ub9bd\ud2b8 \ucf54\ub4dc \ube14\ub85d\uc744 \ubcf5\uc81c\ud558\uace0 Couchbase \ub370\uc774\ud130 \uc11c\ube44\uc2a4\uc5d0\uc11c \ud574\ub2f9 \ubc14\uc778\ub529 \ubcc4\uce6d \ub610\ub294 \ub300\uc0c1 \uceec\ub809\uc158\uc5d0 \ub300\ud55c \ucc38\uc870\ub97c \uc5c5\ub370\uc774\ud2b8\ud574\uc57c \ud588\uc2b5\ub2c8\ub2e4.<\/span><\/p>\n<pre class=\"toolbar-overlay:false lang:js decode:true\">function OnUpdate(doc, meta) {\r\n    if (!doc.type) return;\r\n  \r\n    var type = doc.type;\r\n    if (DROP_TYPE) delete doc.type;\r\n  \r\n    if (type === 'beer') {\r\n        if (DO_COPY) beer_col[meta.id] = doc;\r\n        if (DO_DELETE) {\r\n            if(!beer_col[meta.id]) { \/\/ safety check \r\n                log(\"skip delete copy not found type=\" + doc.type + \", meta.id=\" + meta.id);\r\n            } else {\r\n                delete src_col[meta.id];\r\n            }\r\n        }\r\n    }\r\n    if (type === 'brewery') {\r\n        if (DO_COPY) brewery_col[meta.id] = doc;\r\n        if (DO_DELETE) {\r\n            if(!brewery_col[meta.id]) { \/\/ safety check\r\n                log(\"skip delete copy not found type=\" + doc.type + \", meta.id=\" + meta.id);\r\n            } else {\r\n                delete src_col[meta.id];\r\n            }\r\n        }\r\n    }\r\n}<\/pre>\n<h2>\ud30c\ud2b8 1\uc758 \uae30\uc220\uc740 \ud6a8\uacfc\uac00 \uc788\uc9c0\ub9cc \uc720\ud615\uc774 \ub9ce\uc73c\uba74 \uc5b4\ub5bb\uac8c \ud574\uc57c \ud558\ub098\uc694?<\/h2>\n<p>\uc774\ubca4\ud2b8 \uae30\ub2a5\uc744 \uc0ac\uc6a9\ud558\uba74 \uc2e4\uc81c\ub85c 1\ubd80\uc5d0\uc11c \uc124\uba85\ud55c \ub300\ub85c \ub9c8\uc774\uadf8\ub808\uc774\uc158\uc744 \uc218\ud589\ud560 \uc218 \uc788\uc9c0\ub9cc \uc124\uc815\ud558\ub294 \ub370 \uc57d\uac04\uc758 \uc791\uc5c5\uc774 \ud544\uc694\ud55c \uac83 \uac19\uc2b5\ub2c8\ub2e4.<\/p>\n<p>80\uac1c\uc758 \uc11c\ub85c \ub2e4\ub978 \uc720\ud615\uc774 \uc788\ub294 \uacbd\uc6b0 \uc774 \uae30\uc220\uc744 \uc0ac\uc6a9\ud558\ub824\uba74 (\uc774\ubca4\ud2b8 \ud568\uc218\ub97c \ub9cc\ub4e4\uace0 \ud544\uc694\ud55c \ud0a4 \uacf5\uac04\uc744 \ub9cc\ub4dc\ub294 \ub370) \uc5c4\uccad\ub09c \uc591\uc758 \uc624\ub958\uac00 \ubc1c\uc0dd\ud558\uae30 \uc27d\uc2b5\ub2c8\ub2e4. \ub9c8\uc774\uadf8\ub808\uc774\uc158 \ubc0f \ubd84\ud560\ud560 \ubc84\ud0b7\uc5d0 80\uac1c\uc758 \uc720\ud615\uc774 \uc788\ub2e4\uba74 \uac01 \uc720\ud615\uc5d0 \ub300\ud574 \uc704\uc5d0\uc11c \uc124\uba85\ud55c \ubaa8\ub4e0 \uc791\uc5c5\uc744 \uc218\uc791\uc5c5\uc73c\ub85c \ud558\uace0 \uc2f6\uc9c0 \uc54a\uc744 \uac83\uc785\ub2c8\ub2e4.<\/p>\n<h2>\uc0ac\uc6a9\uc790 \uc9c0\uc815 \ubcc0\ud658 \ubc84\ud0b7\uc744 \ud1b5\ud55c \uc790\ub3d9\ud654.pl<\/h2>\n<p>\uc774 \ubb38\uc81c\ub97c \ud574\uacb0\ud558\uae30 \uc704\ud574 \uc800\ub294 \uc791\uc740 <em>Perl<\/em> \uc2a4\ud06c\ub9bd\ud2b8, <em>\uc0ac\uc6a9\uc790 \uc9c0\uc815 \ubc84\ud0b7\uc744 \uceec\ub809\uc158\uc73c\ub85c \ubcc0\ud658.pl<\/em>\ub97c \ud074\ub9ad\ud558\uba74 \ub450 \uac1c\uc758 \ud30c\uc77c\uc774 \uc0dd\uc131\ub429\ub2c8\ub2e4:<\/p>\n<ul>\n<li><em>\uc0ac\uc6a9\uc790 \uc9c0\uc815 \ubc84\ud0b7\uc744 \uceec\ub809\uc158\uc73c\ub85c \ubcc0\ud658.json<\/em>, <span style=\"font-weight: 400\">\ub294 \uc774 \ud3ec\uc2a4\ud2b8\uc5d0\uc11c \uc124\uba85\ud55c \uc704\uc758 \ubaa8\ub4e0 \uc791\uc5c5\uc744 \uc218\ud589\ud558\ub294 \uc644\uc804\ud55c \uc774\ubca4\ud2b8 \ud568\uc218\uc785\ub2c8\ub2e4.<\/span>.<\/li>\n<li><em>MakeCustomKeyspaces.sh<\/em>, <span style=\"font-weight: 400\">\ub294 \ud544\uc694\ud55c \ubaa8\ub4e0 \ud0a4\uc2a4\ud398\uc774\uc2a4\ub97c \ube4c\ub4dc\ud558\uace0 \uc0dd\uc131\ub41c \uc774\ubca4\ud2b8 \ud568\uc218\ub97c \uac00\uc838\uc624\ub294 \uc178 \ud30c\uc77c\uc785\ub2c8\ub2e4.<\/span><\/li>\n<\/ul>\n<p>\uc774 \uc2a4\ud06c\ub9bd\ud2b8\ub294 GitHub\uc5d0\uc11c \ucc3e\uc744 \uc218 \uc788\uc2b5\ub2c8\ub2e4. <a href=\"https:\/\/github.com\/jon-strabala\/cb-buckets-to-collections\">https:\/\/github.com\/jon-strabala\/cb-buckets-to-collections<\/a>.<\/p>\n<p>\ucc38\uace0, \uc2a4\ud06c\ub9bd\ud2b8 <em>\uc0ac\uc6a9\uc790 \uc9c0\uc815 \ubc84\ud0b7\uc744 \uceec\ub809\uc158\uc73c\ub85c \ubcc0\ud658.pl <\/em>\ub450 \uac00\uc9c0\uac00 \ubaa8\ub450 \ud544\uc694\ud569\ub2c8\ub2e4. <strong><em>Perl<\/em><\/strong> (\uc2e4\uc6a9\uc801\uc778 \ucd94\ucd9c \ubc0f \ubcf4\uace0 \uc5b8\uc5b4) \ubc0f \ub610\ud55c <strong><em>jq<\/em><\/strong> (\uac00\ubccd\uace0 \uc720\uc5f0\ud55c \uba85\ub839\uc904 JSON \ud504\ub85c\uc138\uc11c)\uac00 \uc2dc\uc2a4\ud15c\uc5d0 \uc124\uce58\ub418\uc5b4 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n<h2>\uc608\uc2dc: 80\uac00\uc9c0 \uc720\ud615\uc73c\ub85c 2\uc5b5 5\ucc9c\ub9cc \uac1c\uc758 \ub808\ucf54\ub4dc \ub9c8\uc774\uadf8\ub808\uc774\uc158<\/h2>\n<p><span style=\"font-weight: 400\">\ud0a4\uc2a4\ud329\uc5d0 2\uc5b5 5\ucc9c\ub9cc \uac1c\uc758 \ubb38\uc11c\uac00 \uc788\uc2b5\ub2c8\ub2e4.<\/span>e \"<strong>\uc785\ub825._\uae30\ubcf8\uac12._\uae30\ubcf8\uac12<\/strong>\"\uc640 \ud568\uaed8 <span style=\"font-weight: 400\">80\uac1c\uc758 \ub2e4\ub978 \uc720\ud615\uc73c\ub85c \ub370\uc774\ud130\ub97c \uc720\ud615\ubcc4\ub85c \uc7ac\uad6c\uc131\ud558\uc5ec \uc544\ub798\uc758 \uceec\ub809\uc158\uc73c\ub85c \uc7ac\uad6c\uc131\ud558\ub824\uace0 \ud569\ub2c8\ub2e4. <\/span>\ubc94\uc704 \"<strong>output.reorg<\/strong>&#8221; <span style=\"font-weight: 400\">\ub97c \uc18d\uc131 \uc720\ud615\ubcc4\ub85c \uad6c\ubd84\ud569\ub2c8\ub2e4. \ub370\uc774\ud130 \uc11c\ube44\uc2a4\uc640 \uc800\ub141 \uc11c\ube44\uc2a4\ub97c \ubaa8\ub450 \uc2e4\ud589\ud558\ub294 3\uac1c\uc758 r5.2xlarge \uc778\uc2a4\ud134\uc2a4\ub85c \uad6c\uc131\ub41c AWS \ud074\ub7ec\uc2a4\ud130\uac00 \uc788\uc2b5\ub2c8\ub2e4.<\/span><\/p>\n<p>\uc785\ub825 \ubc84\ud0b7 \"<strong>\uc785\ub825<\/strong>' \uc608\uc81c\uc5d0\uc11c\ub294 \uba54\ubaa8\ub9ac \ud560\ub2f9\ub7c9\uc774 16000MB\ub85c \uad6c\uc131\ub418\uc5b4 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n<p>\uc544\ub798\uc5d0\uc11c\ub294 CustomConvertBucketToCollections.pl\uc744 \uc0ac\uc6a9\ud569\ub2c8\ub2e4. <em>Perl<\/em> \uc2a4\ud06c\ub9bd\ud2b8\uc5d0\uc11c <a href=\"https:\/\/github.com\/jon-strabala\/cb-buckets-to-collections\">https:\/\/github.com\/jon-strabala\/cb-buckets-to-collections<\/a>. \ubcf4\uc2dc\ub2e4\uc2dc\ud53c \uc790\ub3d9\ud654\ub41c \uc2a4\ud06c\ub9bd\ud2b8\ub97c \uc0ac\uc6a9\ud558\uc5ec \ub9c8\uc774\uadf8\ub808\uc774\uc158\uc744 \uc218\ud589\ud558\ub294 \uac83\uc740 \uac04\ub2e8\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n<h3>1\ub2e8\uacc4: \uc77c\ud68c\uc131 \uc124\uc815<\/h3>\n<pre class=\"toolbar-overlay:false lang:default decode:true\">git clone https:\/\/github.com\/jon-strabala\/cb-buckets-to-collections\r\ncd cb-buckets-to-collections\r\nPATH=${PATH}:\/opt\/couchbase\/bin\r\n\r\ncd cb-buckets-to-collections\/\r\nchmod +x CustomConvertBucketToCollections.pl big_data_test_gen.pl big_data_test_load.sh<\/pre>\n<h3>2\ub2e8\uacc4: 2\uc5b5 5\ucc9c\ub9cc \uac1c\uc758 \ud14c\uc2a4\ud2b8 \ubb38\uc11c \ub9cc\ub4e4\uae30<\/h3>\n<p>\ub300\ud654\ud615 \uc2e4\ud589 <strong>big_data_test_load.sh<\/strong>\u00a0\uba85\ub839\uc744 \uc0ac\uc6a9\ud569\ub2c8\ub2e4:<\/p>\n<pre class=\"toolbar-overlay:false lang:default decode:true\">.\/big_data_test_load.sh<\/pre>\n<p>\uad6c\uc131 \ub9e4\uac1c\ubcc0\uc218\ub97c \uc785\ub825\ud569\ub2c8\ub2e4:<\/p>\n<pre># This bash script, 'big_data_test_load.sh', will load &lt;N&gt; million test\r\n# documents into a &lt;bucket&gt;._default._default in 1 million chunks as\r\n# created by the perl script 'big_data_test_gen.pl'. The data will\r\n# have 80 different document type values evenly distributed.\r\n\r\nEnter the number of test docs to create in the millions    250\r\nEnter the bucket (or target) to load test docs into        input\r\nEnter the username:password to your cluster                admin:jtester\r\nEnter the hostname or ip address of your cluster           localhost\r\nEnter the number of threads for cbimport                   8\r\n\r\nWill load 2 million test docs into keyspace input._default._default (the default for bucket input)\r\ntype ^C to abort, running in 5 sec.\r\n\r\nRunning ....\r\ngen\/cbimport block: 1 of 2, start at Mon 01 Nov 2021 11:06:01 AM PDT\r\nJSON `file:\/\/.\/data.json` imported to `couchbase:\/\/localhost` successfully\r\nDocuments imported: 1000000 Documents failed: 0\r\n** removed 23 lines **\r\ngen\/cbimport block: 250 of 250, start at Mon 01 Nov 2021 11:24:05 AM PDT\r\nJSON `file:\/\/.\/data.json` imported to `couchbase:\/\/localhost` successfully\r\nDocuments imported: 1000000 Documents failed: 0<\/pre>\n<p>\uc774\uc81c \ud0a4 \uacf5\uac04\uc5d0 2\uc5b5 5\ucc9c\ub9cc \uac1c\uc758 \ud14c\uc2a4\ud2b8 \ubb38\uc11c\uac00 \uc788\uc5b4\uc57c \ud569\ub2c8\ub2e4.\u00a0<strong>\uc785\ub825._\uae30\ubcf8\uac12._\uae30\ubcf8\uac12<\/strong>.<\/p>\n<h3>3\ub2e8\uacc4: \uc774\ubca4\ud2b8 \ud568\uc218 \ubc0f \ud0a4\uc2a4\ud398\uc774\uc2a4 \uc2a4\ud06c\ub9bd\ud2b8 \uc0dd\uc131\ud558\uae30<\/h3>\n<p>\ub300\ud654\ud615 \uc2e4\ud589\u00a0<strong>\uc0ac\uc6a9\uc790 \uc9c0\uc815 \ubc84\ud0b7\uc744 \uceec\ub809\uc158\uc73c\ub85c \ubcc0\ud658.pl<\/strong>\u00a0\uba85\ub839\uc744 \uc0ac\uc6a9\ud569\ub2c8\ub2e4:<\/p>\n<pre class=\"toolbar-overlay:false lang:default decode:true\">.\/CustomConvertBucketToCollections.pl<\/pre>\n<p>\uad6c\uc131 \ub9e4\uac1c\ubcc0\uc218\ub97c \uc785\ub825\ud569\ub2c8\ub2e4:<\/p>\n<pre class=\"toolbar-overlay:false copy:false lang:default decode:true\">Enter the bucket (or source) to convert to collections [travel-sample]: input\r\nEnter the username:password to your cluster [admin:jtester]:\r\nEnter the hostname or ip address of your cluster [localhost]:\r\nEnter the destination bucket.scope [mybucket.myscope]: output.reorg\r\nEnter the Eventing storage keyspace bucket.scope.collection [rr100.eventing.metadata]:\r\nEnter the number of workers (LTE # cores more is faster) [8]:\r\nProbe the bucket (or source) to determine the set of types [Y]:\r\nsamples across the bucket (or source) to find types [20000]: 100000\r\nmaximum estimated # of types in the bucket (or source) [30]: 100\r\n\r\n\r\nScanning input for 'type' property this may take a few seconds\r\n\r\ncurl -s -u Administrator:password https:\/\/localhost:8093\/query\/service -d \\\r\n    'statement=INFER `input`._default._default WITH {\"sample_size\": 100000, \"num_sample_values\": 100, \"similarity_metric\": 0.1}' \\\r\n    | jq '.results[][].properties.type.samples | .[]' | sort -u\r\n\r\nTYPES FOUND: t01 t02 t03 t04 t05 t06 t07 t08 t09 t10 t11 t12 t13 t14 t15 t16 t17 t18 t19 t20 t21 t22 t23 t24 t25 t26 t27 t28 t29 \r\nt30 t31 t32 t33 t34 t35 t36 t37 t38 t39 t40 t41 t42 t43 t44 t45 t46 t47 t48 t49 t50 t51 t52 t53 t54 t55 t56 t57 t58 t59 t60 t61 \r\nt62 t63 t64 t65 t66 t67 t68 t69 t70 t71 t72 t73 t74 t75 t76 t77 t78 t79 t80\r\n\r\nGenerating Eventing Function: CustomConvertBucketToCollections.json\r\n\r\nGenerating Keyspace commands: MakeCustomKeyspaces.sh<\/pre>\n<p><span style=\"font-weight: 400\">\ub300\ud654\ud615 <\/span><i><span style=\"font-weight: 400\">Perl<\/span><\/i><span style=\"font-weight: 400\"> \uc2a4\ud06c\ub9bd\ud2b8\uc5d0\uc11c \uc704\uc758 \uae30\ubcf8 \uc120\ud0dd \uc0ac\ud56d \uc911 \ub124 \uac00\uc9c0\uac00 \ubcc0\uacbd\ub418\uc5c8\uc2b5\ub2c8\ub2e4.<\/span><\/p>\n<h3>3\ub2e8\uacc4: MakeCustomKeyspaces.sh \uc5c5\ub370\uc774\ud2b8(\ud544\uc694\uc5d0 \ub530\ub77c)<\/h3>\n<p><span style=\"font-weight: 400\">\"<strong>vi MakeCustomKeyspaces.sh<\/strong>\"\ub97c \ud074\ub9ad\ud558\uace0 \ud544\uc694\ud55c \uac12\uc744 \ubcc0\uacbd\ud569\ub2c8\ub2e4. Unix <\/span><i><span style=\"font-weight: 400\">sed<\/span><\/i><span style=\"font-weight: 400\"> \uba85\ub839\uc744 \uc0ac\uc6a9\ud558\uc5ec <\/span>\ubc84\ud0b7 \"<strong>\ucd9c\ub825\"<\/strong> 100\uc5d0\uc11c 1600\uae4c\uc9c0<\/p>\n<pre class=\"toolbar-overlay:false lang:default decode:true\">cat MakeCustomKeyspaces.sh | sed -e 's\/\\(^.*bucket=output.*ramsize=\\)100 \\(\\.*\\)\/\\116000 \\2\/' &gt; tmp\r\nmv tmp MakeCustomKeyspaces.sh<\/pre>\n<h3>4\ub2e8\uacc4: MakeCustomKeyspaces.sh \uc2a4\ud06c\ub9bd\ud2b8 \uc2e4\ud589<\/h3>\n<pre class=\"toolbar-overlay:false lang:default decode:true\">sh .\/MakeCustomKeyspaces.sh<\/pre>\n<p class=\"\">\ub97c \ucd9c\ub825\ud569\ub2c8\ub2e4:<\/p>\n<pre class=\"copy:false lang:default decode:true\">SUCCESS: Bucket created\r\nSUCCESS: Scope created\r\nSUCCESS: Collection created\r\nSUCCESS: Bucket created\r\nSUCCESS: Scope created\r\nSUCCESS: Collection created\r\nSUCCESS: Collection created\r\n** removed 77 lines **\r\nSUCCESS: Collection created\r\nSUCCESS: Events imported<\/pre>\n<h3>5\ub2e8\uacc4: \uc774\ubca4\ud2b8 \ud398\uc774\uc9c0\uc5d0\uc11c \uce74\uc6b0\uce58\ubca0\uc774\uc2a4 UI \uc0c8\ub85c\uace0\uce68\ud558\uae30<\/h3>\n<p>\uce74\uc6b0\uce58\ubca0\uc774\uc2a4 UI\uc5d0\uc11c \uc0c8\ub85c\uc6b4 \uc774\ubca4\ud2b8 \uae30\ub2a5(\ub610\ub294 \uc5c5\ub370\uc774\ud2b8\ub41c \uae30\ub2a5)\uc744 \ucc3e\uc73c\ub824\uba74 \uc774\ubca4\ud2b8 \ud398\uc774\uc9c0\ub85c \uc774\ub3d9\ud558\uc5ec \uc6f9 \ube0c\ub77c\uc6b0\uc800\ub97c \uc0c8\ub85c\uace0\uce68\ud558\uc138\uc694.<\/p>\n<h3>6\ub2e8\uacc4: \uc0ac\uc6a9\uc790 \uc9c0\uc815 \ubc84\ud0b7\uc744 \uceec\ub809\uc158\uc5d0 \ubc30\ud3ec\ud558\uae30<\/h3>\n<p>\uce74\uc6b0\uce58\ubca0\uc774\uc2a4 UI\uc5d0\uc11c \uc774\ubca4\ud2b8 \ud398\uc774\uc9c0\ub85c \uc774\ub3d9\ud558\uc5ec \uc774\ubca4\ud2b8 \uae30\ub2a5 \ubc30\ud3ec \"<strong>\uc0ac\uc6a9\uc790 \uc9c0\uc815 \ubc84\ud0b7\uc744 \uceec\ub809\uc158\uc73c\ub85c \ubcc0\ud658\ud558\uae30<\/strong>&#8220;.<\/p>\n<p>45\ubd84 \uc815\ub3c4\uba74 \uac1c\ud3b8\uc774 \uc644\uc804\ud788 \uc644\ub8cc\ub429\ub2c8\ub2e4.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-12180\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2021\/10\/04_in_done_a.jpg\" alt=\"\" width=\"1073\" height=\"711\" srcset=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2021\/10\/04_in_done_a.jpg 1073w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2021\/10\/04_in_done_a-300x199.jpg 300w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2021\/10\/04_in_done_a-1024x679.jpg 1024w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2021\/10\/04_in_done_a-768x509.jpg 768w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2021\/10\/04_in_done_a-20x13.jpg 20w\" sizes=\"auto, (max-width: 1073px) 100vw, 1073px\" \/><\/p>\n<p>\uc2e4\uc81c\ub85c \ubaa8\ub4e0 \ubb38\uc11c\ub294 \uc720\ud615\ubcc4\ub85c \uceec\ub809\uc158\uc73c\ub85c \uc7ac\uad6c\uc131\ub429\ub2c8\ub2e4. \uc774 \uc791\uc740 \ud074\ub7ec\uc2a4\ud130\uc5d0\uc11c\ub294 \ucd08\ub2f9 93,000\uac1c\uc758 \ubb38\uc11c\uac00 \ucc98\ub9ac\ub418\uc5c8\uc2b5\ub2c8\ub2e4.<\/p>\n<h2>\ucd5c\uc885 \uc0dd\uac01<\/h2>\n<p>\uc774 \uae00 \uc2dc\ub9ac\uc988\uac00 \ub3c4\uc6c0\uc774 \ub418\uc5c8\uc73c\uba70 \uc774\ubca4\ud2b8\uc5d0 \ub300\ud574 \ub354 \uc790\uc138\ud788 \uc54c\uc544\ubcf4\uace0 \uc2f6\ub2e4\uba74 \uc5ec\uae30\ub97c \ud074\ub9ad\ud558\uc138\uc694. <a href=\"https:\/\/www.couchbase.com\/blog\/ko\/products\/eventing\/?ref=blog\" target=\"_blank\" rel=\"noopener\">\uce74\uc6b0\uce58\ubca0\uc774\uc2a4 \uc774\ubca4\ud2b8 \uc11c\ube44\uc2a4<\/a>.<\/p>\n<p>\uc0ac\uc6a9\uc790 \uc9c0\uc815 \ubc84\ud0b7\uc744 \uceec\ub809\uc158\uc73c\ub85c \ubcc0\ud658\ud558\ub294 CustomConvertBucketToCollections.pl <em>Perl<\/em> \uc2a4\ud06c\ub9bd\ud2b8\uc5d0\uc11c <a href=\"https:\/\/github.com\/jon-strabala\/cb-buckets-to-collections\">https:\/\/github.com\/jon-strabala\/cb-buckets-to-collections<\/a> \uc720\ud615\uc774 \ub9ce\uc740 \ubc84\ud0b7\uc744 \uceec\ub809\uc158 \ud328\ub7ec\ub2e4\uc784\uc73c\ub85c \ub9c8\uc774\uadf8\ub808\uc774\uc158\ud574\uc57c \ud560 \ub54c \uc720\uc6a9\ud55c \ub3c4\uad6c\uc785\ub2c8\ub2e4.<\/p>\n<p>CustomConvertBucketToCollections.pl \uc2a4\ud06c\ub9bd\ud2b8\ub97c \uc790\uc720\ub86d\uac8c \uac1c\uc120\ud558\uc5ec \uc911\uac04 \uad6c\uc131 \ud30c\uc77c\uc744 Eventing <em>Perl<\/em> \ub3c4\uad6c\uc5d0\uc11c \ubaa8\ub4e0 \ub9e4\uac1c\ubcc0\uc218\ub97c \uc870\uc815\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \uadf8\ub7f0 \ub2e4\uc74c \uc911\uac04 \uad6c\uc131 \ud30c\uc77c\uc744 \uc0ac\uc6a9\ud558\uc5ec \uc774\ubca4\ud2b8 \ud568\uc218 \ubc0f \uc124\uc815 \uc178 \uc2a4\ud06c\ub9bd\ud2b8\ub97c \ub9cc\ub4ed\ub2c8\ub2e4.<\/p>\n<p>\uc911\uac04 \uad6c\uc131 \ud30c\uc77c \uc608\uc2dc:<\/p>\n<pre class=\"\">[\r\n  {\r\n\t\"src_ks\": \"input._default._default\",\r\n\t\"dst_ks\": \"output.myscope.t01\",\r\n\t\"create_dst_ks\": true,\r\n\t\"dst_copy\": true,\r\n\t\"src_del\": true,\r\n\t\"dst_remove_type\": true\r\n  }, {\r\n\t\"src_ks\": \"input._default._default\",\r\n\t\"dst_ks\": \"output.myscope.t02\",\r\n\t\"create_dst_ks\": true,\r\n\t\"dst_copy\": true,\r\n\t\"src_del\": true,\r\n\t\"dst_remove_type\": true\r\n  }, {\r\n\t\"src_ks\": \"input._default._default\",\r\n\t\"dst_ks\": \"output.myscope.t03\",\r\n\t\"create_dst_ks\": true,\r\n\t\"dst_copy\": true,\r\n\t\"src_del\": true,\r\n\t\"dst_remove_type\": true\r\n  }\r\n]<\/pre>\n<h2>\ub9ac\uc18c\uc2a4<\/h2>\n<ul>\n<li><em>\ub2e4\uc6b4\ub85c\ub4dc:<\/em> <a href=\"https:\/\/www.couchbase.com\/blog\/ko\/downloads\/?ref=blog\" target=\"_blank\" rel=\"noopener\">Couchbase Server 7.0 \ub2e4\uc6b4\ub85c\ub4dc<\/a><\/li>\n<li><i><span style=\"font-weight: 400\">\uc774\ubca4\ud2b8 \uc2a4\ud06c\ub9bd\ud2b8:<\/span><\/i><a href=\"https:\/\/docs.couchbase.com\/server\/current\/eventing\/eventing-handler-ConvertBucketToCollections.html?ref=blog\"> <span style=\"font-weight: 400\">\ud568\uc218: ConvertBucketToCollections<\/span><\/a><\/li>\n<li><em>GitHub:<\/em> <a href=\"https:\/\/github.com\/jon-strabala\/cb-buckets-to-collections?ref=blog\" target=\"_blank\" rel=\"noopener\">Perl \ub3c4\uad6c: cb-buckets-to-collections.pl<\/a><\/li>\n<\/ul>\n<h2>\ucc38\uc870<\/h2>\n<ul>\n<li><a href=\"https:\/\/docs.couchbase.com\/server\/6.6\/eventing\/eventing-overview.html?ref=blog\" target=\"_blank\" rel=\"noopener noreferrer\">\uce74\uc6b0\uce58\ubca0\uc774\uc2a4 \uc774\ubca4\ud2b8 \ubb38\uc11c<\/a><\/li>\n<li><a href=\"https:\/\/docs.couchbase.com\/server\/7.0\/introduction\/whats-new.html?ref=blog\" target=\"_blank\" rel=\"noopener noreferrer\">\uc0c8\ub85c\uc6b4 \uae30\ub2a5 \uce74\uc6b0\uce58\ubca0\uc774\uc2a4 \uc11c\ubc84 7.0<\/a><\/li>\n<li><a href=\"https:\/\/www.couchbase.com\/blog\/ko\/how-to-migrate-to-scopes-and-collections-in-couchbase-7-0\/\" target=\"_blank\" rel=\"noopener\">Couchbase 7.0\uc5d0\uc11c \ubc94\uc704 \ubc0f \uceec\ub809\uc158\uc73c\ub85c \ub9c8\uc774\uadf8\ub808\uc774\uc158\ud558\ub294 \ubc29\ubc95<\/a><\/li>\n<li><a href=\"https:\/\/www.couchbase.com\/blog\/ko\/tag\/eventing\/?ref=blog\" target=\"_blank\" rel=\"noopener noreferrer\">\uc774\ubca4\ud2b8\uc5d0 \uad00\ud55c \ub2e4\ub978 Couchbase \ube14\ub85c\uadf8<\/a><\/li>\n<\/ul>\n<p>\uce74\uc6b0\uce58\ubca0\uc774\uc2a4\uc640 \uc774\ubca4\ud2b8 \uc11c\ube44\uc2a4\uc758 \uae30\ub2a5\uc774 \ub9c8\uc74c\uc5d0 \ub4dc\uc168\ub294\uc9c0, \uc55e\uc73c\ub85c \ube44\uc988\ub2c8\uc2a4\uc5d0 \uc5b4\ub5a4 \ub3c4\uc6c0\uc774 \ub418\ub294\uc9c0 \uc5ec\ub7ec\ubd84\uc758 \uc758\uacac\uc744 \ub4e3\uace0 \uc2f6\uc2b5\ub2c8\ub2e4. \uc544\ub798 \ub313\uae00\uc774\ub098 \ub2e4\uc74c\uc5d0\uc11c \uc758\uacac\uc744 \uacf5\uc720\ud574 \uc8fc\uc138\uc694. <a href=\"https:\/\/www.couchbase.com\/blog\/ko\/forums\/?ref=blog\" target=\"_blank\" rel=\"noopener\">\uce74\uc6b0\uce58\ubca0\uc774\uc2a4 \ud3ec\ub7fc<\/a>.<\/p>","protected":false},"excerpt":{"rendered":"<p>Migrating Buckets to Collections &amp; Scopes via Eventing: Part 2 Again (as I did in Part 1) I want to point out an excellent blog written by Shivani Gupta, How to Migrate to Scopes &amp; Collections in Couchbase 7.0, which [&hellip;]<\/p>","protected":false},"author":42711,"featured_media":12478,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"inline_featured_image":false,"footnotes":""},"categories":[1815,1821,1816,2273,9336],"tags":[2379,9343,1766,9339],"ppma_author":[9113],"class_list":["post-12479","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-best-practices-and-tutorials","category-couchbase-architecture","category-couchbase-server","category-eventing","category-scopes-and-collections","tag-best-practices","tag-couchbase-7-0","tag-data-migration","tag-scopes-and-collections"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v26.1 (Yoast SEO v26.1.1) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Migrating Buckets to Collections &amp; Scopes via Eventing: Part 2 - The Couchbase Blog<\/title>\n<meta name=\"description\" content=\"Learn how to use the Couchbase Eventing Service to easily and automatically migrate your Bucket based data to Scopes &amp; Collections. Part 2\" \/>\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\/migrating-buckets-to-collections-scopes-via-eventing-part-2\/\" \/>\n<meta property=\"og:locale\" content=\"ko_KR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Migrating Buckets to Collections &amp; Scopes via Eventing: Part 2\" \/>\n<meta property=\"og:description\" content=\"Learn how to use the Couchbase Eventing Service to easily and automatically migrate your Bucket based data to Scopes &amp; Collections. Part 2\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.couchbase.com\/blog\/ko\/migrating-buckets-to-collections-scopes-via-eventing-part-2\/\" \/>\n<meta property=\"og:site_name\" content=\"The Couchbase Blog\" \/>\n<meta property=\"article:published_time\" content=\"2021-12-21T16:00:29+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-06-14T05:40:20+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2021\/11\/migration2-1.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1600\" \/>\n\t<meta property=\"og:image:height\" content=\"799\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Jon Strabala, Principal Product Manager, Couchbase\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Jon Strabala, Principal Product Manager, Couchbase\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"5\ubd84\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/migrating-buckets-to-collections-scopes-via-eventing-part-2\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/migrating-buckets-to-collections-scopes-via-eventing-part-2\/\"},\"author\":{\"name\":\"Jon Strabala, Principal Product Manager, Couchbase\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/c991579f88217edee79ffedb6fc914cc\"},\"headline\":\"Migrating Buckets to Collections &amp; Scopes via Eventing: Part 2\",\"datePublished\":\"2021-12-21T16:00:29+00:00\",\"dateModified\":\"2025-06-14T05:40:20+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/migrating-buckets-to-collections-scopes-via-eventing-part-2\/\"},\"wordCount\":1058,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/migrating-buckets-to-collections-scopes-via-eventing-part-2\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2021\/11\/migration2-1.jpg\",\"keywords\":[\"best practices\",\"Couchbase 7.0\",\"Data Migration\",\"Scopes and Collections\"],\"articleSection\":[\"Best Practices and Tutorials\",\"Couchbase Architecture\",\"Couchbase Server\",\"Eventing\",\"Scopes and Collections\"],\"inLanguage\":\"ko-KR\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.couchbase.com\/blog\/migrating-buckets-to-collections-scopes-via-eventing-part-2\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/migrating-buckets-to-collections-scopes-via-eventing-part-2\/\",\"url\":\"https:\/\/www.couchbase.com\/blog\/migrating-buckets-to-collections-scopes-via-eventing-part-2\/\",\"name\":\"Migrating Buckets to Collections &amp; Scopes via Eventing: Part 2 - The Couchbase Blog\",\"isPartOf\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/migrating-buckets-to-collections-scopes-via-eventing-part-2\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/migrating-buckets-to-collections-scopes-via-eventing-part-2\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2021\/11\/migration2-1.jpg\",\"datePublished\":\"2021-12-21T16:00:29+00:00\",\"dateModified\":\"2025-06-14T05:40:20+00:00\",\"description\":\"Learn how to use the Couchbase Eventing Service to easily and automatically migrate your Bucket based data to Scopes & Collections. Part 2\",\"breadcrumb\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/migrating-buckets-to-collections-scopes-via-eventing-part-2\/#breadcrumb\"},\"inLanguage\":\"ko-KR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.couchbase.com\/blog\/migrating-buckets-to-collections-scopes-via-eventing-part-2\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"ko-KR\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/migrating-buckets-to-collections-scopes-via-eventing-part-2\/#primaryimage\",\"url\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2021\/11\/migration2-1.jpg\",\"contentUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2021\/11\/migration2-1.jpg\",\"width\":1600,\"height\":799},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/migrating-buckets-to-collections-scopes-via-eventing-part-2\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.couchbase.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Migrating Buckets to Collections &amp; Scopes via Eventing: Part 2\"}]},{\"@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\/c991579f88217edee79ffedb6fc914cc\",\"name\":\"Jon Strabala, Principal Product Manager, Couchbase\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"ko-KR\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/image\/9c6045b0c2f7b07b0ee10f94ad748a25\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/db52a9f6d84faba430dd38106cdbc16ff02c2066b103b5f6b4cfcde40e83c683?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/db52a9f6d84faba430dd38106cdbc16ff02c2066b103b5f6b4cfcde40e83c683?s=96&d=mm&r=g\",\"caption\":\"Jon Strabala, Principal Product Manager, Couchbase\"},\"description\":\"Jon Strabala is a Principal Product Manager, responsible for the Couchbase Eventing Service. Before joining Couchbase, he spent more than 20 years building software products across various domains, starting with EDA in aerospace then transitioning to building enterprise software focused on what today is coined \u201cIoT\u201d and \u201cat-scale data.\u201d Jon worked for several small software consultancies until eventually starting and managing his own firm. He has extensive experience in NoSQL\/NewSQL, both in contributing and commercializing new technologies such as compressed bitmaps and column stores. Jon holds a bachelor\u2019s degree in electrical engineering and a master's in computer engineering, both from the University of Southern California, and an MBA from the University of California at Irvine.\",\"url\":\"https:\/\/www.couchbase.com\/blog\/ko\/author\/jon-strabala\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Migrating Buckets to Collections &amp; Scopes via Eventing: Part 2 - The Couchbase Blog","description":"Learn how to use the Couchbase Eventing Service to easily and automatically migrate your Bucket based data to Scopes & Collections. Part 2","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\/migrating-buckets-to-collections-scopes-via-eventing-part-2\/","og_locale":"ko_KR","og_type":"article","og_title":"Migrating Buckets to Collections &amp; Scopes via Eventing: Part 2","og_description":"Learn how to use the Couchbase Eventing Service to easily and automatically migrate your Bucket based data to Scopes & Collections. Part 2","og_url":"https:\/\/www.couchbase.com\/blog\/ko\/migrating-buckets-to-collections-scopes-via-eventing-part-2\/","og_site_name":"The Couchbase Blog","article_published_time":"2021-12-21T16:00:29+00:00","article_modified_time":"2025-06-14T05:40:20+00:00","og_image":[{"width":1600,"height":799,"url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2021\/11\/migration2-1.jpg","type":"image\/jpeg"}],"author":"Jon Strabala, Principal Product Manager, Couchbase","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Jon Strabala, Principal Product Manager, Couchbase","Est. reading time":"5\ubd84"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.couchbase.com\/blog\/migrating-buckets-to-collections-scopes-via-eventing-part-2\/#article","isPartOf":{"@id":"https:\/\/www.couchbase.com\/blog\/migrating-buckets-to-collections-scopes-via-eventing-part-2\/"},"author":{"name":"Jon Strabala, Principal Product Manager, Couchbase","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/c991579f88217edee79ffedb6fc914cc"},"headline":"Migrating Buckets to Collections &amp; Scopes via Eventing: Part 2","datePublished":"2021-12-21T16:00:29+00:00","dateModified":"2025-06-14T05:40:20+00:00","mainEntityOfPage":{"@id":"https:\/\/www.couchbase.com\/blog\/migrating-buckets-to-collections-scopes-via-eventing-part-2\/"},"wordCount":1058,"commentCount":0,"publisher":{"@id":"https:\/\/www.couchbase.com\/blog\/#organization"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/migrating-buckets-to-collections-scopes-via-eventing-part-2\/#primaryimage"},"thumbnailUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2021\/11\/migration2-1.jpg","keywords":["best practices","Couchbase 7.0","Data Migration","Scopes and Collections"],"articleSection":["Best Practices and Tutorials","Couchbase Architecture","Couchbase Server","Eventing","Scopes and Collections"],"inLanguage":"ko-KR","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.couchbase.com\/blog\/migrating-buckets-to-collections-scopes-via-eventing-part-2\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.couchbase.com\/blog\/migrating-buckets-to-collections-scopes-via-eventing-part-2\/","url":"https:\/\/www.couchbase.com\/blog\/migrating-buckets-to-collections-scopes-via-eventing-part-2\/","name":"Migrating Buckets to Collections &amp; Scopes via Eventing: Part 2 - The Couchbase Blog","isPartOf":{"@id":"https:\/\/www.couchbase.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.couchbase.com\/blog\/migrating-buckets-to-collections-scopes-via-eventing-part-2\/#primaryimage"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/migrating-buckets-to-collections-scopes-via-eventing-part-2\/#primaryimage"},"thumbnailUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2021\/11\/migration2-1.jpg","datePublished":"2021-12-21T16:00:29+00:00","dateModified":"2025-06-14T05:40:20+00:00","description":"Learn how to use the Couchbase Eventing Service to easily and automatically migrate your Bucket based data to Scopes & Collections. Part 2","breadcrumb":{"@id":"https:\/\/www.couchbase.com\/blog\/migrating-buckets-to-collections-scopes-via-eventing-part-2\/#breadcrumb"},"inLanguage":"ko-KR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.couchbase.com\/blog\/migrating-buckets-to-collections-scopes-via-eventing-part-2\/"]}]},{"@type":"ImageObject","inLanguage":"ko-KR","@id":"https:\/\/www.couchbase.com\/blog\/migrating-buckets-to-collections-scopes-via-eventing-part-2\/#primaryimage","url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2021\/11\/migration2-1.jpg","contentUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2021\/11\/migration2-1.jpg","width":1600,"height":799},{"@type":"BreadcrumbList","@id":"https:\/\/www.couchbase.com\/blog\/migrating-buckets-to-collections-scopes-via-eventing-part-2\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.couchbase.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Migrating Buckets to Collections &amp; Scopes via Eventing: Part 2"}]},{"@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\/c991579f88217edee79ffedb6fc914cc","name":"Jon Strabala, \uc218\uc11d \uc81c\ud488 \uad00\ub9ac\uc790, Couchbase","image":{"@type":"ImageObject","inLanguage":"ko-KR","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/image\/9c6045b0c2f7b07b0ee10f94ad748a25","url":"https:\/\/secure.gravatar.com\/avatar\/db52a9f6d84faba430dd38106cdbc16ff02c2066b103b5f6b4cfcde40e83c683?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/db52a9f6d84faba430dd38106cdbc16ff02c2066b103b5f6b4cfcde40e83c683?s=96&d=mm&r=g","caption":"Jon Strabala, Principal Product Manager, Couchbase"},"description":"\uc874 \uc2a4\ud2b8\ub77c\ubc1c\ub77c\ub294 \uce74\uc6b0\uce58\ubca0\uc774\uc2a4 \uc774\ubca4\ud2b8 \uc11c\ube44\uc2a4\ub97c \ub2f4\ub2f9\ud558\ub294 \uc218\uc11d \uc81c\ud488 \uad00\ub9ac\uc790\uc785\ub2c8\ub2e4. Couchbase\uc5d0 \uc785\uc0ac\ud558\uae30 \uc804\uc5d0\ub294 \ud56d\uacf5\uc6b0\uc8fc \ubd84\uc57c\uc758 EDA\ub97c \uc2dc\uc791\uc73c\ub85c \uc624\ub298\ub0a0 \"IoT\"\uc640 \"\ub300\uaddc\ubaa8 \ub370\uc774\ud130\"\uc5d0 \ucd08\uc810\uc744 \ub9de\ucd98 \uc5d4\ud130\ud504\ub77c\uc774\uc988 \uc18c\ud504\ud2b8\uc6e8\uc5b4 \uad6c\ucd95\uc73c\ub85c \uc804\ud658\ud558\ub294 \ub4f1 20\ub144 \uc774\uc0c1 \ub2e4\uc591\ud55c \uc601\uc5ed\uc5d0\uc11c \uc18c\ud504\ud2b8\uc6e8\uc5b4 \uc81c\ud488\uc744 \uad6c\ucd95\ud588\uc2b5\ub2c8\ub2e4. Jon\uc740 \uc5ec\ub7ec \uc18c\uaddc\ubaa8 \uc18c\ud504\ud2b8\uc6e8\uc5b4 \ucee8\uc124\ud305 \ud68c\uc0ac\uc5d0\uc11c \uadfc\ubb34\ud558\ub2e4\uac00 \uacb0\uad6d \uc790\uc2e0\uc758 \ud68c\uc0ac\ub97c \uc124\ub9bd\ud558\uace0 \uacbd\uc601\ud558\uac8c \ub418\uc5c8\uc2b5\ub2c8\ub2e4. \uadf8\ub294 \uc555\ucd95 \ube44\ud2b8\ub9f5\uacfc \uceec\ub7fc \uc2a4\ud1a0\uc5b4\uc640 \uac19\uc740 \uc0c8\ub85c\uc6b4 \uae30\uc220\uc5d0 \uae30\uc5ec\ud558\uace0 \uc0c1\uc6a9\ud654\ud558\ub294 \ub370 \uc788\uc5b4 NoSQL\/NewSQL\uc5d0 \ub300\ud55c \ud3ed\ub113\uc740 \uacbd\ud5d8\uc744 \uac00\uc9c0\uace0 \uc788\uc2b5\ub2c8\ub2e4. Jon\uc740 \uc11c\ub358 \uce98\ub9ac\ud3ec\ub2c8\uc544 \ub300\ud559\uad50\uc5d0\uc11c \uc804\uae30\uacf5\ud559 \ud559\uc0ac \ubc0f \ucef4\ud4e8\ud130\uacf5\ud559 \uc11d\uc0ac \ud559\uc704\ub97c, \uce98\ub9ac\ud3ec\ub2c8\uc544 \ub300\ud559\uad50 \uc5b4\ubc14\uc778 \ucea0\ud37c\uc2a4\uc5d0\uc11c MBA\ub97c \ucde8\ub4dd\ud588\uc2b5\ub2c8\ub2e4.","url":"https:\/\/www.couchbase.com\/blog\/ko\/author\/jon-strabala\/"}]}},"authors":[{"term_id":9113,"user_id":42711,"is_guest":0,"slug":"jon-strabala","display_name":"Jon Strabala, Principal Product Manager, Couchbase","avatar_url":"https:\/\/secure.gravatar.com\/avatar\/db52a9f6d84faba430dd38106cdbc16ff02c2066b103b5f6b4cfcde40e83c683?s=96&d=mm&r=g","author_category":"","last_name":"Strabala, Principal Product Manager, Couchbase","first_name":"Jon","job_title":"","user_url":"","description":"\uc874 \uc2a4\ud2b8\ub77c\ubc1c\ub77c\ub294 \uce74\uc6b0\uce58\ubca0\uc774\uc2a4 \uc774\ubca4\ud2b8 \uc11c\ube44\uc2a4\ub97c \ub2f4\ub2f9\ud558\ub294 \uc218\uc11d \uc81c\ud488 \uad00\ub9ac\uc790\uc785\ub2c8\ub2e4. Couchbase\uc5d0 \uc785\uc0ac\ud558\uae30 \uc804\uc5d0\ub294 \ud56d\uacf5\uc6b0\uc8fc \ubd84\uc57c\uc758 EDA\ub97c \uc2dc\uc791\uc73c\ub85c \uc624\ub298\ub0a0 \"IoT\"\uc640 \"\ub300\uaddc\ubaa8 \ub370\uc774\ud130\"\uc5d0 \ucd08\uc810\uc744 \ub9de\ucd98 \uc5d4\ud130\ud504\ub77c\uc774\uc988 \uc18c\ud504\ud2b8\uc6e8\uc5b4 \uad6c\ucd95\uc73c\ub85c \uc804\ud658\ud558\ub294 \ub4f1 20\ub144 \uc774\uc0c1 \ub2e4\uc591\ud55c \uc601\uc5ed\uc5d0\uc11c \uc18c\ud504\ud2b8\uc6e8\uc5b4 \uc81c\ud488\uc744 \uad6c\ucd95\ud588\uc2b5\ub2c8\ub2e4. Jon\uc740 \uc5ec\ub7ec \uc18c\uaddc\ubaa8 \uc18c\ud504\ud2b8\uc6e8\uc5b4 \ucee8\uc124\ud305 \ud68c\uc0ac\uc5d0\uc11c \uadfc\ubb34\ud558\ub2e4\uac00 \uacb0\uad6d \uc790\uc2e0\uc758 \ud68c\uc0ac\ub97c \uc124\ub9bd\ud558\uace0 \uacbd\uc601\ud558\uac8c \ub418\uc5c8\uc2b5\ub2c8\ub2e4. \uadf8\ub294 \uc555\ucd95 \ube44\ud2b8\ub9f5\uacfc \uceec\ub7fc \uc2a4\ud1a0\uc5b4\uc640 \uac19\uc740 \uc0c8\ub85c\uc6b4 \uae30\uc220\uc5d0 \uae30\uc5ec\ud558\uace0 \uc0c1\uc6a9\ud654\ud558\ub294 \ub370 \uc788\uc5b4 NoSQL\/NewSQL\uc5d0 \ub300\ud55c \ud3ed\ub113\uc740 \uacbd\ud5d8\uc744 \uac00\uc9c0\uace0 \uc788\uc2b5\ub2c8\ub2e4. Jon\uc740 \uc11c\ub358 \uce98\ub9ac\ud3ec\ub2c8\uc544 \ub300\ud559\uad50\uc5d0\uc11c \uc804\uae30\uacf5\ud559 \ud559\uc0ac \ubc0f \ucef4\ud4e8\ud130\uacf5\ud559 \uc11d\uc0ac \ud559\uc704\ub97c, \uce98\ub9ac\ud3ec\ub2c8\uc544 \ub300\ud559\uad50 \uc5b4\ubc14\uc778 \ucea0\ud37c\uc2a4\uc5d0\uc11c MBA\ub97c \ucde8\ub4dd\ud588\uc2b5\ub2c8\ub2e4."}],"_links":{"self":[{"href":"https:\/\/www.couchbase.com\/blog\/ko\/wp-json\/wp\/v2\/posts\/12479","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\/42711"}],"replies":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/ko\/wp-json\/wp\/v2\/comments?post=12479"}],"version-history":[{"count":0,"href":"https:\/\/www.couchbase.com\/blog\/ko\/wp-json\/wp\/v2\/posts\/12479\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/ko\/wp-json\/wp\/v2\/media\/12478"}],"wp:attachment":[{"href":"https:\/\/www.couchbase.com\/blog\/ko\/wp-json\/wp\/v2\/media?parent=12479"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/ko\/wp-json\/wp\/v2\/categories?post=12479"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/ko\/wp-json\/wp\/v2\/tags?post=12479"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/ko\/wp-json\/wp\/v2\/ppma_author?post=12479"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}