{"id":7083,"date":"2019-06-18T13:51:27","date_gmt":"2019-06-18T20:51:27","guid":{"rendered":"https:\/\/www.couchbase.com\/blog\/?p=7083"},"modified":"2019-06-19T03:29:33","modified_gmt":"2019-06-19T10:29:33","slug":"introducing-the-couchbase-java-sdk-3-0-alpha","status":"publish","type":"post","link":"https:\/\/www.couchbase.com\/blog\/ko\/introducing-the-couchbase-java-sdk-3-0-alpha\/","title":{"rendered":"Couchbase Java SDK 3.0 \uc54c\ud30c \uc18c\uac1c"},"content":{"rendered":"<p>\uc9c0\ub09c \uba87 \ub2ec \ub3d9\uc548 \uc5f4\uc2ec\ud788 \ub178\ub825\ud574 \uc628 \ub0b4\uc6a9\uc744 \ubc1c\ud45c\ud560 \uc218 \uc788\uac8c \ub418\uc5b4 \ub9e4\uc6b0 \uae30\uc069\ub2c8\ub2e4. SDK \ud300 \uc804\uccb4\uac00 \ud569\uc2ec\ud558\uc5ec \ub354 \ube60\ub974\uace0, \ub354 \uac04\ub2e8\ud55c API\ub97c \uc81c\uacf5\ud558\uba70, \ud5a5\ud6c4 \ucd9c\uc2dc\ub420 \uc11c\ubc84 \uae30\ub2a5\uc5d0 \ub300\ube44\ud558\uace0, \ud504\ub808\uc784\uc6cc\ud06c \uc5d0\ucf54\uc2dc\uc2a4\ud15c\uacfc\uc758 \ud1b5\ud569\uc744 \uc6a9\uc774\ud558\uac8c \ud558\ub294 \uc644\uc804\ud788 \uc0c8\ub85c\uc6b4 SDK\ub97c \ucd9c\uc2dc\ud558\uae30 \uc2dc\uc791\ud588\uc2b5\ub2c8\ub2e4.<\/p>\n<p>Java SDK\ub97c \uac1c\uc120\ud558\ub294 \uac83 \uc678\uc5d0\ub3c4 \uc644\uc804\ud788 \uc0c8\ub85c\uc6b4 <a href=\"https:\/\/www.couchbase.com\/blog\/ko\/couchbase-scala-sdk\/\">Scala SDK<\/a>! Scala\ub85c \uac1c\ubc1c\ud558\ub294 \ubaa8\ub4e0 \uc0ac\ub78c\uc744 \uc704\ud55c \ucd5c\uace0 \uc218\uc900\uc758 \uc9c0\uc6d0\uc744 \uc81c\uacf5\ud558\uba70 \uc55e\uc73c\ub85c Scala \uc5d0\ucf54\uc2dc\uc2a4\ud15c\uc5d0 \ud6e8\uc52c \uc27d\uac8c \ud1b5\ud569\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n<p>\uc774 \ubaa8\ub4e0 \uac83\uc774 \uc0c8\ub85c\uc6b4 \uac83\uc774\ub2c8, \uc6a9\ub4e4\uc774 \uc5ec\uae30 \uc788\uc2b5\ub2c8\ub2e4. \ucd5c\uace0\uc758 SDK\uac00 \ub420 \uc218 \uc788\ub3c4\ub85d \ubaa8\ub4e0 \ud53c\ub4dc\ubc31\uacfc \ubc84\uadf8 \ubcf4\uace0\uc5d0 \uac10\uc0ac\ub4dc\ub9bd\ub2c8\ub2e4.<\/p>\n<h2>\ud558\uc774\ub77c\uc774\ud2b8<\/h2>\n<p>\uc774 \uae00\uc5d0\uc11c\ub294 \uc8fc\uc694 \ub0b4\uc6a9\uc744 \ub450 \uc139\uc158\uc73c\ub85c \ub098\ub204\uc5b4 \uc124\uba85\ud569\ub2c8\ub2e4. \ud55c \uc139\uc158\uc5d0\uc11c\ub294 \uac1c\ud3b8\ub41c API(\ubaa8\ub4e0 SDK\uc5d0 \uac78\uccd0)\uc5d0 \ub300\ud574 \uc124\uba85\ud558\uace0 \ub2e4\ub978 \uc139\uc158\uc5d0\uc11c\ub294 Java SDK\ubcc4 \uac1c\uc120 \uc0ac\ud56d\uc744 \ub2e4\ub8f9\ub2c8\ub2e4.<\/p>\n<h3>\ud06c\ub85c\uc2a4 SDK API \uac1c\uc120 \uc0ac\ud56d<\/h3>\n<p>API\uc758 \uc0ac\uc6a9\uc131\uc744 \uac1c\uc120\ud558\uae30 \uc704\ud574 API\ub97c \uc0c1\ub2f9\ud788 \ub9ce\uc774 \ub2e4\ub4ec\uace0 \ub9ac\ud329\ud1a0\ub9c1\ud588\uc2b5\ub2c8\ub2e4. \uadf8 \uacb0\uacfc \ub9e4\uc6b0 \uc751\uc9d1\ub825 \uc788\uace0 \uaddc\uce59\uc801\uc778 API \uad6c\uc870\uac00 \ub9cc\ub4e4\uc5b4\uc84c\uc73c\uba70, \ucc98\uc74c \uc0ac\uc6a9\ud558\ub294 \uc0ac\uc6a9\uc790\ub098 \uc624\ub79c Couchbase \uc0ac\uc6a9\uc790 \ubaa8\ub450 \ud6e8\uc52c \ub354 \uc27d\uac8c \uc0ac\uc6a9\ud560 \uc218 \uc788\uac8c \ub418\uc5c8\uc2b5\ub2c8\ub2e4.<\/p>\n<p>\uac04\ub2e8\ud55c \ube44\uad50\ub97c \uc704\ud574 \ub2e4\uc74c\uc740 2.x Java SDK\uc758 \uc77c\ubd80 API\uc785\ub2c8\ub2e4:<\/p>\n<pre class=\"lang:java decode:true\">&lt;D extends Document&lt;?&gt;&gt; D insert(D document, PersistTo persistTo, ReplicateTo replicateTo);\r\nAsyncViewResult query(ViewQuery query);\r\nAsyncN1qlQueryResult query(N1qlQuery query);<\/pre>\n<p>\uadf8\ub9ac\uace0 \ubb3c\ub860 \ud0c0\uc784\uc544\uc6c3 \uacfc\ubd80\ud558\ub3c4 \uc788\uc2b5\ub2c8\ub2e4:<\/p>\n<pre class=\"lang:java decode:true\">&lt;D extends Document&lt;?&gt;&gt; D insert(D document, PersistTo persistTo, ReplicateTo replicateTo, long timeout, TimeUnit timeUnit);\r\nViewResult query(ViewQuery query, long timeout, TimeUnit timeUnit);\r\nN1qlQueryResult query(N1qlQuery query, long timeout, TimeUnit timeUnit);<\/pre>\n<p>\uc774\ub97c \uc0c8 API\uc640 \ube44\uad50\ud574 \ubcf4\uc138\uc694:<\/p>\n<pre class=\"lang:java decode:true\">MutationResult insert(String id, Object content, InsertOptions options);\r\nQueryResult query(String statement, QueryOptions ptions);\r\nViewResult viewQuery(String designDoc, String viewName, ViewOptions options);<\/pre>\n<p>\uac01 \uba54\uc11c\ub4dc\ub294 <em>\uacb0\uacfc<\/em> \ub77c\ub294 \uc120\ud0dd\uc801 \ube14\ub85d\uc774 \uc788\uc73c\uba70 \ub05d\uc5d0 <em>\uc635\uc158<\/em>. \uc774\uc804 <em>\ubb38\uc11c<\/em> \uac1c\ub150\uc774 API \uc804\uccb4\uc5d0\uc11c \ub354 \uac04\ub2e8\ud558\uace0 \uaddc\uce59\uc801\uc778 \uac1c\ub150\uc73c\ub85c \ub300\uccb4\ub418\uc5c8\uc2b5\ub2c8\ub2e4. \ud0c0\uc784\uc544\uc6c3, \ub0b4\uad6c\uc131 \uc694\uad6c \uc0ac\ud56d \ub610\ub294 CAS\uc640 \uac19\uc740 \uc635\uc158 \uc18d\uc131\uc774 \ubaa8\ub450 \uc635\uc158 \ub9e4\uac1c\ubcc0\uc218\ub85c \uc774\ub3d9\ub418\uc5b4 \uacfc\ubd80\ud558\uac00 \uc904\uc5b4\ub4e4\uace0 \"\ud55c \uacf3\uc5d0\uc11c\ub9cc\" \ud655\uc778\ud560 \uc218 \uc788\uac8c \ub418\uc5c8\uc2b5\ub2c8\ub2e4.<\/p>\n<p>\ucd94\ud6c4 \ube14\ub85c\uadf8 \uac8c\uc2dc\ubb3c\uc5d0\uc11c API \uac1c\ud3b8\uc5d0 \ub300\ud574 \uc790\uc138\ud788 \uc0b4\ud3b4\ubcf4\uaca0\uc9c0\ub9cc, \uc9c0\uae08\uc740 Java \uad00\ub828 \uac1c\uc120 \uc0ac\ud56d\uc73c\ub85c \ub118\uc5b4\uac00\uaca0\uc2b5\ub2c8\ub2e4.<\/p>\n<h3>Java \uad00\ub828 \uac1c\uc120 \uc0ac\ud56d<\/h3>\n<p>\uc0ac\uc6a9\uc790\uc5d0\uac8c \uac00\uc7a5 \ub208\uc5d0 \ub744\ub294 \ub450 \uac00\uc9c0 \ubcc0\uacbd \uc0ac\ud56d\uc740 \ub2e4\uc74c\uacfc \uac19\uc2b5\ub2c8\ub2e4:<\/p>\n<ul>\n<li>\uae30\ubcf8 \uc790\ubc14 \ubc84\uc804\uc778 Java 8<\/li>\n<li>RxJava\uc5d0\uc11c Reactor\ub85c \ub9c8\uc774\uadf8\ub808\uc774\uc158\ub41c \ubc18\uc751\ud615 API<\/li>\n<\/ul>\n<p>RxJava 1.x\ub294 \uc218\ub144 \ub3d9\uc548 \uc798 \uc0ac\uc6a9\ub418\uc5b4 \uc654\uc9c0\ub9cc(\uc0ac\uc2e4 \uc800\ud76c\ub294 \uc774 \uae30\uc220\uc744 \uac00\uc7a5 \uba3c\uc800 \ucc44\ud0dd\ud55c \uae30\uc5c5 \uc911 \ud558\ub098\uc600\uc2b5\ub2c8\ub2e4), \uc218\uba85\uc774 \ub2e4\ud55c \uac83\uc73c\ub85c \ud45c\uc2dc\ub418\uc5b4 \ub300\uc548\uc744 \ubaa8\uc0c9\ud574\uc57c \ud588\uc2b5\ub2c8\ub2e4. \ub9ac\uc561\ud2f0\ube0c \uc2a4\ud2b8\ub9bc\uc774 \uc11c\ub85c \ub2e4\ub978 \uad6c\ud604 \uac04\uc758 \ud1b5\ud569\uc744 \uc704\ud55c \uc0ac\uc2e4\uc0c1\uc758 \ud45c\uc900\uc73c\ub85c \ub5a0\uc624\ub974\uba74\uc11c RxJava 2.x\uc640 \ub9ac\uc561\ud130 \uc911 \ud558\ub098\ub97c \uacb0\uc815\ud574\uc57c \ud588\uc2b5\ub2c8\ub2e4. \ub450 \uac00\uc9c0 \ubaa8\ub450 (\ub300\ubd80\ubd84) \uc131\ub2a5 \uba74\uc5d0\uc11c \uc815\uba74\uc73c\ub85c \ub9de\uc130\uc9c0\ub9cc, \uc624\ub79c \ud3c9\uac00 \uae30\uac04 \ub05d\uc5d0 \ub2e4\uc74c\uacfc \uac19\uc740 \uc774\uc720\ub85c \ub9ac\uc561\ud130\ub97c \uc120\ud0dd\ud558\uae30\ub85c \uacb0\uc815\ud588\uc2b5\ub2c8\ub2e4:<\/p>\n<ul>\n<li>\ub124\uc774\ud2f0\ube0c \uc790\ubc14 8 API<\/li>\n<li>\uc77c\ubd80 \uc8fc\uc694 \uc6cc\ud06c\ub85c\ub4dc\uc5d0\uc11c \uc131\ub2a5\uc774 \uc57d\uac04 \ud5a5\uc0c1\ub418\uc5c8\uc2b5\ub2c8\ub2e4.<\/li>\n<li>\ub354 \ub9ce\uc740 \ucee4\ubba4\ub2c8\ud2f0 \uacac\uc778\ub825\uacfc \uc9c0\uc18d\uc801\uc778 \uc131\uc7a5 (\uc2a4\ud504\ub9c1 \ucf54\uc5b4\uc5d0 \ud1b5\ud569\ub418\uc5b4 \uc788\uae30 \ub54c\ubb38\uc774\uae30\ub3c4 \ud568)<\/li>\n<\/ul>\n<p>\uc560\ud50c\ub9ac\ucf00\uc774\uc158 \ud50c\ub7ab\ud3fc\uc774 RxJava 2\ub85c \uad6c\ucd95\ub41c \uacbd\uc6b0\uc5d0\ub3c4 \uac71\uc815\ud558\uc9c0 \ub9c8\uc138\uc694. \ub450 \ud50c\ub7ab\ud3fc \ubaa8\ub450 \ubc18\uc751\ud615 \uc2a4\ud2b8\ub9bc\uc744 \uc9c0\uc6d0\ud558\ubbc0\ub85c \ubc18\uc751\ud615 API \uc704\uc5d0 \ud50c\ub7ec\uadf8\uc778\ud558\uae30\ub9cc \ud558\uba74 \ub429\ub2c8\ub2e4.<\/p>\n<p>2.x SDK\uc5d0\ub294 \ucc28\ub2e8 API\uc640 RxJava\ub97c \ud1b5\ud574 \ub178\ucd9c\ub418\ub294 \ube44\ub3d9\uae30 API\ub77c\ub294 \ub450 \uac00\uc9c0 API\uac00 \uc788\uc5c8\uc2b5\ub2c8\ub2e4. SDK 3\uc5d0\uc11c\ub294 \ub354 \ub9ce\uc740 \uc81c\uc5b4 \uae30\ub2a5\uc744 \uc81c\uacf5\ud558\uae30 \uc704\ud574 \uc138 \ubc88\uc9f8 API\ub97c \ucd94\uac00\ud588\uc2b5\ub2c8\ub2e4:<\/p>\n<ul>\n<li>\ucc28\ub2e8 API\ub294 \uadf8\ub300\ub85c \uc720\uc9c0\ub429\ub2c8\ub2e4.<\/li>\n<li>\ubc18\uc751\ud615 API\ub294 \ub9ac\uc561\ud130\uc758 \ubaa8\ub178 \ubc0f \ud50c\ub7ed\uc2a4 \uc751\ub2f5\uc744 \ub178\ucd9c\ud569\ub2c8\ub2e4.<\/li>\n<li>\ube44\ub3d9\uae30 API\ub294 \ucd5c\uace0 \uc218\uc900\uc758 \uc131\ub2a5\uc774 \ud544\uc694\ud55c \uacbd\uc6b0 \ube4c\ub529 \ube14\ub85d\uc73c\ub85c \uc0ac\uc6a9\ud560 \uc218 \uc788\ub294 CompletableFutures\ub97c \ub178\ucd9c\ud569\ub2c8\ub2e4.<\/li>\n<\/ul>\n<p>\ub9c8\uc9c0\ub9c9\uc73c\ub85c \ubaa8\ub4e0 \ubc18\uc751\ud615 \ucffc\ub9ac API\uc758 \uc8fc\uc694 \uac1c\uc120 \uc0ac\ud56d \uc911 \ud558\ub098\ub294 \ubc31\ud504\ub808\uc154\uc5d0 \ub300\ud55c \uc120\ud0dd\uc801 \uc9c0\uc6d0\uc785\ub2c8\ub2e4. \ub300\uc6a9\ub7c9 \uacb0\uacfc\ub97c \uc77d\uc5b4\uc57c \ud558\ub294\ub370 \ud55c \ubc88\uc5d0 \ubaa8\ub450 \ud799\uc5d0 \ub123\uc9c0 \uc54a\uc73c\ub824\ub294 \uacbd\uc6b0, \uc774\uc81c \ub0b4\ubd80 \ube44\ub3d9\uae30 IO \uacc4\uce35\uae4c\uc9c0 \ud655\uc7a5\ub41c \ub9ac\uc561\ud130 \ubc31\ud504\ub808\uc154 \uba54\uce74\ub2c8\uc998\uc744 \uc0ac\uc6a9\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \uc774 \uc8fc\uc81c\uc5d0 \ub300\ud55c \uc2ec\uce35\uc801\uc778 \ube14\ub85c\uadf8 \ud3ec\uc2a4\ud305\uc744 \uc900\ube44 \uc911\uc774\ub2c8 \uae30\ub300\ud574 \uc8fc\uc138\uc694!<\/p>\n<h2>\uc2dc\uc791\ud558\uae30<\/h2>\n<p>\uc0ac\uc6a9\ud574 \ubcf4\uace0 \uc2f6\uc73c\uc2dc\ub2e4\uba74 \uc0ac\uc804 \ub9b4\ub9ac\uc2a4 \uba54\uc774\ube10 \ub9ac\ud3ec\uc9c0\ud1a0\ub9ac\uc5d0\uc11c \ub2e4\uc6b4\ub85c\ub4dc\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4:<\/p>\n<pre class=\"lang:xhtml decode:true\">&lt;repositories&gt;\r\n  &lt;repository&gt;\r\n    &lt;id&gt;couchbase&lt;\/id&gt;\r\n    &lt;name&gt;Couchbase Preview Repository&lt;\/name&gt;\r\n    &lt;url&gt;https:\/\/files.couchbase.com\/maven2&lt;\/url&gt;\r\n  &lt;\/repository&gt;\r\n&lt;\/repositories&gt;\r\n\r\n&lt;dependencies&gt;\r\n  &lt;dependency&gt;\r\n    &lt;groupId&gt;com.couchbase.client&lt;\/groupId&gt;\r\n    &lt;artifactId&gt;java-client&lt;\/artifactId&gt;\r\n    &lt;version&gt;3.0.0-alpha.4&lt;\/version&gt;\r\n  &lt;\/dependency&gt;\r\n&lt;\/dependencies&gt;<\/pre>\n<p>&nbsp;<\/p>\n<p>\uc885\uc18d\uc131\uc774 \ud574\uacb0\ub418\uba74 Couchbase Server 5.0\ubcf4\ub2e4 \uc774\uc804 \ubc84\uc804\uc778 \ubaa8\ub4e0 \ud074\ub7ec\uc2a4\ud130\uc5d0 \uc5f0\uacb0\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \uadf8\ub7f0 \ub2e4\uc74c \ubc84\ud0b7\uc744 \uc5f4\uace0 \uc6d0\ud558\ub294 \uceec\ub809\uc158\uc744 \uc0ac\uc6a9\ud569\ub2c8\ub2e4(\uceec\ub809\uc158 \uc9c0\uc6d0\uc740 \uace7 \ucd9c\uc2dc\ub420 Couchbase Server \ub9b4\ub9ac\uc988\uc758 API\uc5d0 \uc774\ubbf8 \ud3ec\ud568\ub418\uc5b4 \uc788\uc2b5\ub2c8\ub2e4). \uc774\uc804 \ub9b4\ub9ac\uc988\uc758 \uacbd\uc6b0 <em>\uae30\ubcf8 \uceec\ub809\uc158<\/em> \ub97c \uc785\ub825\ud558\uba74 \ubc14\ub85c \uc791\ub3d9\ud569\ub2c8\ub2e4:<\/p>\n<pre class=\"lang:java decode:true\">Cluster cluster = Cluster.connect(\"localhost\", \"username\", \"password\");\r\nBucket bucket = cluster.bucket(\"bucket-name\");\r\nCollection collection = bucket.defaultCollection();<\/pre>\n<p>\uc774\uc81c \ubb38\uc11c\ub97c \uc791\uc131\ud558\uace0 \uc77d\uc744 \uc218 \uc788\uc2b5\ub2c8\ub2e4:<\/p>\n<pre class=\"lang:java decode:true\">\/\/ Upsert Document\r\nMutationResult upsertResult = collection.upsert(\r\n    \"my-document\",\r\n    JsonObject.create().put(\"name\", \"mike\")\r\n);\r\n\r\n\/\/ Get Document\r\nOptional&lt;GetResult&gt; getResult = collection.get(\"my-document\");<\/pre>\n<p>\uc790\uc138\ud55c \ub0b4\uc6a9\uc744 \uc54c\uc544\ubcf4\uc2dc\ub824\uba74 \uc0c8\ub85c\uc6b4 <a href=\"https:\/\/docs.couchbase.com\/java-sdk\/3.0\/hello-world\/start-using-sdk.html\">\ubb38\uc11c<\/a> \ud604\uc7ac \uc9c0\uc18d\uc801\uc73c\ub85c \uc791\uc131\ub418\uace0 \uad6c\uccb4\ud654\ub418\uace0 \uc788\uc2b5\ub2c8\ub2e4. \ucf54\ub4dc \uc608\uc81c\ub97c \ucc3e\uc544\ubcfc \uc218\ub3c4 \uc788\uc2b5\ub2c8\ub2e4. <a href=\"https:\/\/github.com\/couchbase\/couchbase-jvm-clients\/tree\/master\/java-examples\/src\/main\/java\/com\/couchbase\/client\/java\/examples\">\uc5ec\uae30<\/a>.<\/p>","protected":false},"excerpt":{"rendered":"<p>I am super excited to finally write this announcement, because it allows me to put the spotlight on something we&#8217;ve been working hard over the last months. In a collective effort across the SDK team, we have started to roll [&hellip;]<\/p>","protected":false},"author":19,"featured_media":7107,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"inline_featured_image":false,"footnotes":""},"categories":[1816,1818,2201],"tags":[],"ppma_author":[8987],"class_list":["post-7083","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-couchbase-server","category-java","category-tools-sdks"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v25.8 (Yoast SEO v25.8) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Introducing the Couchbase Java SDK 3.0 Alpha - The Couchbase Blog<\/title>\n<meta name=\"description\" content=\"This post highlights in two sections: One discusses the reworked API (across all SDKs), the other covers Java SDK specific enhancements.\" \/>\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\/introducing-the-couchbase-java-sdk-3-0-alpha\/\" \/>\n<meta property=\"og:locale\" content=\"ko_KR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Introducing the Couchbase Java SDK 3.0 Alpha\" \/>\n<meta property=\"og:description\" content=\"This post highlights in two sections: One discusses the reworked API (across all SDKs), the other covers Java SDK specific enhancements.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.couchbase.com\/blog\/ko\/introducing-the-couchbase-java-sdk-3-0-alpha\/\" \/>\n<meta property=\"og:site_name\" content=\"The Couchbase Blog\" \/>\n<meta property=\"article:published_time\" content=\"2019-06-18T20:51:27+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2019-06-19T10:29:33+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2019\/06\/PYCBC-no-python.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1584\" \/>\n\t<meta property=\"og:image:height\" content=\"396\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Michael Nitschinger\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@daschl\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Michael Nitschinger\" \/>\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\/introducing-the-couchbase-java-sdk-3-0-alpha\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/introducing-the-couchbase-java-sdk-3-0-alpha\/\"},\"author\":{\"name\":\"Michael Nitschinger\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/e5d4d332756da6f361dd88c1576de61d\"},\"headline\":\"Introducing the Couchbase Java SDK 3.0 Alpha\",\"datePublished\":\"2019-06-18T20:51:27+00:00\",\"dateModified\":\"2019-06-19T10:29:33+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/introducing-the-couchbase-java-sdk-3-0-alpha\/\"},\"wordCount\":715,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/introducing-the-couchbase-java-sdk-3-0-alpha\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2019\/06\/PYCBC-no-python.png\",\"articleSection\":[\"Couchbase Server\",\"Java\",\"Tools &amp; SDKs\"],\"inLanguage\":\"ko-KR\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.couchbase.com\/blog\/introducing-the-couchbase-java-sdk-3-0-alpha\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/introducing-the-couchbase-java-sdk-3-0-alpha\/\",\"url\":\"https:\/\/www.couchbase.com\/blog\/introducing-the-couchbase-java-sdk-3-0-alpha\/\",\"name\":\"Introducing the Couchbase Java SDK 3.0 Alpha - The Couchbase Blog\",\"isPartOf\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/introducing-the-couchbase-java-sdk-3-0-alpha\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/introducing-the-couchbase-java-sdk-3-0-alpha\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2019\/06\/PYCBC-no-python.png\",\"datePublished\":\"2019-06-18T20:51:27+00:00\",\"dateModified\":\"2019-06-19T10:29:33+00:00\",\"description\":\"This post highlights in two sections: One discusses the reworked API (across all SDKs), the other covers Java SDK specific enhancements.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/introducing-the-couchbase-java-sdk-3-0-alpha\/#breadcrumb\"},\"inLanguage\":\"ko-KR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.couchbase.com\/blog\/introducing-the-couchbase-java-sdk-3-0-alpha\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"ko-KR\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/introducing-the-couchbase-java-sdk-3-0-alpha\/#primaryimage\",\"url\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2019\/06\/PYCBC-no-python.png\",\"contentUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2019\/06\/PYCBC-no-python.png\",\"width\":1584,\"height\":396},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/introducing-the-couchbase-java-sdk-3-0-alpha\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.couchbase.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Introducing the Couchbase Java SDK 3.0 Alpha\"}]},{\"@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\/e5d4d332756da6f361dd88c1576de61d\",\"name\":\"Michael Nitschinger\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"ko-KR\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/image\/95e178617974d46e3b02dd1754a3f60b\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/dad99b5e02a74ca4bec14352e9da710160647a97290814b669babb3aac0ea675?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/dad99b5e02a74ca4bec14352e9da710160647a97290814b669babb3aac0ea675?s=96&d=mm&r=g\",\"caption\":\"Michael Nitschinger\"},\"description\":\"Michael Nitschinger works as a Principal Software Engineer at Couchbase. He is the architect and maintainer of the Couchbase Java SDK, one of the first completely reactive database drivers on the JVM. He also authored and maintains the Couchbase Spark Connector. Michael is active in the open source community, a contributor to various other projects like RxJava and Netty.\",\"sameAs\":[\"https:\/\/nitschinger.at\",\"https:\/\/x.com\/daschl\"],\"url\":\"https:\/\/www.couchbase.com\/blog\/ko\/author\/michael-nitschinger\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Introducing the Couchbase Java SDK 3.0 Alpha - The Couchbase Blog","description":"\uc774 \uac8c\uc2dc\ubb3c\uc740 \ub450 \uac00\uc9c0 \uc139\uc158\uc73c\ub85c \uad6c\uc131\ub418\uc5b4 \uc788\uc2b5\ub2c8\ub2e4: \ud558\ub098\ub294 \uc7ac\uc791\uc5c5\ub41c API(\ubaa8\ub4e0 SDK\uc5d0 \uac78\uccd0)\uc5d0 \ub300\ud574 \uc124\uba85\ud558\uace0, \ub2e4\ub978 \ud558\ub098\ub294 Java SDK\ubcc4 \uac1c\uc120 \uc0ac\ud56d\uc744 \ub2e4\ub8f9\ub2c8\ub2e4.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.couchbase.com\/blog\/ko\/introducing-the-couchbase-java-sdk-3-0-alpha\/","og_locale":"ko_KR","og_type":"article","og_title":"Introducing the Couchbase Java SDK 3.0 Alpha","og_description":"This post highlights in two sections: One discusses the reworked API (across all SDKs), the other covers Java SDK specific enhancements.","og_url":"https:\/\/www.couchbase.com\/blog\/ko\/introducing-the-couchbase-java-sdk-3-0-alpha\/","og_site_name":"The Couchbase Blog","article_published_time":"2019-06-18T20:51:27+00:00","article_modified_time":"2019-06-19T10:29:33+00:00","og_image":[{"width":1584,"height":396,"url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2019\/06\/PYCBC-no-python.png","type":"image\/png"}],"author":"Michael Nitschinger","twitter_card":"summary_large_image","twitter_creator":"@daschl","twitter_misc":{"Written by":"Michael Nitschinger","Est. reading time":"5\ubd84"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.couchbase.com\/blog\/introducing-the-couchbase-java-sdk-3-0-alpha\/#article","isPartOf":{"@id":"https:\/\/www.couchbase.com\/blog\/introducing-the-couchbase-java-sdk-3-0-alpha\/"},"author":{"name":"Michael Nitschinger","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/e5d4d332756da6f361dd88c1576de61d"},"headline":"Introducing the Couchbase Java SDK 3.0 Alpha","datePublished":"2019-06-18T20:51:27+00:00","dateModified":"2019-06-19T10:29:33+00:00","mainEntityOfPage":{"@id":"https:\/\/www.couchbase.com\/blog\/introducing-the-couchbase-java-sdk-3-0-alpha\/"},"wordCount":715,"commentCount":0,"publisher":{"@id":"https:\/\/www.couchbase.com\/blog\/#organization"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/introducing-the-couchbase-java-sdk-3-0-alpha\/#primaryimage"},"thumbnailUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2019\/06\/PYCBC-no-python.png","articleSection":["Couchbase Server","Java","Tools &amp; SDKs"],"inLanguage":"ko-KR","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.couchbase.com\/blog\/introducing-the-couchbase-java-sdk-3-0-alpha\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.couchbase.com\/blog\/introducing-the-couchbase-java-sdk-3-0-alpha\/","url":"https:\/\/www.couchbase.com\/blog\/introducing-the-couchbase-java-sdk-3-0-alpha\/","name":"Introducing the Couchbase Java SDK 3.0 Alpha - The Couchbase Blog","isPartOf":{"@id":"https:\/\/www.couchbase.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.couchbase.com\/blog\/introducing-the-couchbase-java-sdk-3-0-alpha\/#primaryimage"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/introducing-the-couchbase-java-sdk-3-0-alpha\/#primaryimage"},"thumbnailUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2019\/06\/PYCBC-no-python.png","datePublished":"2019-06-18T20:51:27+00:00","dateModified":"2019-06-19T10:29:33+00:00","description":"\uc774 \uac8c\uc2dc\ubb3c\uc740 \ub450 \uac00\uc9c0 \uc139\uc158\uc73c\ub85c \uad6c\uc131\ub418\uc5b4 \uc788\uc2b5\ub2c8\ub2e4: \ud558\ub098\ub294 \uc7ac\uc791\uc5c5\ub41c API(\ubaa8\ub4e0 SDK\uc5d0 \uac78\uccd0)\uc5d0 \ub300\ud574 \uc124\uba85\ud558\uace0, \ub2e4\ub978 \ud558\ub098\ub294 Java SDK\ubcc4 \uac1c\uc120 \uc0ac\ud56d\uc744 \ub2e4\ub8f9\ub2c8\ub2e4.","breadcrumb":{"@id":"https:\/\/www.couchbase.com\/blog\/introducing-the-couchbase-java-sdk-3-0-alpha\/#breadcrumb"},"inLanguage":"ko-KR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.couchbase.com\/blog\/introducing-the-couchbase-java-sdk-3-0-alpha\/"]}]},{"@type":"ImageObject","inLanguage":"ko-KR","@id":"https:\/\/www.couchbase.com\/blog\/introducing-the-couchbase-java-sdk-3-0-alpha\/#primaryimage","url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2019\/06\/PYCBC-no-python.png","contentUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2019\/06\/PYCBC-no-python.png","width":1584,"height":396},{"@type":"BreadcrumbList","@id":"https:\/\/www.couchbase.com\/blog\/introducing-the-couchbase-java-sdk-3-0-alpha\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.couchbase.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Introducing the Couchbase Java SDK 3.0 Alpha"}]},{"@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\/e5d4d332756da6f361dd88c1576de61d","name":"\ub9c8\uc774\ud074 \ub2c8\uce6d\uac70","image":{"@type":"ImageObject","inLanguage":"ko-KR","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/image\/95e178617974d46e3b02dd1754a3f60b","url":"https:\/\/secure.gravatar.com\/avatar\/dad99b5e02a74ca4bec14352e9da710160647a97290814b669babb3aac0ea675?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/dad99b5e02a74ca4bec14352e9da710160647a97290814b669babb3aac0ea675?s=96&d=mm&r=g","caption":"Michael Nitschinger"},"description":"\ub9c8\uc774\ud074 \ub2c8\uce6d\uc5b4\ub294 Couchbase\uc758 \uc218\uc11d \uc18c\ud504\ud2b8\uc6e8\uc5b4 \uc5d4\uc9c0\ub2c8\uc5b4\ub85c \uc77c\ud558\uace0 \uc788\uc2b5\ub2c8\ub2e4. \uadf8\ub294 JVM\uc5d0\uc11c \ucd5c\ucd08\uc758 \uc644\uc804 \ubc18\uc751\ud615 \ub370\uc774\ud130\ubca0\uc774\uc2a4 \ub4dc\ub77c\uc774\ubc84 \uc911 \ud558\ub098\uc778 Couchbase Java SDK\uc758 \uc124\uacc4\uc790\uc774\uc790 \uc720\uc9c0 \uad00\ub9ac\uc790\uc785\ub2c8\ub2e4. \ub610\ud55c Couchbase Spark Connector\ub97c \uc791\uc131\ud558\uace0 \uc720\uc9c0 \uad00\ub9ac\ud558\uace0 \uc788\uc2b5\ub2c8\ub2e4. Michael\uc740 \uc624\ud508 \uc18c\uc2a4 \ucee4\ubba4\ub2c8\ud2f0\uc5d0\uc11c \ud65c\ubc1c\ud788 \ud65c\ub3d9 \uc911\uc774\uba70, RxJava \ubc0f Netty\uc640 \uac19\uc740 \ub2e4\uc591\ud55c \ud504\ub85c\uc81d\ud2b8\uc5d0 \uae30\uc5ec\ud558\uace0 \uc788\uc2b5\ub2c8\ub2e4.","sameAs":["https:\/\/nitschinger.at","https:\/\/x.com\/daschl"],"url":"https:\/\/www.couchbase.com\/blog\/ko\/author\/michael-nitschinger\/"}]}},"authors":[{"term_id":8987,"user_id":19,"is_guest":0,"slug":"michael-nitschinger","display_name":"Michael Nitschinger","avatar_url":"https:\/\/secure.gravatar.com\/avatar\/dad99b5e02a74ca4bec14352e9da710160647a97290814b669babb3aac0ea675?s=96&d=mm&r=g","author_category":"","last_name":"Nitschinger, Principal Software Engineer, Couchbase","first_name":"Michael","job_title":"","user_url":"https:\/\/nitschinger.at","description":"\ub9c8\uc774\ud074 \ub2c8\uce6d\uc5b4\ub294 Couchbase\uc758 \uc218\uc11d \uc18c\ud504\ud2b8\uc6e8\uc5b4 \uc5d4\uc9c0\ub2c8\uc5b4\ub85c \uc77c\ud558\uace0 \uc788\uc2b5\ub2c8\ub2e4. \uadf8\ub294 JVM\uc5d0\uc11c \ucd5c\ucd08\uc758 \uc644\uc804 \ubc18\uc751\ud615 \ub370\uc774\ud130\ubca0\uc774\uc2a4 \ub4dc\ub77c\uc774\ubc84 \uc911 \ud558\ub098\uc778 Couchbase Java SDK\uc758 \uc124\uacc4\uc790\uc774\uc790 \uc720\uc9c0 \uad00\ub9ac\uc790\uc785\ub2c8\ub2e4. \ub610\ud55c Couchbase Spark Connector\ub97c \uc791\uc131\ud558\uace0 \uc720\uc9c0 \uad00\ub9ac\ud558\uace0 \uc788\uc2b5\ub2c8\ub2e4. Michael\uc740 \uc624\ud508 \uc18c\uc2a4 \ucee4\ubba4\ub2c8\ud2f0\uc5d0\uc11c \ud65c\ubc1c\ud788 \ud65c\ub3d9 \uc911\uc774\uba70, RxJava \ubc0f Netty\uc640 \uac19\uc740 \ub2e4\uc591\ud55c \ud504\ub85c\uc81d\ud2b8\uc5d0 \uae30\uc5ec\ud558\uace0 \uc788\uc2b5\ub2c8\ub2e4."}],"_links":{"self":[{"href":"https:\/\/www.couchbase.com\/blog\/ko\/wp-json\/wp\/v2\/posts\/7083","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\/19"}],"replies":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/ko\/wp-json\/wp\/v2\/comments?post=7083"}],"version-history":[{"count":0,"href":"https:\/\/www.couchbase.com\/blog\/ko\/wp-json\/wp\/v2\/posts\/7083\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/ko\/wp-json\/wp\/v2\/media\/7107"}],"wp:attachment":[{"href":"https:\/\/www.couchbase.com\/blog\/ko\/wp-json\/wp\/v2\/media?parent=7083"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/ko\/wp-json\/wp\/v2\/categories?post=7083"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/ko\/wp-json\/wp\/v2\/tags?post=7083"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/ko\/wp-json\/wp\/v2\/ppma_author?post=7083"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}