{"id":5584,"date":"2018-08-09T10:08:54","date_gmt":"2018-08-09T17:08:54","guid":{"rendered":"https:\/\/www.couchbase.com\/blog\/?p=5584"},"modified":"2019-01-02T05:45:56","modified_gmt":"2019-01-02T13:45:56","slug":"10-other-things-that-developers-must-know-about-couchbase","status":"publish","type":"post","link":"https:\/\/www.couchbase.com\/blog\/ko\/10-other-things-that-developers-must-know-about-couchbase\/","title":{"rendered":"\uac1c\ubc1c\uc790\uac00 \ubc18\ub4dc\uc2dc \uc54c\uc544\uc57c \ud560 10\uac00\uc9c0 Couchbase \uad00\ub828 \uc815\ubcf4"},"content":{"rendered":"<p>Couchbase Server 5.0\uacfc 5.5\ub294 \ub450 \uac00\uc9c0 \ud070 \ub9b4\ub9ac\uc2a4\uc600\uc2b5\ub2c8\ub2e4. \uac1c\ubc1c\uc790\uac00 \ub193\uccd0\uc11c\ub294 \uc548 \ub420 \uc0c8\ub86d\uace0 \uba4b\uc9c4 \uae30\ub2a5 \uba87 \uac00\uc9c0\ub97c \uc0b4\ud3b4\ubcf4\uaca0\uc2b5\ub2c8\ub2e4:<\/p>\n<h2><strong>1) \ud558\uc704 \ubb38\uc11c<\/strong><\/h2>\n<p>\uc774 \uae30\ub2a5\uc740 \ud55c\ub3d9\uc548 \uc0ac\uc6a9\ub418\uc5b4 \uc654\uc9c0\ub9cc \uc5ec\uc804\ud788 \uc5b8\uae09\ud560 \uac00\uce58\uac00 \uc788\uc2b5\ub2c8\ub2e4. \uc77c\ubd80 \ud0a4-\uac12 \uc800\uc7a5\uc18c\ub294 \uc804\uccb4 \ubb38\uc11c\ub97c \ud55c\uaebc\ubc88\uc5d0 \uac00\uc838\uc624\ub294 \uac83\ub9cc \ud5c8\uc6a9\ud558\ub294\ub370, \uc774\ub294 \ud569\ub9ac\uc801\uc778 \ud2b9\uc131\uc785\ub2c8\ub2e4. \uacb0\uad6d \ud0a4-\uac12 \uc800\uc7a5\uc18c\uc774\uae30 \ub54c\ubb38\uc785\ub2c8\ub2e4. \ud558\uc9c0\ub9cc \uce74\uc6b0\uce58\ubca0\uc774\uc2a4\ub97c KV\ub85c \uc0ac\uc6a9\ud558\ub294 \uacbd\uc6b0\uc5d0\ub294 \ubb38\uc11c\uc758 \uacbd\ub85c\ub97c \uc9c0\uc815\ud558\uc5ec \ubb38\uc11c\uc758 \uc77c\ubd80\ub97c \uc870\uc791\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \uc608:<\/p>\n<p>\ub2e4\uc74c \ubb38\uc11c\uac00 \uc8fc\uc5b4\uc9d1\ub2c8\ub2e4:<\/p>\n<pre class=\"lang:js decode:true\">{\r\n  \"name\": \"Douglas Reynholm\",\r\n  \"email\": \"douglas@reynholmindustries.com\",\r\n  \"addresses\": {\r\n    \"billing\": {\r\n      \"line1\": \"123 Any Street\",\r\n      \"line2\": \"Anytown\",\r\n      \"country\": \"United Kingdom\"\r\n    },\r\n    \"delivery\": {\r\n      \"line1\": \"123 Any Street\",\r\n      \"line2\": \"Anytown\",\r\n      \"country\": \"United Kingdom\"\r\n    }\r\n  },\r\n  \"purchases\": {\r\n    \"complete\": [\r\n      339, 976, 442, 666\r\n    ],\r\n    \"abandoned\": [\r\n      157, 42, 999\r\n    ]\r\n  }\r\n}<\/pre>\n<p>\ub2e4\uc74c\uacfc \uac19\uc774 \ubb38\uc11c\uc758 \uacbd\ub85c\ub97c \uc9c0\uc815\ud558\uae30\ub9cc \ud558\uba74 \ubb38\uc11c\uc758 \uc77c\ubd80\ub97c \uc870\uc791\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. <strong>GET('addresses.billing')<\/strong>\u00a0\ub610\ub294 <strong>ARRAY_APPEND('purchases.abandoned', 42)<\/strong><\/p>\n<p>\uc790\uc138\ud55c \ub0b4\uc6a9\uc740 \ub2e4\uc74c\uc744 \ucc38\uc870\ud558\uc138\uc694. <a href=\"https:\/\/developer.couchbase.com\/documentation\/server\/current\/sdk\/subdocument-operations.html\">\ube14\ub85c\uadf8 \uac8c\uc2dc\ubb3c<\/a> \ub610\ub294 <a href=\"https:\/\/www.couchbase.com\/blog\/ko\/subdoc-explained\/\">\uacf5\uc2dd \ubb38\uc11c<\/a>.<\/p>\n<p>&nbsp;<\/p>\n<h2>2) \uc774\ubca4\ud2b8<\/h2>\n<p>\uc774\ubca4\ud2b8\ub294 \ubd84\uba85\ud788 Couchbase 5.5\uc5d0\uc11c \uac00\uc7a5 \uba4b\uc9c4 \uae30\ub2a5 \uc911 \ud558\ub098\uc774\uba70, \uc774\ubbf8 \ub2e4\uc74c\uacfc \uac19\uc740 \ube14\ub85c\uadf8 \uac8c\uc2dc\ubb3c\uc5d0\uc11c \uc774 \uae30\ub2a5\uc744 \ub2e4\ub8e8\uace0 \uc788\uc2b5\ub2c8\ub2e4. <a href=\"https:\/\/www.couchbase.com\/blog\/ko\/couchbase-data-platform-action-eventing-functions\/\">\uc5ec\uae30<\/a> \ub610\ub294 <a href=\"https:\/\/www.couchbase.com\/blog\/ko\/detect-sensitive-information-nosql-documents-automatically-couchbase-functions\/\">\uc5ec\uae30<\/a>. \uc544\uc9c1 \ub4e4\uc5b4\ubcf4\uc9c0 \ubabb\ud55c \ubd84\ub4e4\uc744 \uc704\ud574, \uc774\ubca4\ud2b8 \uc11c\ube44\uc2a4\ub97c \ud1b5\ud574 \ub2e4\uc74c\uc744 \uc791\uc131\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.\u00a0<strong>\uc11c\ubc84 \uce21 \uae30\ub2a5<\/strong>\u00a0\ud568\uc218\ub294 \ubb38\uc11c\uac00 \uc0bd\uc785\/\uc5c5\ub370\uc774\ud2b8\/\uc0ad\uc81c\ub420 \ub54c\ub9c8\ub2e4 \uc790\ub3d9\uc73c\ub85c \ud2b8\ub9ac\uac70\ub429\ub2c8\ub2e4. \uc774\ub7ec\ud55c \ud568\uc218\ub294 JavaScript\uc640 \uc720\uc0ac\ud55c \uad6c\ubb38\uc744 \uc0ac\uc6a9\ud558\uc5ec \uc27d\uac8c \uc791\uc131\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-5585\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2018\/08\/eventing.png\" alt=\"\" width=\"544\" height=\"322\" srcset=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/08\/eventing.png 716w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/08\/eventing-300x178.png 300w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/08\/eventing-20x12.png 20w\" sizes=\"auto, (max-width: 544px) 100vw, 544px\" \/><\/p>\n<p>\ub610\ud55c \uc560\ud50c\ub9ac\ucf00\uc774\uc158\uc5d0\uc11c curl\uc744 \ud1b5\ud574 \uc5d4\ub4dc\ud3ec\uc778\ud2b8\ub97c \ud638\ucd9c\ud560 \uc218\ub3c4 \uc788\uc2b5\ub2c8\ub2e4:<\/p>\n<pre class=\"lang:js decode:true\">function OnUpdate(doc, meta) {\r\n  if (doc.resourceType != 'Observation') return;\r\n \r\n  let reference = doc.subject.reference;\r\n  let url = \"https:\/\/localhost:8080\/events\/\" + reference.substr(9);\r\n  let data = JSON.stringify({\r\n    \"reference\": doc.subject.reference,\r\n    \"code\": doc.code.coding[0].code,\r\n    \"recordedAt\": doc.issued,\r\n    \"value\": doc.valueQuantity.value\r\n  });\r\n \r\n  let curl = SELECT CURL($url, {\r\n    \"request\": \"POST\",\r\n    \"header\": [ \"Content-Type: application\/json\", \"accept: application\/json\" ],\r\n    \"data\": $data\r\n  });\r\n \r\n  curl.execQuery();\r\n}\r\n \r\nfunction OnDelete(meta) {}<\/pre>\n<p>&nbsp;<\/p>\n<h2><strong>3) ANSI \uac00\uc785<\/strong><\/h2>\n<p><strong>\u00a0<\/strong>\uce74\uc6b0\uce58\ubca0\uc774\uc2a4\uc5d0\uc11c\ub294 \ub2e4\uc74c\uc744 \uc0ac\uc6a9\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. <strong>joins<\/strong> \ub97c \ucffc\ub9ac\uc5d0\uc11c \uc0ac\uc6a9\ud560 \uc218 \uc788\ub3c4\ub85d \uc624\ub7ab\ub3d9\uc548 \uc9c0\uc6d0\ud588\uc9c0\ub9cc, \uc9c0\uae08\uae4c\uc9c0\ub294 \uc790\uccb4 \uad6c\ubb38\uc744 \uc0ac\uc6a9\ud574\uc57c\ub9cc \uc774 \uc791\uc5c5\uc744 \uc218\ud589\ud560 \uc218 \uc788\uc5c8\uc2b5\ub2c8\ub2e4. Couchbase 5.5\ubd80\ud130\ub294 ANSI JOIN \uad6c\ubb38\ub3c4 \uc0ac\uc6a9\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4:<\/p>\n<pre class=\"lang:default decode:true\">SELECT DISTINCT route.destinationairport\r\nFROM `travel-sample` airport JOIN `travel-sample` route\r\n     ON airport.faa = route.sourceairport\r\n        AND route.type = \"route\"\r\nWHERE airport.type = \"airport\"\r\n  AND airport.city = \"San Francisco\"\r\n  AND airport.country = \"United States\";\r\n<\/pre>\n<p>\uc790\uc138\ud55c \ub0b4\uc6a9\uc740 \ub2e4\uc74c\uacfc \uac19\uc774 \ud655\uc778\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. <a href=\"https:\/\/www.couchbase.com\/blog\/ko\/ansi-join-support-n1ql\/\">\uc5ec\uae30<\/a>.<\/p>\n<p>&nbsp;<\/p>\n<h2><strong>4) \uc804\uccb4 \ud14d\uc2a4\ud2b8 \uac80\uc0c9 <\/strong><\/h2>\n<p>\ub300\ubd80\ubd84\uc758 \uc0ac\uc6a9\uc790 \ub300\uba74 \uc560\ud50c\ub9ac\ucf00\uc774\uc158\uc740 \uacb0\uad6d \uc77c\uc885\uc758 \uace0\uae09 \uac80\uc0c9\uc744 \uad6c\ud604\ud574\uc57c \ud569\ub2c8\ub2e4. \uc774\ub7ec\ud55c \uc885\ub958\uc758 \uae30\ub2a5\uc744 \uad6c\ud604\ud558\ub824\uba74 \uc77c\ubc18\uc801\uc73c\ub85c \ub370\uc774\ud130\ub97c Solr \ub610\ub294 Elastic Search\uc640 \uac19\uc740 \ud0c0\uc0ac \ub3c4\uad6c\ub85c \ud478\uc2dc\ud574\uc57c \ud569\ub2c8\ub2e4. \uadf8\ub7ec\ub098 \uc774\ub7ec\ud55c \ub3c4\uad6c\ub97c \ucd94\uac00\ud558\uba74 \uc774\ub7ec\ud55c \ub3c4\uad6c\uc5d0 \uac1c\uccb4\/\ubb38\uc11c \ubcc0\uacbd \uc0ac\ud56d\uc744 \ud478\uc2dc\ud558\ub294 \ub370 \ud544\uc694\ud55c \ubaa8\ub4e0 \ucf54\ub4dc\ub294 \ub9d0\ud560 \uac83\ub3c4 \uc5c6\uace0 \uc778\ud504\ub77c\uc758 \ube44\uc6a9\uacfc \ubcf5\uc7a1\uc131\uc774 \ud06c\uac8c \uc99d\uac00\ud569\ub2c8\ub2e4.<\/p>\n<p>Couchbase 5.0\ubd80\ud130\ub294 \uc6f9 \ucf58\uc194\uc5d0\uc11c \uac04\ub2e8\ud558\uac8c \uc804\uccb4 \ud14d\uc2a4\ud2b8 \uac80\uc0c9 \uc778\ub371\uc2a4\ub97c \uc0dd\uc131\ud558\uace0 \ub370\uc774\ud130\ubca0\uc774\uc2a4\uc5d0\uc11c \ubc14\ub85c \uc804\uccb4 \ud14d\uc2a4\ud2b8 \uac80\uc0c9\uc744 \uc2dc\uc791\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-5586\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2018\/08\/Screen-Shot-2018-08-09-at-5.16.06-PM-1024x702.png\" alt=\"Full Text Search - Create Indes\" width=\"515\" height=\"353\" srcset=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/08\/Screen-Shot-2018-08-09-at-5.16.06-PM-1024x702.png 1024w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/08\/Screen-Shot-2018-08-09-at-5.16.06-PM-300x206.png 300w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/08\/Screen-Shot-2018-08-09-at-5.16.06-PM-768x526.png 768w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/08\/Screen-Shot-2018-08-09-at-5.16.06-PM-235x160.png 235w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/08\/Screen-Shot-2018-08-09-at-5.16.06-PM-20x14.png 20w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/08\/Screen-Shot-2018-08-09-at-5.16.06-PM.png 1027w\" sizes=\"auto, (max-width: 515px) 100vw, 515px\" \/><\/p>\n<p>\uac80\uc0c9 \uacb0\uacfc \uac15\uc870 \ud45c\uc2dc\ud558\uae30:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-large wp-image-5587\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2018\/08\/Screen-Shot-2018-08-09-at-5.19.18-PM-1024x327.png\" alt=\"\" width=\"900\" height=\"287\" srcset=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/08\/Screen-Shot-2018-08-09-at-5.19.18-PM-1024x327.png 1024w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/08\/Screen-Shot-2018-08-09-at-5.19.18-PM-300x96.png 300w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/08\/Screen-Shot-2018-08-09-at-5.19.18-PM-768x245.png 768w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/08\/Screen-Shot-2018-08-09-at-5.19.18-PM-20x6.png 20w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/08\/Screen-Shot-2018-08-09-at-5.19.18-PM.png 1251w\" sizes=\"auto, (max-width: 900px) 100vw, 900px\" \/><\/p>\n<p>&nbsp;<\/p>\n<p>SDK\ub97c \ud1b5\ud574 \uac04\ub2e8\ud55c \uac80\uc0c9\uc744 \ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4:<\/p>\n<pre class=\"lang:java decode:true\">    @Override\r\n    public List&lt;SearchQueryRow&gt; searchQuery(String word) {\r\n        String indexName = \"movies_index\";\r\n        QueryStringQuery query = SearchQuery.queryString(word);\r\n\r\n        SearchQueryResult result = movieRepository.getCouchbaseOperations().getCouchbaseBucket().query(\r\n                new SearchQuery(indexName, query).highlight().limit(20));\r\n\r\n        List&lt;SearchQueryRow&gt; hits = new ArrayList&lt;&gt;();\r\n        if (result != null &amp;&amp; result.errors().isEmpty()) {\r\n            Iterator&lt;SearchQueryRow&gt; resultIterator = result.iterator();\r\n            while (resultIterator.hasNext()) {\r\n                hits.add(resultIterator.next());\r\n            }\r\n        }\r\n        return hits;\r\n    }<\/pre>\n<p>\uacf5\uc2dd \ubb38\uc11c\ub97c \ubcfc \uc218 \uc788\uc2b5\ub2c8\ub2e4. <a href=\"https:\/\/developer.couchbase.com\/documentation\/server\/5.5\/fts\/full-text-intro.html\">\uc5ec\uae30<\/a>.<\/p>\n<p>&nbsp;<\/p>\n<h2><strong>5) \ub354 \ube60\ub978 \ucffc\ub9ac, GROUP BY \ubc0f \uc9d1\uacc4 \ud478\uc2dc\ub2e4\uc6b4<\/strong><\/h2>\n<p>\ub370\uc774\ud130\ubca0\uc774\uc2a4\uc5d0 \uad00\uacc4\uc5c6\uc774 \uc9d1\uacc4(\ucd5c\uc18c, \ucd5c\ub300, \ud3c9\uade0 \ub4f1) \ubc0f GROUP BY \uc791\uc5c5\uc740 \uc131\ub2a5 \uce21\uba74\uc5d0\uc11c \ud56d\uc0c1 \ubb38\uc81c\uac00 \ub418\uc5b4 \uc654\uc2b5\ub2c8\ub2e4. \uc774 \ubb38\uc81c\ub97c \ud574\uacb0\ud558\uae30 \uc704\ud574 Couchbase 5.5\uc5d0\uc11c\ub294 \uc778\ub371\uc2a4\ub97c \ud65c\uc6a9\ud558\uc5ec \uc774\ub7ec\ud55c \uc720\ud615\uc758 \ucffc\ub9ac \uc18d\ub3c4\ub97c \ub192\uc77c \uc218 \uc788\uc2b5\ub2c8\ub2e4:<\/p>\n<pre class=\"lang:default decode:true\">SELECT country, state, city, COUNT(1) AS total\r\nFROM `travel-sample`\r\nWHERE type = 'hotel' and country is not null\r\nGROUP BY country, state, city\r\nORDER BY COUNT(1) DESC;<\/pre>\n<p>~90ms - \uc704 \ucffc\ub9ac\uc758 \ucffc\ub9ac \uacc4\ud68d<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-large wp-image-5588\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2018\/08\/10204-query-plan-no-pushdown-1024x160.png\" alt=\"\" width=\"900\" height=\"141\" srcset=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/08\/10204-query-plan-no-pushdown-1024x160.png 1024w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/08\/10204-query-plan-no-pushdown-300x47.png 300w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/08\/10204-query-plan-no-pushdown-768x120.png 768w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/08\/10204-query-plan-no-pushdown-20x3.png 20w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/08\/10204-query-plan-no-pushdown.png 1238w\" sizes=\"auto, (max-width: 900px) 100vw, 900px\" \/><\/p>\n<p>~7ms - \uc774\uc804\uacfc \ub3d9\uc77c\ud55c \ucffc\ub9ac\uc774\uc9c0\ub9cc \uc801\uc808\ud55c \uc778\ub371\uc2a4\ub97c \uc0ac\uc6a9\ud569\ub2c8\ub2e4.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-large wp-image-5589\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2018\/08\/10205-query-plan-with-pushdown-1024x153.png\" alt=\"\" width=\"900\" height=\"134\" srcset=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/08\/10205-query-plan-with-pushdown-1024x153.png 1024w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/08\/10205-query-plan-with-pushdown-300x45.png 300w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/08\/10205-query-plan-with-pushdown-768x115.png 768w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/08\/10205-query-plan-with-pushdown-20x3.png 20w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/08\/10205-query-plan-with-pushdown.png 1297w\" sizes=\"auto, (max-width: 900px) 100vw, 900px\" \/><\/p>\n<p>\uc790\uc138\ud55c \ub0b4\uc6a9\uc740 <a href=\"https:\/\/www.couchbase.com\/blog\/ko\/new-querying-features-couchbase-server\/\">\uc804\uccb4 \uae30\uc0ac \ubcf4\uae30<\/a>.<\/p>\n<p>&nbsp;<\/p>\n<h2><strong>6) \uc5ed\ud560 \uae30\ubc18 \uc561\uc138\uc2a4 \uc81c\uc5b4 \ubc0f X509 \uc778\uc99d<\/strong><\/h2>\n<p><strong>\u00a0<\/strong>\ub370\uc774\ud130\ubca0\uc774\uc2a4\ub294 \uc545\uc758\uc801\uc778 \uce68\uc785\uc790\uc5d0\uac8c\ub294 \ub300\ubc15\uc774\uae30 \ub54c\ubb38\uc5d0 \ubcf4\uc548 \uacc4\uce35\uc744 \ucd94\uac00\ud558\ub294 \uac83\uc740 \uacb0\ucf54 \uacfc\ud55c \uc77c\uc774 \uc544\ub2d9\ub2c8\ub2e4. Couchbase\ub85c, <a href=\"https:\/\/www.couchbase.com\/blog\/ko\/x-509-certificate-based-authentication\/\">X.509 \uc778\uc99d\uc11c\ub97c \uc0ac\uc6a9\ud558\uc5ec \ud074\ub77c\uc774\uc5b8\ud2b8\ub97c \uc778\uc99d\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/a> \uc5ed\ud560 \uae30\ubc18 \uc561\uc138\uc2a4 \uc81c\uc5b4(RBAC)\ub97c \ud1b5\ud574 \uc561\uc138\uc2a4\ub97c \uc81c\ud55c\ud569\ub2c8\ub2e4:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-5590\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2018\/08\/06602-create-new-user-with-select-authorization.gif\" alt=\"\" width=\"650\" height=\"518\" \/><\/p>\n<p>N1QL\uc744 \ud1b5\ud574 \uad8c\ud55c\uc744 \ubd80\uc5ec\ud560 \uc218\ub3c4 \uc788\uc2b5\ub2c8\ub2e4. \uc0ac\uc6a9\uc790\uc5d0 \ub300\ud55c SELECT \uad8c\ud55c\uc744 \ubd80\uc5ec\ud558\ub294 \ubc29\ubc95\uc744 \uc0b4\ud3b4\ubcf4\uaca0\uc2b5\ub2c8\ub2e4. <strong>denis<\/strong> \ubc84\ud0b7\uc5d0 <strong>\uc77c\ubd80_\ubc84\ud0b7<\/strong> \uac00 \uc5b4\ub5bb\uac8c \uc0dd\uacbc\uc744\uae4c\uc694?<\/p>\n<pre class=\"lang:default decode:true\">GRANT ROLE query_select(some_bucket) TO denis;<\/pre>\n<p>\uc790\uc138\ud55c \ub0b4\uc6a9\uc740 \ub2e4\uc74c\uacfc \uac19\uc774 \ud655\uc778\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. <a href=\"https:\/\/www.couchbase.com\/blog\/ko\/using-role-based-access-control-in-n1ql\/\">\uc5ec\uae30<\/a> \ub610\ub294 <a href=\"https:\/\/www.couchbase.com\/blog\/ko\/authentication-authorization-rbac-part-2\/\">\uc5ec\uae30<\/a>.<\/p>\n<p>&nbsp;<\/p>\n<h2><strong>7) \ud544\ub4dc \uc554\ud638\ud654<\/strong><\/h2>\n<p>\ubbf8\uc0ac\uc6a9 \uc554\ud638\ud654\ub294 \uac00\uc7a5 \uae30\ubcf8\uc801\uc778 \ubcf4\uc548 \ud615\ud0dc \uc911 \ud558\ub098\uc774\uba70, \ub2e4\uc74c\uc744 \uc0ac\uc6a9\ud558\uc5ec \ud544\ub4dc\ub97c \uc27d\uac8c \uc554\ud638\ud654\/\ubcf5\ud638\ud654\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. <a href=\"https:\/\/github.com\/couchbase\/java-couchbase-encryption\">Couchbase\uc758 Java \uc554\ud638\ud654<\/a>:<\/p>\n<pre class=\"lang:java decode:true\">public static class Person {\r\n    @Id\r\n    public String id;\r\n\r\n    @EncryptedField(provider = \"AES\")\r\n    public String password;\r\n\r\n    \/\/The rest will be transported and stored unencrypted\r\n    public String firstName;\r\n    public String lastName;\r\n    public String userName;\r\n    public int age;\r\n  }<\/pre>\n<p>\uc790\uc138\ud788 \uc54c\uc544\ubcf4\uae30 <a href=\"https:\/\/developer.couchbase.com\/documentation\/server\/5.5\/sdk\/java\/encrypting-using-sdk.html\">\uc5ec\uae30<\/a> \ub610\ub294 <a href=\"https:\/\/developer.couchbase.com\/documentation\/server\/5.5\/sdk\/encryption.html\">\uc5ec\uae30<\/a>.<\/p>\n<p>&nbsp;<\/p>\n<h2><strong>8) \ubc18\uc751\ud615 SDK<\/strong><\/h2>\n<p>\ub610\ud55c \ub300\ubd80\ubd84\uc758 \ub370\uc774\ud130\ubca0\uc774\uc2a4 \uc81c\uacf5\uc5c5\uccb4\uc5d0\uc11c \uc27d\uac8c \ucc3e\uc544\ubcfc \uc218 \uc5c6\ub294 \ubc18\uc751\ud615 SDK\ub97c \uc81c\uacf5\ud569\ub2c8\ub2e4. \uc774\ub294 \ub300\ubd80\ubd84 \uc800\ud76c SDK \uc790\uccb4\uac00 \ubc18\uc751\ud615\uc73c\ub85c \uad6c\ud604\ub418\uc5b4 \uc788\uae30 \ub54c\ubb38\uc785\ub2c8\ub2e4.<\/p>\n<p>\ubc18\uc751\ud615 \ud504\ub85c\uadf8\ub798\ubc0d\uc740 \uc131\ub2a5\uacfc \ub9ac\uc18c\uc2a4 \ucd5c\uc801\ud654\uc5d0 \ub9e4\uc6b0 \uc911\uc694\ud569\ub2c8\ub2e4. \uc544\uc9c1 \uc774 \uac1c\ub150\uc5d0 \uc775\uc219\ud558\uc9c0 \uc54a\ub2e4\uba74 \ub2e4\uc74c\uc744 \uc801\uadf9 \uad8c\uc7a5\ud569\ub2c8\ub2e4. <a href=\"https:\/\/www.couchbase.com\/blog\/ko\/why-you-should-care-about-reactive-database-access\/\">\uc774 \ubb38\uc11c<\/a>\uc5d0\uc11c \uc9c0\uc18d\uc131 \uacc4\uce35\uc5d0 \ubc18\uc751\ud615 \ud504\ub85c\uadf8\ub798\ubc0d\uc744 \uc0ac\uc6a9\ud558\ub294 \uc774\uc720\ub97c \uac04\ub7b5\ud558\uac8c \uc0b4\ud3b4\ubcfc \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n<p>\uc774 \uc8fc\uc81c\uc5d0 \ub300\ud55c \uad11\ubc94\uc704\ud55c \uc790\ub8cc\uac00 \uc788\uc2b5\ub2c8\ub2e4. \ub354 \uc790\uc138\ud788 \uc54c\uace0 \uc2f6\uc73c\uc2dc\uba74 \ub2e4\uc74c\uc744 \uc2dc\uc791\ud558\uc138\uc694. <a href=\"https:\/\/developer.couchbase.com\/documentation\/server\/current\/sdk\/java\/async-programming.html\">\uc5ec\uae30<\/a> \ub610\ub294 <a href=\"https:\/\/www.youtube.com\/watch?v=BS0MWy5QND8&amp;t=711s\">\uc5ec\uae30<\/a>.<\/p>\n<p>&nbsp;<\/p>\n<h2><strong>9) SDK\ub97c \ud1b5\ud55c '\ubbf8\uc138 \uc18d\ub3c4 \uc870\uc815'<\/strong><\/h2>\n<p>\uce74\uc6b0\uce58\ubca0\uc774\uc2a4\uc5d0\uc11c\ub294 \uac1c\ubc1c\uc790\uac00 \ubb38\uc11c \uc218\uc900\uc5d0\uc11c\ub3c4 \uc131\ub2a5\uc744 \ubbf8\uc138 \uc870\uc815\ud560 \uc218 \uc788\ub3c4\ub85d \uc9c0\uc6d0\ud558\uc5ec \uac1c\ubc1c\uc790\uac00 \uac01 \uc2dc\ub098\ub9ac\uc624\uc5d0 \ub300\ud574 \ucd5c\uc801\uc758 \uc808\ucda9\uc810\uc744 \uc0ac\ub840\ubcc4\ub85c \uacb0\uc815\ud560 \uc218 \uc788\ub3c4\ub85d \ud569\ub2c8\ub2e4.<\/p>\n<p>\uc608\ub97c \ub4e4\uc5b4 Couchbase\uac00 \ub370\uc774\ud130\ub97c \uc800\uc7a5\ud558\ub294 \ubc29\uc2dd\uc744 \uc0b4\ud3b4\ubd05\uc2dc\ub2e4. \uae30\ubcf8\uc801\uc73c\ub85c \uc11c\ubc84\ub294 \uc0c8 \ubb38\uc11c\uac00 \uc800\uc7a5\ub418\uc5b4\uc57c \ud568\uc744 \uc778\uc2dd\ud558\ub294 \uc989\uc2dc \"\uc694\uccad\uc774 \uc131\uacf5\uc801\uc73c\ub85c \uc218\uc2e0\ub418\uc5c8\uc2b5\ub2c8\ub2e4\"\ub77c\ub294 \uc751\ub2f5\uc744 \ud074\ub77c\uc774\uc5b8\ud2b8\uc5d0 \ubcf4\ub0b4\uace0 \ube44\ub3d9\uae30\uc801\uc73c\ub85c \ubb38\uc11c\ub97c \uc800\uc7a5 \ubc0f \ubcf5\uc81c\ud569\ub2c8\ub2e4.<\/p>\n<p>\uc774 \ubc29\ubc95\uc740 \uc18d\ub3c4\uc5d0\ub294 \ub9e4\uc6b0 \uc88b\uc9c0\ub9cc \ubb38\uc11c\uac00 \uc11c\ubc84\uc758 \uba54\ubaa8\ub9ac\uc5d0 \ub0a8\uc544 \uc788\uc744 \ub54c \uc11c\ubc84\uac00 \ucda9\ub3cc\ud558\uba74 \ub370\uc774\ud130\uac00 \uc190\uc2e4\ub420 \uac00\ub2a5\uc131\uc774 \uc801\uc2b5\ub2c8\ub2e4.  \uc774\ub97c \ubc29\uc9c0\ud558\ub824\uba74 \ubb38\uc11c\uac00 \ubcf5\uc81c\ub418\uac70\ub098 \ub514\uc2a4\ud06c\uc5d0 \uc800\uc7a5\ub41c \ud6c4\uc5d0\ub9cc \ud655\uc778\uc744 \ubc1b\ub3c4\ub85d SDK\ub97c \ud1b5\ud574 \uc9c0\uc815\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4:<\/p>\n<pre class=\"lang:java decode:true\">movieRepository.getCouchbaseOperations().save(movie, PersistTo.ONE, ReplicateTo.NONE);\r\n\/\/or\r\nmovieRepository.getCouchbaseOperations().save(movie, PersistTo.ONE, ReplicateTo.TWO);\r\n...\r\nmovieRepository.getCouchbaseOperations().save(movie, PersistTo.NONE, ReplicateTo.ONE);\r\n<\/pre>\n<p>\uc65c \uadf8\ub7f0 \uac83\uc744 \ud5c8\uc6a9\ud560\uae4c\uc694? \uc11c\ubc84\uac00 \ub2e4\uc6b4\ub418\uc5b4 \ub370\uc774\ud130\uac00 \uc190\uc2e4\ub420 \uac00\ub2a5\uc131\uc744 \uc870\uae08\ub9cc \uac10\uc218\ud560 \uc218 \uc788\ub2e4\uba74 \uc131\ub2a5\uc744 \ud06c\uac8c \ud5a5\uc0c1\uc2dc\ud0ac \uc218 \uc788\uae30 \ub54c\ubb38\uc785\ub2c8\ub2e4. \uc2dc\uc2a4\ud15c\uc5d0\uc11c \uc774\ub7ec\ud55c \uc704\ud5d8\uc744 \uac10\uc218\ud560 \ub9cc\ud55c \uac00\uce58\uac00 \uc788\ub294 \ubd80\ubd84\uc744 \uacb0\uc815\ud560 \uc218 \uc788\uc73c\ubbc0\ub85c \uc774\uac83\uc740 \uc804\ubd80 \uc544\ub2c8\uba74 \uc804\ubb34\uc758 \uacb0\uc815\uc774 \uc544\ub2d9\ub2c8\ub2e4.<\/p>\n<p>\ucffc\ub9ac\uc5d0\uc11c\ub3c4 \ube44\uc2b7\ud55c \uc791\uc5c5\uc744 \uc218\ud589\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \uc774 \uacbd\uc6b0 \ub9c8\uc9c0\ub9c9 \ubcc0\uacbd \uc0ac\ud56d\uc744 \uae30\uc900\uc73c\ub85c \uc778\ub371\uc2a4\/\ubcf4\uae30\uac00 \uc5c5\ub370\uc774\ud2b8\ub420 \ub54c\uae4c\uc9c0 \uae30\ub2e4\ub9ac\uac70\ub098 \ubb38\uc11c\uc758 \ucd5c\uc2e0 \ubc84\uc804\uc774 \ubc18\ud658\ub418\uc9c0 \uc54a\uc744 \uac00\ub2a5\uc131\uc774 \uc791\uc544\ub3c4 \uad1c\ucc2e\uc740\uc9c0 \uc5ec\ubd80\ub97c \uacb0\uc815\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4:<\/p>\n<pre class=\"lang:java decode:true\">\/\/You can use ScanConsistency.REQUEST_PLUS, ScanConsistency.NOT_BOUNDED or ScanConsistency.STATEMENT_PLUS\r\nN1qlParams params = N1qlParams.build().consistency(ScanConsistency.REQUEST_PLUS).adhoc(true);\r\nParameterizedN1qlQuery query = N1qlQuery.parameterized(queryString, JsonObject.create(), params);\r\nresourceRepository.getCouchbaseOperations().getCouchbaseBucket().query(query);<\/pre>\n<p>SDK\uc5d0\ub294 \ucd5c\uc801\ud654\ud560 \uc218 \uc788\ub294 \uba87 \uac00\uc9c0 \ub2e4\ub978 \uae30\ub2a5\ub3c4 \uc788\uc73c\uba70, \uc774\ub7ec\ud55c \uc791\uc740 \uacb0\uc815\uc73c\ub85c \ub300\uaddc\ubaa8\ub85c \uc131\ub2a5\uc744 \ud06c\uac8c \ud5a5\uc0c1\uc2dc\ud0ac \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n<p>&nbsp;<\/p>\n<h2><strong>10) \uc751\ub2f5 \uc2dc\uac04 \uad00\ucc30 \uac00\ub2a5\uc131<\/strong><\/h2>\n<p>\uc774 \ud56d\ubaa9\uc740 \uc774\ubbf8 <a href=\"https:\/\/www.couchbase.com\/blog\/ko\/10-other-things-that-devops-sys-admins-must-know-about-couchbase\/\">\uc774\uc804 \ube14\ub85c\uadf8 \uac8c\uc2dc\ubb3c<\/a>\uc5d0\uc11c\ub3c4 \uc5b8\uae09\ud588\uc9c0\ub9cc \ub2e4\uc2dc \uc5b8\uae09\ud560 \uac00\uce58\uac00 \uc788\ub2e4\uace0 \uc0dd\uac01\ud569\ub2c8\ub2e4. \ubc84\uc804 5.5\ubd80\ud130 \uc751\ub2f5 \uc2dc\uac04 \uad00\ucc30 \uae30\ub2a5\uc774\ub77c\ub294 \uc0c8\ub85c\uc6b4 \uae30\ub2a5\uc744 \ub3c4\uc785\ud558\uc5ec \uc2dc\uc2a4\ud15c \uac1c\ubc1c\uc790\uac00 (\uc870\uc815 \uac00\ub2a5\ud55c) \uc784\uacc4\uac12\uc744 \uae30\uc900\uc73c\ub85c \uc751\ub2f5 \uc2dc\uac04\uc744 \uad00\ucc30\ud560 \uc218 \uc788\ub294 \ub9e4\uc6b0 \uac04\ub2e8\ud55c \ubc29\ubc95\uc744 \uc81c\uacf5\ud558\uac8c \ub418\uc5c8\uc2b5\ub2c8\ub2e4.<\/p>\n<p>\uc624\ud508\ud2b8\ub808\uc774\uc2f1 \ud615\uc2dd\uc744 \uc0ac\uc6a9\ud558\ub294 \uc774 \uae30\ub2a5\uc740 \ub290\ub9b0 \uc694\uccad\uacfc \uadf8\uc5d0 \ub300\ud55c \uc138\ubd80 \uc815\ubcf4\ub97c \uc2dc\uac04 \uac04\uaca9\ub9c8\ub2e4 \uae30\ub85d\ud558\ubbc0\ub85c \uc131\ub2a5\uc774 \uc800\ud558\ub41c \uc791\uc5c5\uc744 \uc27d\uac8c \uc2dd\ubcc4\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n<pre class=\"lang:default decode:true\">Apr 04, 2018 9:42:57 AM com.couchbase.client.core.tracing.ThresholdLogReporter logOverThreshold\r\nWARNING: Operations over threshold: [ {\r\n  \"top\" : [ {\r\n    \"server_us\" : 8,\r\n    \"local_id\" : \"41837B87B9B1C5D1\/000000004746B9AA\",\r\n    \"local_address\" : \"127.0.0.1:55011\",\r\n    \"operation_id\" : \"get:0x6\",\r\n    \"dispatch_us\" : 315,\r\n    \"remote_address\" : \"127.0.0.1:11210\",\r\n    \"total_us\" : 576\r\n  }, {\r\n    \"server_us\" : 8,\r\n    \"local_id\" : \"41837B87B9B1C5D1\/000000004746B9AA\",\r\n    \"local_address\" : \"127.0.0.1:55011\",\r\n    \"operation_id\" : \"get:0x5\",\r\n    \"dispatch_us\" : 319,\r\n    \"remote_address\" : \"127.0.0.1:11210\",\r\n    \"total_us\" : 599\r\n  }, {\r\n    \"server_us\" : 8,\r\n    \"local_id\" : \"41837B87B9B1C5D1\/000000004746B9AA\",\r\n    \"local_address\" : \"127.0.0.1:55011\",\r\n    \"operation_id\" : \"get:0x4\",\r\n    \"dispatch_us\" : 332,\r\n    \"remote_address\" : \"127.0.0.1:11210\",\r\n    \"total_us\" : 632\r\n  }, {\r\n    \"server_us\" : 11,\r\n    \"local_id\" : \"41837B87B9B1C5D1\/000000004746B9AA\",\r\n    \"local_address\" : \"127.0.0.1:55011\",\r\n    \"operation_id\" : \"get:0x3\",\r\n    \"dispatch_us\" : 392,\r\n    \"remote_address\" : \"127.0.0.1:11210\",\r\n    \"total_us\" : 762\r\n  }, {\r\n    \"server_us\" : 23,\r\n    \"local_id\" : \"41837B87B9B1C5D1\/000000004746B9AA\",\r\n    \"local_address\" : \"127.0.0.1:55011\",\r\n    \"operation_id\" : \"get:0x1\",\r\n    \"decode_us\" : 9579,\r\n    \"dispatch_us\" : 947,\r\n    \"remote_address\" : \"127.0.0.1:11210\",\r\n    \"total_us\" : 16533\r\n  }, {\r\n    \"server_us\" : 56,\r\n    \"encode_us\" : 12296,\r\n    \"local_id\" : \"41837B87B9B1C5D1\/000000004746B9AA\",\r\n    \"local_address\" : \"127.0.0.1:55011\",\r\n    \"operation_id\" : \"upsert:0x2\",\r\n    \"dispatch_us\" : 1280,\r\n    \"remote_address\" : \"127.0.0.1:11210\",\r\n    \"total_us\" : 20935\r\n  } ],\r\n  \"service\" : \"kv\",\r\n  \"count\" : 6\r\n} ]<\/pre>\n<p>&nbsp;<\/p>\n<p style=\"background: white; vertical-align: baseline; margin: 0in 0in 16.8pt 0in;\">\uc751\ub2f5 \uc2dc\uac04 \uad00\ucc30 \uac00\ub2a5\uc131\uc740 \uae30\ubcf8\uc801\uc73c\ub85c \ucf1c\uc838 \uc788\uc73c\uba70, \uc815\uc0c1 \uc694\uccad\uc744 \uae30\ub85d\ud558\uc9c0 \uc54a\ub3c4\ub85d \uc784\uacc4\uac12\uc744 \uc774\ubbf8 \uc815\uc758\ud574 \ub193\uc558\uc2b5\ub2c8\ub2e4. \ud074\ub7ec\uc2a4\ud130\uc758 \ud55c\uacc4\ub97c \ub6f0\uc5b4\ub118\uace0 \uc2f6\ub2e4\uba74 \ub354 \uc791\uc740 \uc784\uacc4\uac12\uc744 \uc218\ub3d9\uc73c\ub85c \uc124\uc815\ud560 \uc218\ub3c4 \uc788\uc2b5\ub2c8\ub2e4. \uc790\uc138\ud55c \ub0b4\uc6a9\uc740 \ub2e4\uc74c\uc744 \ucc38\uc870\ud558\uc138\uc694.\u00a0<a href=\"https:\/\/www.couchbase.com\/blog\/ko\/response-time-observability-with-the-java-sdk\/\"><span style=\"color: windowtext; text-decoration: none;\">\uc5ec\uae30<\/span><\/a>.<\/p>\n<p>&nbsp;<\/p>","protected":false},"excerpt":{"rendered":"<p>Couchbase Server 5.0 and 5.5 were two big releases. Let\u2019s see some of the new cool and old features which developers can\u2019t miss out: 1) Sub Documents This feature has been here for a while, but it\u2019s still worth to [&hellip;]<\/p>","protected":false},"author":8754,"featured_media":13873,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"inline_featured_image":false,"footnotes":""},"categories":[1815],"tags":[],"ppma_author":[9059],"class_list":["post-5584","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-best-practices-and-tutorials"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v26.5 (Yoast SEO v26.5) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>10 other things that developers must know about Couchbase<\/title>\n<meta name=\"description\" content=\"Learn the 10 features that developers must know about the Couchbase Server 5.0 and 5.5 to avoid logging healthy requests.\" \/>\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\/10-other-things-that-developers-must-know-about-couchbase\/\" \/>\n<meta property=\"og:locale\" content=\"ko_KR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"10 other things that developers must know about Couchbase\" \/>\n<meta property=\"og:description\" content=\"Learn the 10 features that developers must know about the Couchbase Server 5.0 and 5.5 to avoid logging healthy requests.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.couchbase.com\/blog\/ko\/10-other-things-that-developers-must-know-about-couchbase\/\" \/>\n<meta property=\"og:site_name\" content=\"The Couchbase Blog\" \/>\n<meta property=\"article:published_time\" content=\"2018-08-09T17:08:54+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2019-01-02T13:45:56+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2022\/11\/couchbase-nosql-dbaas.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1800\" \/>\n\t<meta property=\"og:image:height\" content=\"630\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Denis Rosa, Developer Advocate, Couchbase\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@deniswsrosa\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Denis Rosa, Developer Advocate, Couchbase\" \/>\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\/10-other-things-that-developers-must-know-about-couchbase\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/10-other-things-that-developers-must-know-about-couchbase\/\"},\"author\":{\"name\":\"Denis Rosa, Developer Advocate, Couchbase\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/fe3c5273e805e72a5294611a48f62257\"},\"headline\":\"10 other things that developers must know about Couchbase\",\"datePublished\":\"2018-08-09T17:08:54+00:00\",\"dateModified\":\"2019-01-02T13:45:56+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/10-other-things-that-developers-must-know-about-couchbase\/\"},\"wordCount\":1067,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/10-other-things-that-developers-must-know-about-couchbase\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png\",\"articleSection\":[\"Best Practices and Tutorials\"],\"inLanguage\":\"ko-KR\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.couchbase.com\/blog\/10-other-things-that-developers-must-know-about-couchbase\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/10-other-things-that-developers-must-know-about-couchbase\/\",\"url\":\"https:\/\/www.couchbase.com\/blog\/10-other-things-that-developers-must-know-about-couchbase\/\",\"name\":\"10 other things that developers must know about Couchbase\",\"isPartOf\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/10-other-things-that-developers-must-know-about-couchbase\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/10-other-things-that-developers-must-know-about-couchbase\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png\",\"datePublished\":\"2018-08-09T17:08:54+00:00\",\"dateModified\":\"2019-01-02T13:45:56+00:00\",\"description\":\"Learn the 10 features that developers must know about the Couchbase Server 5.0 and 5.5 to avoid logging healthy requests.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/10-other-things-that-developers-must-know-about-couchbase\/#breadcrumb\"},\"inLanguage\":\"ko-KR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.couchbase.com\/blog\/10-other-things-that-developers-must-know-about-couchbase\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"ko-KR\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/10-other-things-that-developers-must-know-about-couchbase\/#primaryimage\",\"url\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png\",\"contentUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png\",\"width\":1800,\"height\":630},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/10-other-things-that-developers-must-know-about-couchbase\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.couchbase.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"10 other things that developers must know about Couchbase\"}]},{\"@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\/fe3c5273e805e72a5294611a48f62257\",\"name\":\"Denis Rosa, Developer Advocate, Couchbase\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"ko-KR\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/image\/be0716f6199cfb09417c92cf7a8fa8d6\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/f8d1f5c13115122cab89d0f229b904480bfe20d3dfbb093fe9734cda5235d419?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/f8d1f5c13115122cab89d0f229b904480bfe20d3dfbb093fe9734cda5235d419?s=96&d=mm&r=g\",\"caption\":\"Denis Rosa, Developer Advocate, Couchbase\"},\"description\":\"Denis Rosa is a Developer Advocate for Couchbase and lives in Munich - Germany. He has a solid experience as a software engineer and speaks fluently Java, Python, Scala and Javascript. Denis likes to write about search, Big Data, AI, Microservices and everything else that would help developers to make a beautiful, faster, stable and scalable app.\",\"sameAs\":[\"https:\/\/x.com\/deniswsrosa\"],\"url\":\"https:\/\/www.couchbase.com\/blog\/ko\/author\/denis-rosa\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"\uac1c\ubc1c\uc790\uac00 \ubc18\ub4dc\uc2dc \uc54c\uc544\uc57c \ud560 10\uac00\uc9c0 Couchbase \uad00\ub828 \uc815\ubcf4","description":"\uc815\uc0c1 \uc694\uccad\uc744 \ub85c\uae45\ud558\uc9c0 \uc54a\uae30 \uc704\ud574 \uac1c\ubc1c\uc790\uac00 \ubc18\ub4dc\uc2dc \uc54c\uc544\uc57c \ud560 Couchbase Server 5.0 \ubc0f 5.5\uc758 10\uac00\uc9c0 \uae30\ub2a5\uc5d0 \ub300\ud574 \uc54c\uc544\ubcf4\uc138\uc694.","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\/10-other-things-that-developers-must-know-about-couchbase\/","og_locale":"ko_KR","og_type":"article","og_title":"10 other things that developers must know about Couchbase","og_description":"Learn the 10 features that developers must know about the Couchbase Server 5.0 and 5.5 to avoid logging healthy requests.","og_url":"https:\/\/www.couchbase.com\/blog\/ko\/10-other-things-that-developers-must-know-about-couchbase\/","og_site_name":"The Couchbase Blog","article_published_time":"2018-08-09T17:08:54+00:00","article_modified_time":"2019-01-02T13:45:56+00:00","og_image":[{"width":1800,"height":630,"url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2022\/11\/couchbase-nosql-dbaas.png","type":"image\/png"}],"author":"Denis Rosa, Developer Advocate, Couchbase","twitter_card":"summary_large_image","twitter_creator":"@deniswsrosa","twitter_misc":{"Written by":"Denis Rosa, Developer Advocate, Couchbase","Est. reading time":"8\ubd84"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.couchbase.com\/blog\/10-other-things-that-developers-must-know-about-couchbase\/#article","isPartOf":{"@id":"https:\/\/www.couchbase.com\/blog\/10-other-things-that-developers-must-know-about-couchbase\/"},"author":{"name":"Denis Rosa, Developer Advocate, Couchbase","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/fe3c5273e805e72a5294611a48f62257"},"headline":"10 other things that developers must know about Couchbase","datePublished":"2018-08-09T17:08:54+00:00","dateModified":"2019-01-02T13:45:56+00:00","mainEntityOfPage":{"@id":"https:\/\/www.couchbase.com\/blog\/10-other-things-that-developers-must-know-about-couchbase\/"},"wordCount":1067,"commentCount":0,"publisher":{"@id":"https:\/\/www.couchbase.com\/blog\/#organization"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/10-other-things-that-developers-must-know-about-couchbase\/#primaryimage"},"thumbnailUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png","articleSection":["Best Practices and Tutorials"],"inLanguage":"ko-KR","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.couchbase.com\/blog\/10-other-things-that-developers-must-know-about-couchbase\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.couchbase.com\/blog\/10-other-things-that-developers-must-know-about-couchbase\/","url":"https:\/\/www.couchbase.com\/blog\/10-other-things-that-developers-must-know-about-couchbase\/","name":"\uac1c\ubc1c\uc790\uac00 \ubc18\ub4dc\uc2dc \uc54c\uc544\uc57c \ud560 10\uac00\uc9c0 Couchbase \uad00\ub828 \uc815\ubcf4","isPartOf":{"@id":"https:\/\/www.couchbase.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.couchbase.com\/blog\/10-other-things-that-developers-must-know-about-couchbase\/#primaryimage"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/10-other-things-that-developers-must-know-about-couchbase\/#primaryimage"},"thumbnailUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png","datePublished":"2018-08-09T17:08:54+00:00","dateModified":"2019-01-02T13:45:56+00:00","description":"\uc815\uc0c1 \uc694\uccad\uc744 \ub85c\uae45\ud558\uc9c0 \uc54a\uae30 \uc704\ud574 \uac1c\ubc1c\uc790\uac00 \ubc18\ub4dc\uc2dc \uc54c\uc544\uc57c \ud560 Couchbase Server 5.0 \ubc0f 5.5\uc758 10\uac00\uc9c0 \uae30\ub2a5\uc5d0 \ub300\ud574 \uc54c\uc544\ubcf4\uc138\uc694.","breadcrumb":{"@id":"https:\/\/www.couchbase.com\/blog\/10-other-things-that-developers-must-know-about-couchbase\/#breadcrumb"},"inLanguage":"ko-KR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.couchbase.com\/blog\/10-other-things-that-developers-must-know-about-couchbase\/"]}]},{"@type":"ImageObject","inLanguage":"ko-KR","@id":"https:\/\/www.couchbase.com\/blog\/10-other-things-that-developers-must-know-about-couchbase\/#primaryimage","url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png","contentUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png","width":1800,"height":630},{"@type":"BreadcrumbList","@id":"https:\/\/www.couchbase.com\/blog\/10-other-things-that-developers-must-know-about-couchbase\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.couchbase.com\/blog\/"},{"@type":"ListItem","position":2,"name":"10 other things that developers must know about Couchbase"}]},{"@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\/fe3c5273e805e72a5294611a48f62257","name":"\ub370\ub2c8\uc2a4 \ub85c\uc0ac, \uac1c\ubc1c\uc790 \uc639\ud638\uc790, \uce74\uc6b0\uce58\ubca0\uc774\uc2a4","image":{"@type":"ImageObject","inLanguage":"ko-KR","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/image\/be0716f6199cfb09417c92cf7a8fa8d6","url":"https:\/\/secure.gravatar.com\/avatar\/f8d1f5c13115122cab89d0f229b904480bfe20d3dfbb093fe9734cda5235d419?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/f8d1f5c13115122cab89d0f229b904480bfe20d3dfbb093fe9734cda5235d419?s=96&d=mm&r=g","caption":"Denis Rosa, Developer Advocate, Couchbase"},"description":"\ub370\ub2c8\uc2a4 \ub85c\uc0ac\ub294 \ub3c5\uc77c \ubb8c\ud5e8\uc5d0 \uac70\uc8fc\ud558\uace0 \uc788\ub294 \uce74\uc6b0\uce58\ubca0\uc774\uc2a4\uc758 \uac1c\ubc1c\uc790 \uc639\ud638\uc790\uc785\ub2c8\ub2e4. \uadf8\ub294 \uc18c\ud504\ud2b8\uc6e8\uc5b4 \uc5d4\uc9c0\ub2c8\uc5b4\ub85c\uc11c \ud0c4\ud0c4\ud55c \uacbd\ub825\uc744 \uc313\uc558\uc73c\uba70 Java, Python, Scala, Javascript\ub97c \uc720\ucc3d\ud558\uac8c \uad6c\uc0ac\ud569\ub2c8\ub2e4. Denis\ub294 \uac80\uc0c9, \ube45 \ub370\uc774\ud130, AI, \ub9c8\uc774\ud06c\ub85c\uc11c\ube44\uc2a4 \ubc0f \uac1c\ubc1c\uc790\uac00 \uc544\ub984\ub2f5\uace0 \ube60\ub974\uace0 \uc548\uc815\uc801\uc774\uba70 \ud655\uc7a5 \uac00\ub2a5\ud55c \uc571\uc744 \ub9cc\ub4dc\ub294 \ub370 \ub3c4\uc6c0\uc774 \ub418\ub294 \ubaa8\ub4e0 \uac83\uc5d0 \ub300\ud574 \uae00\uc744 \uc4f0\ub294 \uac83\uc744 \uc88b\uc544\ud569\ub2c8\ub2e4.","sameAs":["https:\/\/x.com\/deniswsrosa"],"url":"https:\/\/www.couchbase.com\/blog\/ko\/author\/denis-rosa\/"}]}},"authors":[{"term_id":9059,"user_id":8754,"is_guest":0,"slug":"denis-rosa","display_name":"Denis Rosa, Developer Advocate, Couchbase","avatar_url":"https:\/\/secure.gravatar.com\/avatar\/f8d1f5c13115122cab89d0f229b904480bfe20d3dfbb093fe9734cda5235d419?s=96&d=mm&r=g","author_category":"","last_name":"Rosa, Developer Advocate, Couchbase","first_name":"Denis","job_title":"","user_url":"","description":"\ub370\ub2c8\uc2a4 \ub85c\uc0ac\ub294 \ub3c5\uc77c \ubb8c\ud5e8\uc5d0 \uac70\uc8fc\ud558\uace0 \uc788\ub294 \uce74\uc6b0\uce58\ubca0\uc774\uc2a4\uc758 \uac1c\ubc1c\uc790 \uc639\ud638\uc790\uc785\ub2c8\ub2e4. \uadf8\ub294 \uc18c\ud504\ud2b8\uc6e8\uc5b4 \uc5d4\uc9c0\ub2c8\uc5b4\ub85c\uc11c \ud0c4\ud0c4\ud55c \uacbd\ub825\uc744 \uc313\uc558\uc73c\uba70 Java, Python, Scala, Javascript\ub97c \uc720\ucc3d\ud558\uac8c \uad6c\uc0ac\ud569\ub2c8\ub2e4. Denis\ub294 \uac80\uc0c9, \ube45 \ub370\uc774\ud130, AI, \ub9c8\uc774\ud06c\ub85c\uc11c\ube44\uc2a4 \ubc0f \uac1c\ubc1c\uc790\uac00 \uc544\ub984\ub2f5\uace0 \ube60\ub974\uace0 \uc548\uc815\uc801\uc774\uba70 \ud655\uc7a5 \uac00\ub2a5\ud55c \uc571\uc744 \ub9cc\ub4dc\ub294 \ub370 \ub3c4\uc6c0\uc774 \ub418\ub294 \ubaa8\ub4e0 \uac83\uc5d0 \ub300\ud574 \uae00\uc744 \uc4f0\ub294 \uac83\uc744 \uc88b\uc544\ud569\ub2c8\ub2e4."}],"_links":{"self":[{"href":"https:\/\/www.couchbase.com\/blog\/ko\/wp-json\/wp\/v2\/posts\/5584","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\/8754"}],"replies":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/ko\/wp-json\/wp\/v2\/comments?post=5584"}],"version-history":[{"count":0,"href":"https:\/\/www.couchbase.com\/blog\/ko\/wp-json\/wp\/v2\/posts\/5584\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/ko\/wp-json\/wp\/v2\/media\/13873"}],"wp:attachment":[{"href":"https:\/\/www.couchbase.com\/blog\/ko\/wp-json\/wp\/v2\/media?parent=5584"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/ko\/wp-json\/wp\/v2\/categories?post=5584"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/ko\/wp-json\/wp\/v2\/tags?post=5584"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/ko\/wp-json\/wp\/v2\/ppma_author?post=5584"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}