{"id":6729,"date":"2019-04-22T10:31:16","date_gmt":"2019-04-22T17:31:16","guid":{"rendered":"https:\/\/www.couchbase.com\/blog\/?p=6729"},"modified":"2025-06-13T19:27:46","modified_gmt":"2025-06-14T02:27:46","slug":"kafka-connect-mysql-couchbase-debezium","status":"publish","type":"post","link":"https:\/\/www.couchbase.com\/blog\/ko\/kafka-connect-mysql-couchbase-debezium\/","title":{"rendered":"Debezium\uc744 \uc0ac\uc6a9\ud558\uc5ec MySQL\uc5d0\uc11c Couchbase\ub85c Kafka \uc5f0\uacb0\ud558\uae30"},"content":{"rendered":"<div class=\"paragraph\">\n<p>\uce74\ud504\uce74\ub294 (\uce74\ud504\uce74 \uc2f1\ud06c) \ub370\uc774\ud130 \uc13c\ud130\ub85c \ub610\ub294 (\uce74\ud504\uce74 \uc18c\uc2a4) \ub370\uc774\ud130 \uc13c\ud130\ub85c\ubd80\ud130 \ub808\ucf54\ub4dc\ub97c \uc2a4\ud2b8\ub9ac\ubc0d\ud558\ub294 \ub370 \uc0ac\uc6a9\ud560 \uc218 \uc788\ub294 \uc2a4\ud2b8\ub9ac\ubc0d \ud50c\ub7ab\ud3fc\uc785\ub2c8\ub2e4. Couchbase\ub294 Kafka\ub97c \uc0dd\uc131\ud558\uace0 \uc9c0\uc6d0\ud569\ub2c8\ub2e4. <a href=\"https:\/\/docs.couchbase.com\/kafka-connector\/3.4\/index.html\">\ucee4\ub125\ud130<\/a> \ub97c \uc0ac\uc6a9\ud558\uba74 Couchbase\ub97c \uc18c\uc2a4 \ub610\ub294 \uc2f1\ud06c\ub85c \uc27d\uac8c \uc0ac\uc6a9\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>\uc804\uccb4 \ud29c\ud1a0\ub9ac\uc5bc\uc744 \uc791\uc131\ud558\uace0 \uc788\uc2b5\ub2c8\ub2e4. <a href=\"https:\/\/www.couchbase.com\/blog\/ko\/solutions\/customer-360\/\">\uace0\uac1d 360<\/a> \uc0ac\uc6a9 \uc0ac\ub840\uc785\ub2c8\ub2e4. \uadf8 \uc911 \ud55c \uac00\uc9c0\uac00 \uce74\ud504\uce74\uc640 \uad00\ub828\uc774 \uc788\uc2b5\ub2c8\ub2e4. \ub2e4\uc74c\uc740 \uac1c\ub7b5\uc801\uc778 \ub2e4\uc774\uc5b4\uadf8\ub7a8\uc785\ub2c8\ub2e4:<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p><span class=\"image\"><img decoding=\"async\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2019\/04\/12101-customer-360-full-diagram.jpg\" alt=\"Customer 360 ingestion digram\" \/><\/span><\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>\uc774 \ud29c\ud1a0\ub9ac\uc5bc\uc758 \ud55c \ubd80\ubd84\uc740 \uae30\uc5c5\uc5d0\uc11c '\ud0dd\ubc30' \uc2dc\uc2a4\ud15c\uc5d0 \uc0ac\uc6a9\ub418\ub294 MySQL \ub370\uc774\ud130\ubca0\uc774\uc2a4\uc5d0\uc11c (\uace0\uac1d 360 \uc6a9\ub3c4\ub85c \uc0ac\uc6a9\ub418\ub294) Couchbase \ub370\uc774\ud130 \ud50c\ub7ab\ud3fc\uc73c\ub85c \ub370\uc774\ud130\ub97c \uc2a4\ud2b8\ub9ac\ubc0d\ud558\ub294 \ubc29\ubc95\uc5d0 \ub300\ud55c \uc548\ub0b4\uc11c\uc785\ub2c8\ub2e4. \uc774 \ube14\ub85c\uadf8 \uac8c\uc2dc\ubb3c\uc5d0\uc11c\ub294 \ub2e4\uc774\uc5b4\uadf8\ub7a8\uc758 \uc774 \ubd80\ubd84\ub9cc \uc9d1\uc911\uc801\uc73c\ub85c \uc124\uba85\ud569\ub2c8\ub2e4:<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p><span class=\"image\"><img decoding=\"async\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2019\/04\/12102-customer-360-focused-diagram.jpg\" alt=\"Customer 360 diagram focused on Kafka\" \/><\/span><\/p>\n<\/div>\n<div class=\"sect1\">\n<h2 id=\"_prerequisites\">\uc804\uc81c \uc870\uac74<\/h2>\n<div class=\"sectionbody\">\n<div class=\"paragraph\">\n<p>\ucc98\uc74c\uc5d0\ub294 \uce74\ud504\uce74\uc5d0 \ub300\ud574 \uc798 \ubab0\ub790\uc9c0\ub9cc, \uce74\ud504\uce74\ub97c \uc0ac\uc6a9\ud558\uc5ec \uc791\ub3d9\ud558\ub294 \uac1c\ub150 \uc99d\uba85\uc744 \uc644\uc131\ud560 \uc218 \uc788\uc5c8\uc2b5\ub2c8\ub2e4:<\/p>\n<\/div>\n<div class=\"ulist\">\n<ul>\n<li><a href=\"https:\/\/www.docker.com\/\">Docker<\/a>. \uc774 \ud29c\ud1a0\ub9ac\uc5bc\uc744 \uc644\ub8cc\ud558\ub824\uba74 Docker\uac00 \uc124\uce58\ub418\uc5b4 \uc788\uc5b4\uc57c \ud569\ub2c8\ub2e4. <em>\uacb0\uad6d \uc774 \ubaa8\ub4e0 \uac83\uc744 \ub3c4\ucee4 \ucef4\ud3ec\uc988\ub85c \uc62e\uae30\uac70\ub098 (\ub354 \uac00\ub2a5\uc131\uc774 \ub192\uc2b5\ub2c8\ub2e4) <a href=\"https:\/\/docs.couchbase.com\/operator\/current\/overview.html\">Kubernetes<\/a>.<\/em> \uc800\ub294 \uc774 \uae00\uc5d0\uc11c \ubaa8\ub4e0 \uc544\ud0a4\ud14d\ucc98\ub97c \uad6c\ucd95\ud558\uace0 \uc788\uc9c0\ub9cc, \uae30\uc5c5\uc5d0\uc11c\ub294 \uc774\ubbf8 \ubc30\ud3ec\ub41c \ubd80\ubd84\ub3c4 \uc788\uc744 \uac83\uc785\ub2c8\ub2e4.<\/li>\n<li><a href=\"https:\/\/debezium.io\/docs\/tutorial\/\">\ub370\ubca0\uc9c0\uc6c0\uc758 \ube60\ub978 \uc2dc\uc791 \ud29c\ud1a0\ub9ac\uc5bc<\/a> - Debezium\uc740 MySQL \ub370\uc774\ud130\ubca0\uc774\uc2a4\ub97c \ub2e4\uc74c\uacfc \uac19\uc774 \uad6c\uc131\ud558\uae30 \uc704\ud574 \uc120\ud0dd\ud55c \ucee4\ub125\ud130\uc785\ub2c8\ub2e4. <strong>\ucd9c\ucc98<\/strong>.<\/li>\n<li><a href=\"https:\/\/hub.docker.com\/_\/couchbase\">\uce74\uc6b0\uce58\ubca0\uc774\uc2a4 \ub3c4\ucee4 \ud035\uc2a4\ud0c0\ud2b8<\/a> - \ub97c \uc0ac\uc6a9\ud558\uc5ec \ub3c4\ucee4 \ub0b4\uc5d0\uc11c \uac04\ub2e8\ud55c \uce74\uc6b0\uce58\ubca0\uc774\uc2a4 \ud074\ub7ec\uc2a4\ud130\ub97c \uc2e4\ud589\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/li>\n<li>\uce74\uc6b0\uce58\ubca0\uc774\uc2a4 \uce74\ud504\uce74 <a href=\"https:\/\/docs.couchbase.com\/kafka-connector\/3.4\/quickstart.html\">\ucee4\ub125\ud130 \ube60\ub978 \uc2dc\uc791 \ud29c\ud1a0\ub9ac\uc5bc<\/a> - \uc774 \ud29c\ud1a0\ub9ac\uc5bc\uc5d0\uc11c\ub294 Couchbase\ub97c Kafka \uc2f1\ud06c \ub610\ub294 Kafka \uc18c\uc2a4\ub85c \uc124\uc815\ud558\ub294 \ubc29\ubc95\uc744 \uc124\uba85\ud569\ub2c8\ub2e4.<\/li>\n<li><a href=\"https:\/\/docs.docker.com\/engine\/reference\/builder\/\">\ub3c4\ucee4\ud30c\uc77c \ucc38\uc870<\/a> - \uc0ac\uc6a9\uc790 \uc815\uc758 \ub3c4\ucee4 \uc774\ubbf8\uc9c0\ub97c \ub9cc\ub4dc\ub294 \ubc29\ubc95\uc5d0 \ub300\ud574 \uc124\uba85\ud569\ub2c8\ub2e4. \uc5b4\ub835\uac8c \ub4e4\ub9b4 \uc218 \uc788\uc9c0\ub9cc \uba87 \uc904\uc758 \ud14d\uc2a4\ud2b8\uc5d0 \ubd88\uacfc\ud558\ub2c8 \uac71\uc815\ud558\uc9c0 \ub9c8\uc138\uc694.<\/li>\n<\/ul>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"sect1\">\n<h2 id=\"_setting_up_couchbase\">\uce74\uc6b0\uce58\ubca0\uc774\uc2a4 \uc124\uc815<\/h2>\n<div class=\"sectionbody\">\n<div class=\"paragraph\">\n<p>Docker\uc640 \ud568\uaed8 Couchbase\ub97c \uc124\uce58\ud569\ub2c8\ub2e4:<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p><code>\ub3c4\ucee4 \uc2e4\ud589 -d --\uc774\ub984 db -p 8091-8094:8091-8094 -p 11210:11210 \uce74\uc6b0\uce58\ubca0\uc774\uc2a4<\/code><\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>\ub610\ud55c \ub2e4\uc74c\uc744 \uc218\ud589\ud574\uc57c \ud569\ub2c8\ub2e4. <a href=\"https:\/\/hub.docker.com\/_\/couchbase\">\uce74\uc6b0\uce58\ubca0\uc774\uc2a4 \ud074\ub7ec\uc2a4\ud130 \uc124\uc815<\/a> \ub97c \ud074\ub9ad\ud569\ub2c8\ub2e4. \"\uc2a4\ud14c\uc774\uc9d5\"\uc774\ub77c\ub294 \ubc84\ud0b7\uc744 \ub9cc\ub4e4\uc5c8\uc2b5\ub2c8\ub2e4.<\/p>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"sect1\">\n<h2 id=\"_running_zookeeper_kafka_mysql\">Zookeeper, Kafka, MySQL \uc2e4\ud589 \uc911<\/h2>\n<div class=\"sectionbody\">\n<div class=\"paragraph\">\n<p>\ub300\ubd80\ubd84\uc758 \uacbd\uc6b0, \ub2e4\uc74c \uc9c0\uce68\uc744 \ub530\ub974\uae30\ub9cc \ud558\uba74 \ub429\ub2c8\ub2e4. <a href=\"https:\/\/debezium.io\/docs\/tutorial\/\">\ub370\ubca0\uc9c0\uc6c0 \ud29c\ud1a0\ub9ac\uc5bc<\/a>. \uc790\uc138\ud55c \ub0b4\uc6a9\uc740 \ubaa8\ub450 \uc77d\uc5b4\ubcf4\uc2dc\uae30 \ubc14\ub77c\uba70, \uac04\ub7b5\ud558\uac8c \uc124\uba85\ud558\uba74 \ub2e4\uc74c \ub2e8\uacc4\ub97c \ub530\ub974\ub294 \uac83\uc785\ub2c8\ub2e4:<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Zookeeper \uc774\ubbf8\uc9c0\ub97c \uc2e4\ud589\ud569\ub2c8\ub2e4(\uce74\ud504\uce74\uc758 \uacbd\uc6b0 \ud544\uc218):<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p><code>\ub3c4\ucee4 \uc2e4\ud589 -it --rm --name zookeeper -p 2181:2181 -p 2888:2888 -p 3888:3888 debezium\/zookeeper:0.9<\/code><\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>\uce74\ud504\uce74 \uc774\ubbf8\uc9c0\ub97c \uc2e4\ud589\ud569\ub2c8\ub2e4(Zookeeper\uc5d0 \ub9c1\ud06c\ub428):<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p><code>\ub3c4\ucee4 \uc2e4\ud589 -it --rm --\uc774\ub984 \uce74\ud504\uce74 -p 9092:9092 --link \ub3d9\ubb3c\uc6d0\uad00\ub9ac\uc790:\ub3d9\ubb3c\uc6d0\uad00\ub9ac\uc790 \ub370\ubca0\uc9c0\uc6c0\/\uce74\ud504\uce74:0.9<\/code><\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>MySQL \ub370\uc774\ud130\ubca0\uc774\uc2a4\ub97c \uc2dc\uc791\ud569\ub2c8\ub2e4(Debezium\uc740 \uc774\ubbf8 \uc77c\ubd80 \uc0d8\ud50c \ub370\uc774\ud130\uac00 \ud3ec\ud568\ub41c Docker \uc774\ubbf8\uc9c0\ub97c \uc81c\uacf5\ud569\ub2c8\ub2e4):<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p><code>docker run -it --rm --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=debezium -e MYSQL_USER=mysqluser -e MYSQL_PASSWORD=mysqlpw debezium\/example-mysql:0.9<\/code><\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>\uadf8\ub7f0 \ub2e4\uc74c \uc704\uc758 \uc790\uaca9 \uc99d\uba85\uc744 \uc0ac\uc6a9\ud558\uc5ec MySQL \ub370\uc774\ud130\ubca0\uc774\uc2a4\uc5d0 \uc5f0\uacb0\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \ub370\ubca0\uc9c0\uc6c0 \ud29c\ud1a0\ub9ac\uc5bc\uc5d0\uc11c\ub294 \uc774\ub97c \uc704\ud55c \ub2e4\ub978 Docker \uc774\ubbf8\uc9c0\ub97c \uc81c\uacf5\ud558\uac70\ub098 \uc6d0\ud558\ub294 MySQL \ub3c4\uad6c\ub97c \uc0ac\uc6a9\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \uc9c0\uae08 \ub2f9\uc7a5 \uc774 \uc791\uc5c5\uc744 \uc218\ud589\ud560 \ud544\uc694\ub294 \uc5c6\uc9c0\ub9cc \ub098\uc911\uc5d0 \uc5f0\uacb0\ud558\uace0 \ub370\uc774\ud130\ub97c \uc0bd\uc785\/\uc5c5\ub370\uc774\ud2b8\ud558\uc5ec \ud504\ub85c\uc138\uc2a4\ub97c \uc5d4\ub4dc \ud22c \uc5d4\ub4dc \ud14c\uc2a4\ud2b8\ud558\uace0 \uc2f6\uc744 \uac83\uc785\ub2c8\ub2e4.<\/p>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"sect1\">\n<h2 id=\"_preparing_kafka_connectors\">Kafka \ucee4\ub125\ud130 \uc900\ube44\ud558\uae30<\/h2>\n<div class=\"sectionbody\">\n<div class=\"paragraph\">\n<p>\uc774 \uc2dc\uc810\uc5d0\uc11c \uc800\ub294 Debezium \ud29c\ud1a0\ub9ac\uc5bc\uc5d0\uc11c \uc57d\uac04 \ubc97\uc5b4\ub098\uc57c \ud569\ub2c8\ub2e4. \uc774 \ud29c\ud1a0\ub9ac\uc5bc\uc5d0\uc11c\ub294 (\ub2e4\ub978 Docker \uc774\ubbf8\uc9c0\uc640 REST \uc694\uccad\uc744 \uc0ac\uc6a9\ud558\uc5ec) Debezium MySQL \ucee4\ub125\ud130\ub97c \uc2dc\uc791\ud558\ub294 \ubc29\ubc95\uc744 \ubcf4\uc5ec\uc90d\ub2c8\ub2e4. \ud558\uc9c0\ub9cc \uc5ec\uae30\uc11c\ub294 Couchbase Kafka \ucee4\ub125\ud130\ub97c \uc18c\uac1c\ud558\uace0\uc790 \ud569\ub2c8\ub2e4.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>\uac00\uc7a5 \uc26c\uc6b4 \ubc29\ubc95\uc740 \uc0ac\uc6a9\uc790 \uc815\uc758 Docker \uc774\ubbf8\uc9c0\ub97c \ub9cc\ub4dc\ub294 \uac83\uc785\ub2c8\ub2e4. \uc774\ub807\uac8c \ud558\uba74 Debezium Kafka \uc5f0\uacb0 \uc774\ubbf8\uc9c0\ub97c \uae30\ubcf8\uc73c\ub85c \uc0ac\uc6a9\ud558\uace0, \uc5ec\uae30\uc5d0 Couchbase Kafka \uc5f0\uacb0 JAR \ud30c\uc77c\uc744 \ucd94\uac00\ud558\uae30\ub9cc \ud558\uba74 \ub429\ub2c8\ub2e4. \uc774\ub807\uac8c \ud558\ub824\uba74 \ub2e4\uc74c\uacfc \uac19\uc740 \ud14d\uc2a4\ud2b8 \ud30c\uc77c\uc744 \ub9cc\ub4ed\ub2c8\ub2e4. <code>\ub3c4\ucee4\ud30c\uc77c<\/code>:<\/p>\n<\/div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight decode:true\"><code class=\"language-Docker\" data-lang=\"Docker\">FROM debezium\/connect:0.9\r\n# put the kafka-connect-couchbase-3.4.3.jar into\r\n# a \/kafka\/connect\/couchbase folder\r\nADD kafka-connect-couchbase-3.4.3.jar \/kafka\/connect\/couchbase\/kafka-connect-couchbase-3.4.3.jar<\/code><\/pre>\n<\/div>\n<\/div>\n<div class=\"paragraph\">\n<p>\uc774 \uc791\uc5c5\uc774 \uc644\ub8cc\ub418\uba74 \uc774\ubbf8\uc9c0\ub97c \uc791\uc131\ud569\ub2c8\ub2e4: <code>\ub3c4\ucee4 \ube4c\ub4dc . --\ud0dc\uadf8 couchbasedebezium<\/code>. \uc774\ubbf8\uc9c0 <code>\uc18c\ud30c \uae30\ubc18 \ub370\ubca0\uc9c0\uc6c0<\/code>\ub77c\uace0 \ubd80\ub974\uc9c0\ub9cc \uc6d0\ud558\ub294 \ub300\ub85c \ubd88\ub7ec\ub3c4 \ub429\ub2c8\ub2e4. \uc774 \uc791\uc5c5\uc774 \uc644\ub8cc\ub418\uba74 <code>\ub3c4\ucee4 \uc774\ubbf8\uc9c0<\/code>\ubc0f <code>\uc18c\ud30c \uae30\ubc18 \ub370\ubca0\uc9c0\uc6c0<\/code> \uac00 \ub85c\uceec \ub9ac\ud3ec\uc9c0\ud1a0\ub9ac\uc5d0 \ud45c\uc2dc\ub418\uc5b4\uc57c \ud569\ub2c8\ub2e4:<\/p>\n<\/div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight decode:true\"><code class=\"language-Powershell\" data-lang=\"Powershell\">PS C:\\myfolder&gt; docker images\r\nREPOSITORY                             TAG                 IMAGE ID            CREATED             SIZE\r\ncouchbasedebezium                      latest              a48fa903cc7d        3 days ago          641MB\r\ndebezium\/connect                       0.9                 5a5e60b3f50a        2 weeks ago         633MB\r\ndebezium\/kafka                         0.9                 b4b130f4bb9c        2 weeks ago         612MB\r\ndebezium\/zookeeper                     0.9                 4ba823930ede        2 weeks ago         519MB\r\ndebezium\/example-mysql                 0.9                 ba801de1fe22        3 weeks ago         372MB\r\ncouchbase                              enterprise-6.0.1    5403ed5c6ef4        2 months ago        940MB\r\n\r\n... etc ...<\/code><\/pre>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"sect1\">\n<h2 id=\"_starting_kafka_connect\">\uce74\ud504\uce74 \ucee4\ub125\ud2b8 \uc2dc\uc791\ud558\uae30<\/h2>\n<div class=\"sectionbody\">\n<div class=\"paragraph\">\n<p>\uce74\ud504\uce74 \ucee4\ub125\ud2b8\ub97c \uc2dc\uc791\ud558\ub824\uba74 \ub2e4\uc74c\uacfc \uac19\uc774 \ud558\uc138\uc694:<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p><code>docker run -it --rm --name connect -p 8083:8083 -e GROUP_ID=1 -e CONFIG_STORAGE_TOPIC=my_connect_configs -e OFFSET_STORAGE_TOPIC=my_connect_offsets -e STATUS_STORAGE_TOPIC=my_connect_statuses --link zookeeper:zookeeper --link kafka:kafka --link mysql:mysql --link db:db couchbasedebezium<\/code><\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>\uadf8\ub7ec\uba74 Kafka\ub97c MySQL\uacfc Couchbase\uc5d0 \uc5f0\uacb0\ud558\ub294 \ub370 \uc0ac\uc6a9\ud560 Docker \uc774\ubbf8\uc9c0\uac00 \uc2dc\uc791\ub429\ub2c8\ub2e4. \uc81c\uac00 \uc0ac\uc6a9\ud558\uace0 \uc788\ub294 <em>\uc18c\ud30c \uae30\ubc18 \ub370\ubca0\uc9c0\uc6c0<\/em> \uc774\ubbf8\uc9c0\ub97c \uc0ac\uc6a9\ud558\uace0 \uc788\uc73c\uba70 <em>-link db:db<\/em>\ub85c \uc124\uc815\ud560 \uc218 \uc788\uc9c0\ub9cc, \uadf8 \uc678\uc5d0\ub294 \ub370\ubca0\uc9c0\uc6c0 \ud29c\ud1a0\ub9ac\uc5bc\uacfc \ub3d9\uc77c\ud569\ub2c8\ub2e4.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>\ub450 \ub2e8\uacc4\uac00 \ub354 \uc788\uc2b5\ub2c8\ub2e4:<\/p>\n<\/div>\n<div class=\"olist arabic\">\n<ol class=\"arabic\">\n<li>\uce74\ud504\uce74 \ucee4\ub125\ud2b8\uc5d0 MySQL\uc744 \uc18c\uc2a4\ub85c \uc0ac\uc6a9\ud558\ub3c4\ub85d \uc9c0\uc2dc\ud569\ub2c8\ub2e4.<\/li>\n<li>\uce74\ud504\uce74 \ucee4\ub125\ud2b8\uc5d0 \uce74\uc6b0\uce58\ubca0\uc774\uc2a4\ub97c \uc2f1\ud06c\ub300\ub85c \uc0ac\uc6a9\ud558\ub3c4\ub85d \ud558\uc138\uc694.<\/li>\n<\/ol>\n<\/div>\n<div class=\"paragraph\">\n<p>\uc774\ub97c \uc218\ud589\ud558\ub294 \ubc29\ubc95\uc5d0\ub294 \uc5ec\ub7ec \uac00\uc9c0\uac00 \uc788\uc9c0\ub9cc \uc800\ub294 Kafka\uc758 REST API\ub97c \uc0ac\uc6a9\ud558\uae30\ub85c \uacb0\uc815\ud588\uc2b5\ub2c8\ub2e4.<\/p>\n<\/div>\n<div class=\"sect2\">\n<h3 id=\"_connect_to_mysql_as_a_source\">MySQL\uc5d0 \uc18c\uc2a4\ub85c \uc5f0\uacb0<\/h3>\n<div class=\"paragraph\">\n<p>\ub2e4\uc74c \uc8fc\uc18c\ub85c POST \uc694\uccad\uc744 \uc0dd\uc131\ud569\ub2c8\ub2e4. <code>https:\/\/localhost:8083\/connectors\/<\/code> \ubab8\uacfc \ud568\uaed8:<\/p>\n<\/div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight decode:true\"><code class=\"language-JavaScript\" data-lang=\"JavaScript\">{\r\n  \"name\": \"inventory-connector\",\r\n  \"config\": {\r\n    \"connector.class\": \"io.debezium.connector.mysql.MySqlConnector\",\r\n    \"tasks.max\": \"1\",\r\n    \"database.hostname\": \"mysql\",\r\n    \"database.port\": \"3306\",\r\n    \"database.user\": \"debezium\",\r\n    \"database.password\": \"dbz\",\r\n    \"database.server.id\": \"184054\",\r\n    \"database.server.name\": \"dbserver1\",\r\n    \"database.whitelist\": \"inventory\",\r\n    \"database.history.kafka.bootstrap.servers\": \"kafka:9092\",\r\n    \"database.history.kafka.topic\": \"schema-changes.inventory\"\r\n  }\r\n}<\/code><\/pre>\n<\/div>\n<\/div>\n<div class=\"paragraph\">\n<p>\uc774\uac83\uc740 \ub370\ubca0\uc9c0\uc6c0 \ud29c\ud1a0\ub9ac\uc5bc\uc5d0\uc11c \uc9c1\uc811 \uac00\uc838\uc628 \uac83\uc785\ub2c8\ub2e4. \ud2b9\ud788 \ub2e4\uc74c \uc0ac\ud56d\uc5d0 \uc720\uc758\ud558\uc138\uc694. <code>database.server.name<\/code> \uadf8\ub9ac\uace0 <code>\ub370\uc774\ud130\ubca0\uc774\uc2a4.\ud654\uc774\ud2b8\ub9ac\uc2a4\ud2b8<\/code>. \uc774\ub97c \uac8c\uc2dc\ud558\uba74 \ub370\uc774\ud130\uac00 MySQL\uc5d0\uc11c Kafka\ub85c \uc989\uc2dc \ud750\ub974\uae30 \uc2dc\uc791\ud569\ub2c8\ub2e4.<\/p>\n<\/div>\n<\/div>\n<div class=\"sect2\">\n<h3 id=\"_connect_to_couchbase_as_a_sink\">Couchbase\uc5d0 \uc2f1\ud06c\ub85c \uc5f0\uacb0<\/h3>\n<div class=\"paragraph\">\n<p>\ub2e4\uc74c \uc8fc\uc18c\ub85c \ub2e4\ub978 POST \uc694\uccad\uc744 \uc0dd\uc131\ud569\ub2c8\ub2e4. <code>https:\/\/localhost:8083\/connectors\/<\/code> \ubab8\uacfc \ud568\uaed8:<\/p>\n<\/div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight decode:true\"><code class=\"language-JavaScript\" data-lang=\"JavaScript\">{\r\n  \"name\": \"home-delivery-sink\",\r\n  \"config\": {\r\n    \"connector.class\": \"com.couchbase.connect.kafka.CouchbaseSinkConnector\",\r\n    \"tasks.max\": \"2\",\r\n\t\"topics\" : \"dbserver1.inventory.customers\",\r\n\t\"connection.cluster_address\" : \"db\",\r\n\t\"connection.timeout.ms\" : \"2000\",\r\n\t\"connection.bucket\" : \"staging\",\r\n\t\"connection.username\" : \"Administrator\",\r\n\t\"connection.password\" : \"password\",\r\n\t\"couchbase.durability.persist_to\" : \"NONE\",\r\n\t\"couchbase.durability.replicate_to\" : \"NONE\",\r\n\t\"key.converter\" : \"org.apache.kafka.connect.storage.StringConverter\",\r\n\t\"value.converter\" : \"org.apache.kafka.connect.json.JsonConverter\",\r\n\t\"value.converter.schemas.enable\" : \"false\"\r\n  }\r\n}<\/code><\/pre>\n<\/div>\n<\/div>\n<div class=\"paragraph\">\n<p>\uc774 \uad6c\uc131\uc740 \uc8fc\ub85c <a href=\"https:\/\/docs.couchbase.com\/kafka-connector\/3.4\/quickstart.html\">\uce74\uc6b0\uce58\ubca0\uc774\uc2a4 \ube60\ub978 \uc2dc\uc791<\/a>. \uba85\ub839\uc904\uc758 \ud14d\uc2a4\ud2b8 \ud30c\uc77c\uc774 \uc544\ub2c8\ub77c HTTP POST\uc785\ub2c8\ub2e4. \ud2b9\ubcc4\ud788 \uc8fc\ubaa9\ud558\uc138\uc694:<\/p>\n<\/div>\n<div class=\"ulist\">\n<ul>\n<li><code>connector.class<\/code> - \ub2e4\uc74c\uc740 JAR \ud30c\uc77c\uc5d0 \uc788\ub294 \ucee4\ub125\ud130 \ud074\ub798\uc2a4\uc785\ub2c8\ub2e4.<\/li>\n<li><code>\uc8fc\uc81c<\/code> - \uce74\uc6b0\uce58\ubca0\uc774\uc2a4\uac00 \uac00\ub77c\uc549\uc744 \uc8fc\uc81c\uc785\ub2c8\ub2e4.<\/li>\n<li><code>connection.cluster_address<\/code> - Docker\uc5d0\uc11c Couchbase\ub97c \uc2dc\uc791\ud560 \ub54c \"db\"\ub77c\ub294 \uc774\ub984\uc744 \uc9c0\uc815\ud588\uc2b5\ub2c8\ub2e4.<\/li>\n<li><code>connection.bucket<\/code>, <code>connection.username<\/code>, <code>connection.password<\/code> - \uc774 \uc124\uc815\uc740 \ubaa8\ub450 Couchbase\ub97c \uc124\uc815\ud560 \ub54c \uc81c\uac00 \ub9cc\ub4e0 \uc124\uc815\uc785\ub2c8\ub2e4.<\/li>\n<\/ul>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"sect1\">\n<h2 id=\"_data_is_now_flowing\">\uc774\uc81c \ub370\uc774\ud130\uac00 \ud750\ub974\uace0 \uc788\uc2b5\ub2c8\ub2e4.<\/h2>\n<div class=\"sectionbody\">\n<div class=\"paragraph\">\n<p>\uc774\uc81c \ub370\uc774\ud130\uac00 Couchbase \ubc84\ud0b7\uc73c\ub85c \ud758\ub7ec \ub4e4\uc5b4\uac00\uace0 \uc788\uc5b4\uc57c \ud569\ub2c8\ub2e4. Couchbase\uc5d0 \uc5f0\uacb0\ud558\uba74 \uc2a4\ud14c\uc774\uc9d5 \ubc84\ud0b7\uc5d0 4\uac1c\uc758 \ubb38\uc11c\uac00 \ud45c\uc2dc\ub429\ub2c8\ub2e4(\uc774\ub294 MySQL \uc0d8\ud50c \ub370\uc774\ud130\ubca0\uc774\uc2a4\uc758 \ub370\uc774\ud130 \ud589 4\uac1c\uc5d0 \ud574\ub2f9). MySQL \ub370\uc774\ud130\ubca0\uc774\uc2a4\uc5d0 \ub370\uc774\ud130\ub97c \ucd94\uac00\ud558\uac70\ub098 \uc5c5\ub370\uc774\ud2b8\ud558\uba74 \ub354 \ub9ce\uc740 \ub808\ucf54\ub4dc\uac00 \uc790\ub3d9\uc73c\ub85c Couchbase \ubc84\ud0b7\uc73c\ub85c \ub864\ub9c1\ub418\uae30 \uc2dc\uc791\ud569\ub2c8\ub2e4.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>\uc800\ub294 \uc774 \ubaa8\ub4e0 \uacfc\uc815\uc744 <a href=\"https:\/\/www.twitch.tv\/matthewdgroves\">Twitch\uc758 \ub77c\uc774\ube0c \ucf54\ub4dc \uc2a4\ud2b8\ub9bc<\/a>. \uc774 \ubaa8\ub4e0 \uacfc\uc815\uc744 \uc2e4\uc81c\ub85c \ubcf4\uace0 \uc2f6\ub2e4\uba74 \ubaa8\ub4e0 \ub2e8\uacc4\ub97c \ubcf4\uc5ec\uc8fc\ub294 \ud558\uc774\ub77c\uc774\ud2b8 \ub9b4\uc744 \ud3b8\uc9d1\ud574 \ubcf4\uc558\uc2b5\ub2c8\ub2e4:<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>[\uc720\ud29c\ube0c https:\/\/www.youtube.com\/watch?v=HCAY7EMm3pg&amp;w=560&amp;h=315]<\/p>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"sect1\">\n<h2 id=\"_resources_and_next_steps\">\ub9ac\uc18c\uc2a4 \ubc0f \ub2e4\uc74c \ub2e8\uacc4<\/h2>\n<div class=\"sectionbody\">\n<div class=\"paragraph\">\n<p>\uc774\uc81c \uc774 \ud29c\ud1a0\ub9ac\uc5bc\uc744 \uc644\ub8cc\ud588\uc73c\ub2c8 \uacc4\uc18d \ud0d0\uc0c9\ud560 \uc218 \uc788\ub294 \ub2e4\ub978 \ubc29\ud5a5\uc774 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n<\/div>\n<div class=\"ulist\">\n<ul>\n<li>\uc624\ucf00\uc2a4\ud2b8\ub808\uc774\uc158: \uc774 \uc0d8\ud50c\uc5d0\ub294 \uc218\ub3d9\uc73c\ub85c \uc2e4\ud589\ub418\ub294 \ub9ce\uc740 Docker \uc774\ubbf8\uc9c0\uac00 \ud3ec\ud568\ub418\uc5b4 \uc788\uc2b5\ub2c8\ub2e4. \ud504\ub85c\ub355\uc158 \ud658\uacbd\uc5d0\uc11c\ub294 \uc774\ub7ec\ud55c \ubd80\ubd84 \uc911 \uc77c\ubd80 \ub610\ub294 \uc804\ubd80\ub97c Kubernetes\uc640 \uac19\uc740 \uac83\uc744 \uc0ac\uc6a9\ud558\uc5ec \uc624\ucf00\uc2a4\ud2b8\ub808\uc774\uc158\ud558\uace0 \ud655\uc7a5\ud558\uace0 \uc2f6\uc744 \uac83\uc785\ub2c8\ub2e4. \uc774 \uc0d8\ud50c\uc5d0\ub294 <a href=\"https:\/\/docs.couchbase.com\/operator\/current\/overview.html\">\uce74\uc6b0\uce58\ubca0\uc774\uc2a4 \uc5d4\ud130\ud504\ub77c\uc774\uc988\uc6a9 \ucfe0\ubc84\ub124\ud2f0\uc2a4 \uc6b4\uc601\uc790<\/a>.<\/li>\n<li>\uace0\uac1d 360: MySQL \ub370\uc774\ud130\ubca0\uc774\uc2a4\uc5d0\uc11c Couchbase\ub85c \ub370\uc774\ud130\ub97c \uc2a4\ud2b8\ub9ac\ubc0d\ud558\ub294 \uac83\uc740 \uc774 \ubc29\ud5a5\uc758 \ud55c \ub2e8\uacc4\uc5d0 \ubd88\uacfc\ud569\ub2c8\ub2e4. Customer 360 \uc560\ud50c\ub9ac\ucf00\uc774\uc158\uc740 \ub2e4\uc591\ud55c \ub2e4\ub978 \ub370\uc774\ud130\ubca0\uc774\uc2a4\uc5d0\uc11c \ub370\uc774\ud130\ub97c \uac00\uc838\uc62c \uac00\ub2a5\uc131\uc774 \ub192\uc2b5\ub2c8\ub2e4. Customer 360 \uc218\uc9d1 \uc544\ud0a4\ud14d\ucc98 \uad6c\ucd95\uc5d0 \ub300\ud55c \uc790\uc138\ud55c \ub0b4\uc6a9\uc740 Couchbase \ube14\ub85c\uadf8\uc640 Couchbase \ud29c\ud1a0\ub9ac\uc5bc\uc744 \uacc4\uc18d \uc9c0\ucf1c\ubd10 \uc8fc\uc138\uc694.<\/li>\n<\/ul>\n<\/div>\n<div class=\"paragraph\">\n<p>\ubb38\uc758 \uc0ac\ud56d\uc774 \uc788\uc73c\uc2dc\uba74 \ub2e4\uc74c \uc5f0\ub77d\ucc98\ub85c \uc5f0\ub77d\ud574 \uc8fc\uc138\uc694. <a href=\"https:\/\/twitter.com\/mgroves\">\ud2b8\uc704\ud130 @mgroves<\/a>\uc5d0 \ub313\uae00\uc744 \ub0a8\uae30\uac70\ub098 \ub2e4\uc74c \ud3ec\uc2a4\ud305\uc744 \uae30\ub300\ud574\uc8fc\uc138\uc694. <a href=\"https:\/\/www.twitch.tv\/matthewdgroves\">\ub77c\uc774\ube0c \ucf54\ub4dc \uc2a4\ud2b8\ub9bc<\/a>.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Couchbase \ub610\ub294 Couchbase Kafka \ucee4\ub125\ud130\uc5d0 \ub300\ud55c \uae30\uc220\uc801\uc778 \uc9c8\ubb38\uc774 \uc788\ub294 \uacbd\uc6b0, \ub2e4\uc74c\uc744 \ud655\uc778\ud558\uc138\uc694. <a href=\"https:\/\/www.couchbase.com\/blog\/ko\/forums\/\">\uce74\uc6b0\uce58\ubca0\uc774\uc2a4 \ud3ec\ub7fc<\/a>.<\/p>\n<\/div>\n<\/div>\n<\/div>","protected":false},"excerpt":{"rendered":"<p>Kafka is a streaming platform that can be used to stream records to (Kafka sink) and from (Kafka source) data centers. Couchbase has created and supports a Kafka connector that allows you to easily use Couchbase as a source or [&hellip;]<\/p>","protected":false},"author":71,"featured_media":10893,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"inline_featured_image":false,"footnotes":""},"categories":[2242,1816],"tags":[1295,1487,1336],"ppma_author":[8937],"class_list":["post-6729","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-connectors","category-couchbase-server","tag-connectors","tag-kafka","tag-mysql"],"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>Kafka Connect from MySQL to Couchbase with Debezium<\/title>\n<meta name=\"description\" content=\"Kafka is a streaming platform that can be used to stream records to and from data centers. In this post, we&#039;ll stream data from MySQL to Couchbase.\" \/>\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\/kafka-connect-mysql-couchbase-debezium\/\" \/>\n<meta property=\"og:locale\" content=\"ko_KR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Kafka Connect from MySQL to Couchbase with Debezium\" \/>\n<meta property=\"og:description\" content=\"Kafka is a streaming platform that can be used to stream records to and from data centers. In this post, we&#039;ll stream data from MySQL to Couchbase.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.couchbase.com\/blog\/ko\/kafka-connect-mysql-couchbase-debezium\/\" \/>\n<meta property=\"og:site_name\" content=\"The Couchbase Blog\" \/>\n<meta property=\"article:published_time\" content=\"2019-04-22T17:31:16+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-06-14T02:27:46+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2019\/04\/1280px-121-hero-queueing-Waiting_in_line_at_a_food_store.jpeg\" \/>\n\t<meta property=\"og:image:width\" content=\"1280\" \/>\n\t<meta property=\"og:image:height\" content=\"960\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Matthew Groves\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@mgroves\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Matthew Groves\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"6\ubd84\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/kafka-connect-mysql-couchbase-debezium\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/kafka-connect-mysql-couchbase-debezium\/\"},\"author\":{\"name\":\"Matthew Groves\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/3929663e372020321b0152dc4fa65a58\"},\"headline\":\"Kafka Connect from MySQL to Couchbase with Debezium\",\"datePublished\":\"2019-04-22T17:31:16+00:00\",\"dateModified\":\"2025-06-14T02:27:46+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/kafka-connect-mysql-couchbase-debezium\/\"},\"wordCount\":1037,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/kafka-connect-mysql-couchbase-debezium\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2019\/04\/1280px-121-hero-queueing-Waiting_in_line_at_a_food_store.jpeg\",\"keywords\":[\"connectors\",\"kafka\",\"mysql\"],\"articleSection\":[\"Connectors\",\"Couchbase Server\"],\"inLanguage\":\"ko-KR\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.couchbase.com\/blog\/kafka-connect-mysql-couchbase-debezium\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/kafka-connect-mysql-couchbase-debezium\/\",\"url\":\"https:\/\/www.couchbase.com\/blog\/kafka-connect-mysql-couchbase-debezium\/\",\"name\":\"Kafka Connect from MySQL to Couchbase with Debezium\",\"isPartOf\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/kafka-connect-mysql-couchbase-debezium\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/kafka-connect-mysql-couchbase-debezium\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2019\/04\/1280px-121-hero-queueing-Waiting_in_line_at_a_food_store.jpeg\",\"datePublished\":\"2019-04-22T17:31:16+00:00\",\"dateModified\":\"2025-06-14T02:27:46+00:00\",\"description\":\"Kafka is a streaming platform that can be used to stream records to and from data centers. In this post, we'll stream data from MySQL to Couchbase.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/kafka-connect-mysql-couchbase-debezium\/#breadcrumb\"},\"inLanguage\":\"ko-KR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.couchbase.com\/blog\/kafka-connect-mysql-couchbase-debezium\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"ko-KR\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/kafka-connect-mysql-couchbase-debezium\/#primaryimage\",\"url\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2019\/04\/1280px-121-hero-queueing-Waiting_in_line_at_a_food_store.jpeg\",\"contentUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2019\/04\/1280px-121-hero-queueing-Waiting_in_line_at_a_food_store.jpeg\",\"width\":1280,\"height\":960,\"caption\":\"OLYMPUS DIGITAL CAMERA\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/kafka-connect-mysql-couchbase-debezium\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.couchbase.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Kafka Connect from MySQL to Couchbase with Debezium\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#website\",\"url\":\"https:\/\/www.couchbase.com\/blog\/\",\"name\":\"The Couchbase Blog\",\"description\":\"Couchbase, the NoSQL Database\",\"publisher\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.couchbase.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"ko-KR\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#organization\",\"name\":\"The Couchbase Blog\",\"url\":\"https:\/\/www.couchbase.com\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"ko-KR\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2023\/04\/admin-logo.png\",\"contentUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2023\/04\/admin-logo.png\",\"width\":218,\"height\":34,\"caption\":\"The Couchbase Blog\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/logo\/image\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/3929663e372020321b0152dc4fa65a58\",\"name\":\"Matthew Groves\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"ko-KR\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/image\/ba51e6aacc53995c323a634e4502ef54\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/70feb1b28a099ad0112b8d21fe1e81e1a4524beed3e20b7f107d5370e85a07ab?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/70feb1b28a099ad0112b8d21fe1e81e1a4524beed3e20b7f107d5370e85a07ab?s=96&d=mm&r=g\",\"caption\":\"Matthew Groves\"},\"description\":\"Matthew D. Groves is a guy who loves to code. It doesn't matter if it's C#, jQuery, or PHP: he'll submit pull requests for anything. He has been coding professionally ever since he wrote a QuickBASIC point-of-sale app for his parent's pizza shop back in the 90s. He currently works as a Senior Product Marketing Manager for Couchbase. His free time is spent with his family, watching the Reds, and getting involved in the developer community. He is the author of AOP in .NET, Pro Microservices in .NET, a Pluralsight author, and a Microsoft MVP.\",\"sameAs\":[\"https:\/\/crosscuttingconcerns.com\",\"https:\/\/x.com\/mgroves\"],\"url\":\"https:\/\/www.couchbase.com\/blog\/ko\/author\/matthew-groves\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Debezium\uc744 \uc0ac\uc6a9\ud558\uc5ec MySQL\uc5d0\uc11c Couchbase\ub85c Kafka \uc5f0\uacb0\ud558\uae30","description":"Kafka is a streaming platform that can be used to stream records to and from data centers. In this post, we'll stream data from MySQL to Couchbase.","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\/kafka-connect-mysql-couchbase-debezium\/","og_locale":"ko_KR","og_type":"article","og_title":"Kafka Connect from MySQL to Couchbase with Debezium","og_description":"Kafka is a streaming platform that can be used to stream records to and from data centers. In this post, we'll stream data from MySQL to Couchbase.","og_url":"https:\/\/www.couchbase.com\/blog\/ko\/kafka-connect-mysql-couchbase-debezium\/","og_site_name":"The Couchbase Blog","article_published_time":"2019-04-22T17:31:16+00:00","article_modified_time":"2025-06-14T02:27:46+00:00","og_image":[{"width":1280,"height":960,"url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2019\/04\/1280px-121-hero-queueing-Waiting_in_line_at_a_food_store.jpeg","type":"image\/jpeg"}],"author":"Matthew Groves","twitter_card":"summary_large_image","twitter_creator":"@mgroves","twitter_misc":{"Written by":"Matthew Groves","Est. reading time":"6\ubd84"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.couchbase.com\/blog\/kafka-connect-mysql-couchbase-debezium\/#article","isPartOf":{"@id":"https:\/\/www.couchbase.com\/blog\/kafka-connect-mysql-couchbase-debezium\/"},"author":{"name":"Matthew Groves","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/3929663e372020321b0152dc4fa65a58"},"headline":"Kafka Connect from MySQL to Couchbase with Debezium","datePublished":"2019-04-22T17:31:16+00:00","dateModified":"2025-06-14T02:27:46+00:00","mainEntityOfPage":{"@id":"https:\/\/www.couchbase.com\/blog\/kafka-connect-mysql-couchbase-debezium\/"},"wordCount":1037,"commentCount":0,"publisher":{"@id":"https:\/\/www.couchbase.com\/blog\/#organization"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/kafka-connect-mysql-couchbase-debezium\/#primaryimage"},"thumbnailUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2019\/04\/1280px-121-hero-queueing-Waiting_in_line_at_a_food_store.jpeg","keywords":["connectors","kafka","mysql"],"articleSection":["Connectors","Couchbase Server"],"inLanguage":"ko-KR","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.couchbase.com\/blog\/kafka-connect-mysql-couchbase-debezium\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.couchbase.com\/blog\/kafka-connect-mysql-couchbase-debezium\/","url":"https:\/\/www.couchbase.com\/blog\/kafka-connect-mysql-couchbase-debezium\/","name":"Debezium\uc744 \uc0ac\uc6a9\ud558\uc5ec MySQL\uc5d0\uc11c Couchbase\ub85c Kafka \uc5f0\uacb0\ud558\uae30","isPartOf":{"@id":"https:\/\/www.couchbase.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.couchbase.com\/blog\/kafka-connect-mysql-couchbase-debezium\/#primaryimage"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/kafka-connect-mysql-couchbase-debezium\/#primaryimage"},"thumbnailUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2019\/04\/1280px-121-hero-queueing-Waiting_in_line_at_a_food_store.jpeg","datePublished":"2019-04-22T17:31:16+00:00","dateModified":"2025-06-14T02:27:46+00:00","description":"Kafka is a streaming platform that can be used to stream records to and from data centers. In this post, we'll stream data from MySQL to Couchbase.","breadcrumb":{"@id":"https:\/\/www.couchbase.com\/blog\/kafka-connect-mysql-couchbase-debezium\/#breadcrumb"},"inLanguage":"ko-KR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.couchbase.com\/blog\/kafka-connect-mysql-couchbase-debezium\/"]}]},{"@type":"ImageObject","inLanguage":"ko-KR","@id":"https:\/\/www.couchbase.com\/blog\/kafka-connect-mysql-couchbase-debezium\/#primaryimage","url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2019\/04\/1280px-121-hero-queueing-Waiting_in_line_at_a_food_store.jpeg","contentUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2019\/04\/1280px-121-hero-queueing-Waiting_in_line_at_a_food_store.jpeg","width":1280,"height":960,"caption":"OLYMPUS DIGITAL CAMERA"},{"@type":"BreadcrumbList","@id":"https:\/\/www.couchbase.com\/blog\/kafka-connect-mysql-couchbase-debezium\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.couchbase.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Kafka Connect from MySQL to Couchbase with Debezium"}]},{"@type":"WebSite","@id":"https:\/\/www.couchbase.com\/blog\/#website","url":"https:\/\/www.couchbase.com\/blog\/","name":"\uce74\uc6b0\uce58\ubca0\uc774\uc2a4 \ube14\ub85c\uadf8","description":"NoSQL \ub370\uc774\ud130\ubca0\uc774\uc2a4, Couchbase","publisher":{"@id":"https:\/\/www.couchbase.com\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.couchbase.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"ko-KR"},{"@type":"Organization","@id":"https:\/\/www.couchbase.com\/blog\/#organization","name":"\uce74\uc6b0\uce58\ubca0\uc774\uc2a4 \ube14\ub85c\uadf8","url":"https:\/\/www.couchbase.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"ko-KR","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2023\/04\/admin-logo.png","contentUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2023\/04\/admin-logo.png","width":218,"height":34,"caption":"The Couchbase Blog"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/3929663e372020321b0152dc4fa65a58","name":"\ub9e4\ud29c \uadf8\ub85c\ube0c\uc2a4","image":{"@type":"ImageObject","inLanguage":"ko-KR","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/image\/ba51e6aacc53995c323a634e4502ef54","url":"https:\/\/secure.gravatar.com\/avatar\/70feb1b28a099ad0112b8d21fe1e81e1a4524beed3e20b7f107d5370e85a07ab?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/70feb1b28a099ad0112b8d21fe1e81e1a4524beed3e20b7f107d5370e85a07ab?s=96&d=mm&r=g","caption":"Matthew Groves"},"description":"Matthew D. Groves\ub294 \ucf54\ub529\uc744 \uc88b\uc544\ud558\ub294 \uc0ac\ub78c\uc785\ub2c8\ub2e4. C#, jQuery, PHP \ub4f1 \ubb34\uc5c7\uc774\ub4e0 \ud480 \ub9ac\ud018\uc2a4\ud2b8\ub97c \uc81c\ucd9c\ud560 \uc815\ub3c4\ub85c \ucf54\ub529\uc744 \uc88b\uc544\ud569\ub2c8\ub2e4. 90\ub144\ub300\uc5d0 \ubd80\ubaa8\ub2d8\uc758 \ud53c\uc790 \uac00\uac8c\ub97c \uc704\ud574 QuickBASIC POS \uc571\uc744 \ub9cc\ub4e0 \uc774\ud6c4\ub85c \uc804\ubb38\uc801\uc73c\ub85c \ucf54\ub529\uc744 \ud574\uc654\uc2b5\ub2c8\ub2e4. \ud604\uc7ac Couchbase\uc758 \uc120\uc784 \uc81c\ud488 \ub9c8\ucf00\ud305 \uad00\ub9ac\uc790\ub85c \uc77c\ud558\uace0 \uc788\uc2b5\ub2c8\ub2e4. \uc5ec\uac00 \uc2dc\uac04\uc5d0\ub294 \uac00\uc871\uacfc \ud568\uaed8 \ucd95\uad6c \uacbd\uae30\ub97c \uad00\ub78c\ud558\uace0 \uac1c\ubc1c\uc790 \ucee4\ubba4\ub2c8\ud2f0\uc5d0 \ucc38\uc5ec\ud558\uba70 \uc2dc\uac04\uc744 \ubcf4\ub0c5\ub2c8\ub2e4. \uadf8\ub294 .NET\uc758 AOP, .NET\uc758 \ud504\ub85c \ub9c8\uc774\ud06c\ub85c\uc11c\ube44\uc2a4, Pluralsight \uc800\uc790, Microsoft MVP\uc758 \uc800\uc790\uc774\uae30\ub3c4 \ud569\ub2c8\ub2e4.","sameAs":["https:\/\/crosscuttingconcerns.com","https:\/\/x.com\/mgroves"],"url":"https:\/\/www.couchbase.com\/blog\/ko\/author\/matthew-groves\/"}]}},"authors":[{"term_id":8937,"user_id":71,"is_guest":0,"slug":"matthew-groves","display_name":"Matthew Groves","avatar_url":"https:\/\/secure.gravatar.com\/avatar\/70feb1b28a099ad0112b8d21fe1e81e1a4524beed3e20b7f107d5370e85a07ab?s=96&d=mm&r=g","author_category":"","last_name":"Groves","first_name":"Matthew","job_title":"","user_url":"https:\/\/crosscuttingconcerns.com","description":"Matthew D. Groves\ub294 \ucf54\ub529\uc744 \uc88b\uc544\ud558\ub294 \uc0ac\ub78c\uc785\ub2c8\ub2e4.  C#, jQuery, PHP \ub4f1 \ubb34\uc5c7\uc774\ub4e0 \ud480 \ub9ac\ud018\uc2a4\ud2b8\ub97c \uc81c\ucd9c\ud560 \uc815\ub3c4\ub85c \ucf54\ub529\uc744 \uc88b\uc544\ud569\ub2c8\ub2e4.  90\ub144\ub300\uc5d0 \ubd80\ubaa8\ub2d8\uc758 \ud53c\uc790 \uac00\uac8c\ub97c \uc704\ud574 QuickBASIC POS \uc571\uc744 \ub9cc\ub4e0 \uc774\ud6c4\ub85c \uc804\ubb38\uc801\uc73c\ub85c \ucf54\ub529\uc744 \ud574\uc654\uc2b5\ub2c8\ub2e4.  \ud604\uc7ac Couchbase\uc758 \uc120\uc784 \uc81c\ud488 \ub9c8\ucf00\ud305 \uad00\ub9ac\uc790\ub85c \uc77c\ud558\uace0 \uc788\uc2b5\ub2c8\ub2e4. \uc5ec\uac00 \uc2dc\uac04\uc5d0\ub294 \uac00\uc871\uacfc \ud568\uaed8 \ucd95\uad6c \uacbd\uae30\ub97c \uad00\ub78c\ud558\uace0 \uac1c\ubc1c\uc790 \ucee4\ubba4\ub2c8\ud2f0\uc5d0 \ucc38\uc5ec\ud558\uba70 \uc2dc\uac04\uc744 \ubcf4\ub0c5\ub2c8\ub2e4.  \uadf8\ub294 .NET\uc758 AOP, .NET\uc758 \ud504\ub85c \ub9c8\uc774\ud06c\ub85c\uc11c\ube44\uc2a4, Pluralsight \uc800\uc790, Microsoft MVP\uc758 \uc800\uc790\uc774\uae30\ub3c4 \ud569\ub2c8\ub2e4."}],"_links":{"self":[{"href":"https:\/\/www.couchbase.com\/blog\/ko\/wp-json\/wp\/v2\/posts\/6729","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.couchbase.com\/blog\/ko\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.couchbase.com\/blog\/ko\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/ko\/wp-json\/wp\/v2\/users\/71"}],"replies":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/ko\/wp-json\/wp\/v2\/comments?post=6729"}],"version-history":[{"count":0,"href":"https:\/\/www.couchbase.com\/blog\/ko\/wp-json\/wp\/v2\/posts\/6729\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/ko\/wp-json\/wp\/v2\/media\/10893"}],"wp:attachment":[{"href":"https:\/\/www.couchbase.com\/blog\/ko\/wp-json\/wp\/v2\/media?parent=6729"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/ko\/wp-json\/wp\/v2\/categories?post=6729"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/ko\/wp-json\/wp\/v2\/tags?post=6729"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/ko\/wp-json\/wp\/v2\/ppma_author?post=6729"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}