{"id":21,"date":"2025-03-21T11:09:57","date_gmt":"2025-03-21T02:09:57","guid":{"rendered":"https:\/\/wordpress.koseongnam.com\/?p=21"},"modified":"2025-03-21T11:11:56","modified_gmt":"2025-03-21T02:11:56","slug":"%eb%b6%84%ec%82%b0-%ec%bb%b4%ed%93%a8%ed%8c%85-%eb%b0%8f-%eb%b3%91%eb%a0%ac-%ec%b2%98%eb%a6%ac","status":"publish","type":"post","link":"https:\/\/wordpress.koseongnam.com\/?p=21","title":{"rendered":"\ubd84\uc0b0 \ucef4\ud4e8\ud305 \ubc0f \ubcd1\ub82c \ucc98\ub9ac"},"content":{"rendered":"\n<p>1. \uac15\uc758 \uacc4\ud68d<\/p>\n\n\n\n<p><strong>15\uc2dc\uac04 \uc804\uccb4 \uac15\uc758\uacc4\ud68d\ud45c:<\/strong><\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>\uc77c\uc790<\/th><th>\uc8fc\uc81c<\/th><th>\uc774\ub860 \uc2dc\uac04<\/th><th>\uc2e4\uc2b5 \uc2dc\uac04<\/th><\/tr><\/thead><tbody><tr><td>1\uc77c\ucc28<\/td><td>\ubd84\uc0b0 \ucef4\ud4e8\ud305 \ubc0f \ubcd1\ub82c \ucc98\ub9ac \uac1c\uc694<\/td><td>2\uc2dc\uac04<\/td><td>4\uc2dc\uac04<\/td><\/tr><tr><td>2\uc77c\ucc28<\/td><td>GCP \ud658\uacbd \uc124\uc815 \ubc0f Dataflow \uae30\ucd08<\/td><td>1\uc2dc\uac04<\/td><td>5\uc2dc\uac04<\/td><\/tr><tr><td>3\uc77c\ucc28<\/td><td>PySpark \ubc0f Dataproc \uc0ac\uc6a9\ubc95<\/td><td>2\uc2dc\uac04<\/td><td>4\uc2dc\uac04<\/td><\/tr><tr><td>4\uc77c\ucc28<\/td><td>\ub300\uc6a9\ub7c9 \ub370\uc774\ud130 \ucc98\ub9ac \uc544\ud0a4\ud14d\ucc98 \uc774\ud574<\/td><td>1\uc2dc\uac04<\/td><td>5\uc2dc\uac04<\/td><\/tr><tr><td>5\uc77c\ucc28<\/td><td>\ud074\ub7ec\uc2a4\ud130 \uc6b4\uc601 \ucd5c\uc801\ud654 \ubc0f \uace0\uae09 \uae30\ub2a5<\/td><td>1\uc2dc\uac04<\/td><td>4\uc2dc\uac04<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"2.-%EB%B6%84%EC%82%B0-%EC%BB%B4%ED%93%A8%ED%8C%85%EA%B3%BC-%EB%B3%91%EB%A0%AC-%EC%B2%98%EB%A6%AC%EC%9D%98-%EA%B0%9C%EC%9A%94\">2. \ubd84\uc0b0 \ucef4\ud4e8\ud305\uacfc \ubcd1\ub82c \ucc98\ub9ac\uc758 \uac1c\uc694<\/h2>\n\n\n\n<p>\ubd84\uc0b0 \ucef4\ud4e8\ud305\uacfc \ubcd1\ub82c \ucc98\ub9ac\ub294 \uc624\ub298\ub0a0 \uace0\uc131\ub2a5 \ub370\uc774\ud130 \ucc98\ub9ac\uc640 \ub300\uaddc\ubaa8 \uc791\uc5c5 \uc2e4\ud589\uc5d0 \uc911\uc694\ud55c \ub450 \uac00\uc9c0 \ubaa8\ub378\uc785\ub2c8\ub2e4.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\ubd84\uc0b0 \ucef4\ud4e8\ud305<\/strong>\uc740 \uc5ec\ub7ec \ub300\uc758 \ub3c5\ub9bd\uc801\uc778 \ucef4\ud4e8\ud130\uac00 \ub124\ud2b8\uc6cc\ud06c\ub97c \ud1b5\ud574 \ud611\ub825\ud558\uc5ec \uc791\uc5c5\uc744 \uc218\ud589\ud558\ub294 \ubc29\uc2dd\uc785\ub2c8\ub2e4. \uac01 \ub178\ub4dc\ub294 \ubcc4\ub3c4\uc758 \uba54\ubaa8\ub9ac\uc640 \ud504\ub85c\uc138\uc11c \uc790\uc6d0\uc744 \ubcf4\uc720\ud558\uba70, \ud655\uc7a5\uc131\uacfc \uc7a5\uc560 \ud5c8\uc6a9\uc131\uc774 \uc911\uc694\ud55c \ud2b9\uc9d5\uc785\ub2c8\ub2e4 GeeksforGeeks<a href=\"https:\/\/www.geeksforgeeks.org\/difference-between-parallel-computing-and-distributed-computing\/\" target=\"_blank\" rel=\"noreferrer noopener\">1<\/a>, Computer.org<a href=\"https:\/\/www.computer.org\/publications\/tech-news\/trends\/differences-between-parallel-and-distributed-computing\/\" target=\"_blank\" rel=\"noreferrer noopener\">2<\/a>.<\/li>\n\n\n\n<li><strong>\ubcd1\ub82c \ucc98\ub9ac<\/strong>\ub294 \ub2e8\uc77c \uc2dc\uc2a4\ud15c \ub0b4 \uc5ec\ub7ec \ud504\ub85c\uc138\uc11c\ub098 \ucf54\uc5b4\uac00 \ub3d9\uc2dc\uc5d0 \uc791\uc5c5\uc744 \uc218\ud589\ud558\uc5ec \uacc4\uc0b0 \uc18d\ub3c4\ub97c \uadf9\ub300\ud654\ud558\ub294 \ub370 \uc911\uc810\uc744 \ub461\ub2c8\ub2e4.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"2.1-%ED%9A%A8%EA%B3%BC%EC%A0%81%EC%9D%B8-%EB%B9%84%EC%9C%A0-%EC%82%AC%EB%A1%80\">2.1 \ud6a8\uacfc\uc801\uc778 \ube44\uc720 \uc0ac\ub840<\/h3>\n\n\n\n<p>\ucd08\ubcf4\uc790\ub4e4\uc774 \uc774\ud574\ud558\uae30 \uc27d\uac8c \ub2e4\uc74c\uacfc \uac19\uc774 \ube44\uc720\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\ubd84\uc0b0 \ucef4\ud4e8\ud305<\/strong>: \u2018\uc5ec\ub7ec \uc8fc\ubc29\uc5d0\uc11c \uac01\uae30 \ub2e4\ub978 \uc694\ub9ac\ub97c \uc900\ube44\ud558\ub294 \ud300\u2019\ucc98\ub7fc, \uac01 \ub178\ub4dc(\ucef4\ud4e8\ud130)\uac00 \ub3c5\ub9bd\uc801\uc73c\ub85c \ub9e1\uc740 \uc791\uc5c5\uc744 \uc218\ud589\ud55c \ud6c4 \uacb0\uacfc\ub97c \ud569\uce69\ub2c8\ub2e4.<\/li>\n\n\n\n<li><strong>\ubcd1\ub82c \ucc98\ub9ac<\/strong>: \u2018\ud55c \uc8fc\ubc29\uc5d0\uc11c \uc5ec\ub7ec \uc694\ub9ac\uc0ac\uac00 \ub3d9\uc2dc\uc5d0 \uc694\ub9ac\ub97c \ud558\ub294 \uc0c1\ud669\u2019\uc5d0 \ube44\uc720\ud560 \uc218 \uc788\uc73c\uba70, \ud558\ub098\uc758 \ud070 \uc791\uc5c5\uc744 \uc5ec\ub7ec \uc791\uc740 \ubd80\ubd84\uc73c\ub85c \ub098\ub204\uc5b4 \ub3d9\uc2dc\uc5d0 \ucc98\ub9ac\ud568\uc744 \uac15\uc870\ud569\ub2c8\ub2e4.<\/li>\n\n\n\n<li><strong>MapReduce \ub3d9\uc791 \uc6d0\ub9ac<\/strong>: \ub3c4\uc11c\uad00 \uc0ac\uc11c\ub4e4\uc774 \uac01\uc790 \ucc45\uc744 \uc8fc\uc81c\ubcc4\ub85c \ubd84\ub958(Mapper \ub2e8\uacc4)\ud55c \ud6c4, \ubd84\ub958\ub41c \ubaa9\ub85d\uc744 \ubaa8\uc544 \ucd5c\uc885 \ub9ac\uc2a4\ud2b8\ub97c \uc791\uc131(Reducer \ub2e8\uacc4)\ud558\ub294 \uacfc\uc815\uc5d0 \ube44\uc720\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4 DesignGurus.io<a href=\"https:\/\/www.designgurus.io\/answers\/detail\/leveraging-known-analogies-to-simplify-distributed-systems-concepts\" target=\"_blank\" rel=\"noreferrer noopener\">3<\/a>, Slideshare<a href=\"https:\/\/www.slideshare.net\/slideshow\/map-reduce-65669955\/65669955\" target=\"_blank\" rel=\"noreferrer noopener\">4<\/a>.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"2.2-%EB%B6%84%EC%82%B0-%EC%BB%B4%ED%93%A8%ED%8C%85-vs.-%EB%B3%91%EB%A0%AC-%EC%B2%98%EB%A6%AC-%E2%80%93-%ED%95%B5%EC%8B%AC-%EC%B0%A8%EC%9D%B4%EC%A0%90\">2.2 \ubd84\uc0b0 \ucef4\ud4e8\ud305 vs. \ubcd1\ub82c \ucc98\ub9ac \u2013 \ud575\uc2ec \ucc28\uc774\uc810<\/h3>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th><\/th><th><strong>\ubd84\uc0b0 \ucef4\ud4e8\ud305<\/strong><\/th><th><strong>\ubcd1\ub82c \ucc98\ub9ac<\/strong><\/th><\/tr><\/thead><tbody><tr><td><strong>\uad6c\uc131 \uc694\uc18c<\/strong><\/td><td>\uc5ec\ub7ec \ucef4\ud4e8\ud130(\ub178\ub4dc)\uac00 \ub124\ud2b8\uc6cc\ud06c\ub85c \uc5f0\uacb0\ub418\uc5b4 \ud611\ub825<\/td><td>\ub2e8\uc77c \uc2dc\uc2a4\ud15c \ub0b4 \uc5ec\ub7ec \ud504\ub85c\uc138\uc11c\/\ucf54\uc5b4<\/td><\/tr><tr><td><strong>\uba54\ubaa8\ub9ac \uad6c\uc870<\/strong><\/td><td>\uac01 \ub178\ub4dc\uac00 \ub3c5\ub9bd\uc801\uc778 \uba54\ubaa8\ub9ac\ub97c \uac00\uc9d0<\/td><td>\uacf5\uc720 \uba54\ubaa8\ub9ac \ub610\ub294 \ubd84\uc0b0 \uba54\ubaa8\ub9ac \ud63c\uc6a9<\/td><\/tr><tr><td><strong>\uc8fc\uc694 \ucd08\uc810<\/strong><\/td><td>\ud655\uc7a5\uc131, \ub0b4\uacb0\ud568\uc131, \ub370\uc774\ud130 \ubd84\uc0b0 \ubc0f \uc7a5\uc560 \ud5c8\uc6a9<\/td><td>\uacc4\uc0b0 \uc18d\ub3c4 \ud5a5\uc0c1, \ud6a8\uc728\uc801\uc778 \ud558\ub4dc\uc6e8\uc5b4 \uc790\uc6d0 \ud65c\uc6a9<\/td><\/tr><tr><td><strong>\ud1b5\uc2e0 \ubc29\uc2dd<\/strong><\/td><td>\ub178\ub4dc \uac04 \uba54\uc2dc\uc9c0 \uc804\ub2ec(\ub124\ud2b8\uc6cc\ud06c\ub97c \ud1b5\ud55c \ud1b5\uc2e0)<\/td><td>\ub0b4\ubd80 \ubc84\uc2a4\ub098 \uacf5\uc720 \uba54\ubaa8\ub9ac\ub97c \ud1b5\ud55c \ud1b5\uc2e0<\/td><\/tr><tr><td><strong>\ub300\ud45c \uc0ac\ub840<\/strong><\/td><td>\uad6c\uae00\uc758 MapReduce, SETI@home \ud504\ub85c\uc81d\ud2b8<\/td><td>\ub2e4\uc911 \ucf54\uc5b4 \ud504\ub85c\uc138\uc11c\ub97c \uc774\uc6a9\ud55c \uc774\ubbf8\uc9c0 \ucc98\ub9ac, \uacfc\ud559 \uc2dc\ubbac\ub808\uc774\uc158<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p>\ubd84\uc0b0 \ucef4\ud4e8\ud305\uc740 \uc9c0\ub9ac\uc801\uc73c\ub85c \ubd84\uc0b0\ub41c \uc5ec\ub7ec \uc11c\ubc84\uac00 \ud611\ub825\ud558\uc5ec \ud558\ub098\uc758 \ud070 \uc791\uc5c5\uc744 \ucc98\ub9ac\ud558\ub294 \ubc18\uba74, \ubcd1\ub82c \ucc98\ub9ac\ub294 \ub2e8\uc77c \uc2dc\uc2a4\ud15c \ub0b4\uc5d0\uc11c \ub3d9\uc77c\ud55c \uc791\uc5c5\uc744 \ub098\ub204\uc5b4 \ub3d9\uc2dc\uc5d0 \uc2e4\ud589\ud55c\ub2e4\ub294 \uc810\uc5d0\uc11c \ud070 \ucc28\uc774\uac00 \uc788\uc2b5\ub2c8\ub2e4 DiffStudy<a href=\"https:\/\/diffstudy.com\/guide-difference-between-distributed-and-parallel-computing\/\" target=\"_blank\" rel=\"noreferrer noopener\">5<\/a>.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"3.-%EB%8C%80%EC%9A%A9%EB%9F%89-%EB%8D%B0%EC%9D%B4%ED%84%B0-%EC%B2%98%EB%A6%AC-%EC%95%84%ED%82%A4%ED%85%8D%EC%B2%98-%EC%9C%A0%ED%98%95-%EB%B9%84%EA%B5%90\">3. \ub300\uc6a9\ub7c9 \ub370\uc774\ud130 \ucc98\ub9ac \uc544\ud0a4\ud14d\ucc98 \uc720\ud615 \ube44\uad50<\/h2>\n\n\n\n<p>\ub300\uc6a9\ub7c9 \ub370\uc774\ud130\ub97c \ucc98\ub9ac\ud560 \ub54c \uc120\ud0dd\ud560 \uc218 \uc788\ub294 \uc544\ud0a4\ud14d\ucc98 \ubc29\uc2dd\uc740 \uc8fc\ub85c&nbsp;<strong>Scale-out<\/strong>(\uc218\ud3c9 \ud655\uc7a5)\uacfc&nbsp;<strong>Scale-up<\/strong>(\uc218\uc9c1 \ud655\uc7a5)\uc73c\ub85c \ub098\ub269\ub2c8\ub2e4.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"3.1-scale-out-%EC%95%84%ED%82%A4%ED%85%8D%EC%B2%98\">3.1 Scale-out \uc544\ud0a4\ud14d\ucc98<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\uc7a5\uc810:<\/strong>\n<ul class=\"wp-block-list\">\n<li><strong>\uc720\uc5f0\uc131 \ubc0f \ube44\uc6a9 \ud6a8\uc728\uc131:<\/strong>\u00a0\uc0c8\ub85c\uc6b4 \uc11c\ubc84(\ub178\ub4dc)\ub97c \ucd94\uac00\ud558\uc5ec \uc6a9\ub7c9\uc744 \ud655\uc7a5\ud560 \uc218 \uc788\uc74c.<\/li>\n\n\n\n<li><strong>\uace0\uac00\uc6a9\uc131:<\/strong>\u00a0\ub2e4\uc218\uc758 \ub178\ub4dc\ub85c \uad6c\uc131\ub418\uc5b4 \ud558\ub098\uc758 \ub178\ub4dc \uc7a5\uc560\uac00 \uc804\uccb4 \uc791\uc5c5\uc5d0 \uce58\uba85\uc801\uc774\uc9c0 \uc54a\uc74c.<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\ub2e8\uc810:<\/strong>\n<ul class=\"wp-block-list\">\n<li><strong>\ub124\ud2b8\uc6cc\ud06c \uc9c0\uc5f0:<\/strong>\u00a0\ub178\ub4dc \uac04 \ud1b5\uc2e0 \ube44\uc6a9\uc774 \ubc1c\uc0dd\ud560 \uc218 \uc788\uc74c.<\/li>\n\n\n\n<li><strong>\uad00\ub9ac \ubcf5\uc7a1\uc131:<\/strong>\u00a0\uc5ec\ub7ec \ub300\uc758 \ud558\ub4dc\uc6e8\uc5b4\ub97c \ud6a8\uc728\uc801\uc73c\ub85c \uad00\ub9ac\ud574\uc57c \ud568<br>PureStorage<a href=\"https:\/\/blog.purestorage.com\/purely-educational\/scale-out-vs-scale-up-whats-the-difference\/\" target=\"_blank\" rel=\"noreferrer noopener\">6<\/a>, ServerWatch<a href=\"https:\/\/www.serverwatch.com\/storage\/scale-up-vs-scale-out\/\" target=\"_blank\" rel=\"noreferrer noopener\">7<\/a>.<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"3.2-scale-up-%EC%95%84%ED%82%A4%ED%85%8D%EC%B2%98\">3.2 Scale-up \uc544\ud0a4\ud14d\ucc98<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\uc7a5\uc810:<\/strong>\n<ul class=\"wp-block-list\">\n<li><strong>\ub0ae\uc740 \uc9c0\uc5f0 \uc2dc\uac04:<\/strong>\u00a0\ub2e8\uc77c \uc11c\ubc84 \ub0b4\uc5d0\uc11c \uc791\uc5c5\uc774 \uc774\ub8e8\uc5b4\uc838 \ud1b5\uc2e0 \uc9c0\uc5f0\uc774 \uc801\uc74c.<\/li>\n\n\n\n<li><strong>\uac04\ub2e8\ud55c \uad00\ub9ac:<\/strong>\u00a0\ub2e8\uc77c \uc2dc\uc2a4\ud15c\ub9cc \uad00\ub9ac\ud558\uba74 \ub428.<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\ub2e8\uc810:<\/strong>\n<ul class=\"wp-block-list\">\n<li><strong>\ud655\uc7a5 \ud55c\uacc4:<\/strong>\u00a0\ud558\ub4dc\uc6e8\uc5b4 \uc131\ub2a5 \uc5c5\uadf8\ub808\uc774\ub4dc\uc5d0 \ube44\uc6a9\uacfc \uc2dc\uac04\uc774 \ub9ce\uc774 \uc18c\uc694\ub428.<\/li>\n\n\n\n<li><strong>\uc5c5\uadf8\ub808\uc774\ub4dc \ube44\uc6a9:<\/strong>\u00a0\uace0\uc131\ub2a5 \ucef4\ud3ec\ub10c\ud2b8\ub85c \uad50\uccb4 \uc2dc \ube44\uc6a9 \ubd80\ub2f4\uc774 \ud07c<br>PureStorage<a href=\"https:\/\/blog.purestorage.com\/purely-educational\/scale-out-vs-scale-up-whats-the-difference\/\" target=\"_blank\" rel=\"noreferrer noopener\">6<\/a>, ServerWatch<a href=\"https:\/\/www.serverwatch.com\/storage\/scale-up-vs-scale-out\/\" target=\"_blank\" rel=\"noreferrer noopener\">7<\/a>.<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"4.-gcp%EC%97%90%EC%84%9C-python-%EA%B8%B0%EB%B0%98-%EB%B6%84%EC%82%B0-%EC%BB%B4%ED%93%A8%ED%8C%85-%EC%84%9C%EB%B9%84%EC%8A%A4\">4. GCP\uc5d0\uc11c Python \uae30\ubc18 \ubd84\uc0b0 \ucef4\ud4e8\ud305 \uc11c\ube44\uc2a4<\/h2>\n\n\n\n<p>GCP\ub294 \ub2e4\uc591\ud55c \ubd84\uc0b0 \ucef4\ud4e8\ud305 \uc11c\ube44\uc2a4\ub97c \uc81c\uacf5\ud558\uba70, Python SDK\ub97c \uc9c0\uc6d0\ud558\ub294 \uc8fc\uc694 \uc81c\ud488\uc740 \ub2e4\uc74c\uacfc \uac19\uc2b5\ub2c8\ub2e4:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>Cloud Dataflow:<\/strong><br>Apache Beam SDK \uae30\ubc18\uc758 Python API\ub97c \uc81c\uacf5\ud558\uc5ec \ub300\uaddc\ubaa8 \ubc30\uce58 \ubc0f \uc2a4\ud2b8\ub9ac\ubc0d \ub370\uc774\ud130 \ud30c\uc774\ud504\ub77c\uc778\uc744 \uad6c\ucd95\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4 SDK version support status<a href=\"https:\/\/cloud.google.com\/dataflow\/docs\/support\/sdk-version-support-status\" target=\"_blank\" rel=\"noreferrer noopener\">8<\/a>.<\/li>\n\n\n\n<li><strong>Cloud Dataproc:<\/strong><br>Apache Spark\uc640 Hadoop \uc791\uc5c5\uc5d0 \ud544\uc694\ud55c Python API\ub97c \uc81c\uacf5\ud558\uba70, \ud074\ub7ec\uc2a4\ud130 \uad00\ub9ac, \uc791\uc5c5 \uc81c\ucd9c \ubc0f \uc2a4\ucf00\uc77c\ub9c1 \uc81c\uc5b4 \uae30\ub2a5\uc744 \uc9c0\uc6d0\ud569\ub2c8\ub2e4 SDK version support status<a href=\"https:\/\/cloud.google.com\/dataflow\/docs\/support\/sdk-version-support-status\" target=\"_blank\" rel=\"noreferrer noopener\">8<\/a>.<\/li>\n\n\n\n<li><strong>Vertex AI:<\/strong><br>\uba38\uc2e0\ub7ec\ub2dd \ubaa8\ub378\uc758 \ubd84\uc0b0 \ud6c8\ub828\uacfc \uc608\uce21 \uc791\uc5c5\uc744 \uc704\ud55c Python SDK\ub97c \uc81c\uacf5\ud558\uba70, \ub300\uaddc\ubaa8 ML \ud30c\uc774\ud504\ub77c\uc778 \uad6c\ucd95\uc5d0 \ud65c\uc6a9\ub429\ub2c8\ub2e4.\n<ul class=\"wp-block-list\">\n<li>\uc608\ub97c \ub4e4\uc5b4, CustomTrainingJob \uac1d\uccb4\ub97c \uc0dd\uc131\ud558\uace0, job.run()\uc744 \ud1b5\ud574 \uc791\uc5c5\uc744 \uc81c\ucd9c\ud558\ub294 \ubc29\uc2dd\uc73c\ub85c \uc0ac\uc6a9\ub429\ub2c8\ub2e4 Vertex AI \ubb38\uc11c<a href=\"https:\/\/cloud.google.com\/vertex-ai\/docs\/training\/create-custom-job\" target=\"_blank\" rel=\"noreferrer noopener\">9<\/a>.<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n\n\n\n<p>\ucd94\uac00\uc801\uc73c\ub85c, Cloud Pub\/Sub\uc640 \uac19\uc774 \uba54\uc2dc\uc9d5\uc744 \ud1b5\ud55c \ub370\uc774\ud130 \uc2a4\ud2b8\ub9ac\ubc0d \uc11c\ube44\uc2a4\ub3c4 Python Client Libraries\ub97c \uc81c\uacf5\ud558\uc9c0\ub9cc, \ubd84\uc0b0 \uc791\uc5c5 \uc81c\ucd9c \uce21\uba74\uc5d0\uc11c\ub294 \uc704 3\uac00\uc9c0 \uc81c\ud488\uc774 \uc8fc\ub85c \uc0ac\uc6a9\ub429\ub2c8\ub2e4 SDK version support status<a href=\"https:\/\/cloud.google.com\/dataflow\/docs\/support\/sdk-version-support-status\" target=\"_blank\" rel=\"noreferrer noopener\">8<\/a>.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"4.1-%EC%B5%9C%EC%8B%A0-gcp-%EA%B8%B0%EB%8A%A5\">4.1 \ucd5c\uc2e0 GCP \uae30\ub2a5<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>C3 \uac00\uc0c1 \uba38\uc2e0 \ud2b9\uc131<\/strong><sup><a href=\"https:\/\/www.genspark.ai\/spark?id=423f016e-73f2-46c6-87b6-52bc4f037d3a#fn1\">[1]<\/a><\/sup><\/li>\n\n\n\n<li><strong>HTTP3 \ud504\ub85c\ud1a0\ucf5c\uc758 \ud6a8\uacfc<\/strong><sup><a href=\"https:\/\/www.genspark.ai\/spark?id=423f016e-73f2-46c6-87b6-52bc4f037d3a#fn2\">[2]<\/a><\/sup><\/li>\n<\/ul>\n\n\n\n<p><strong>AI \uae30\ubc18 \uc790\uc6d0 \uc2a4\ucf00\uc904\ub7ec<\/strong>\ub294 \ubd84\ub9ac\ub41c \ud30c\ud2b8\ub85c \uc124\uba85\ud569\ub2c8\ub2e4.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\ud6a8\uacfc:<\/strong><br>AI \uae30\ubc18 \uc790\uc6d0 \uc2a4\ucf00\uc904\ub7ec\ub97c \uc801\uc6a9\ud558\uba74, Dask \uc791\uc5c5 \ucc98\ub9ac \uc2dc\uac04\uc774 \ubd80\ud558 \uc720\ud615\uc5d0 \ub530\ub77c \ucd5c\ub300\u00a0<strong>40%<\/strong>\u00a0\ub2e8\ucd95\ub418\ub294 \ud6a8\uacfc\uac00 \ubcf4\uace0\ub429\ub2c8\ub2e4 Experience Google Cloud Next 25<a href=\"https:\/\/cloud.withgoogle.com\/next\/25\" target=\"_blank\" rel=\"noreferrer noopener\">10<\/a>.<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"5.-%EC%8B%A4%EC%8A%B5-%EC%98%88%EC%A0%9C%3A-python-%EC%BD%94%EB%93%9C-%EC%98%88%EC%8B%9C\">5. \uc2e4\uc2b5 \uc608\uc81c: Python \ucf54\ub4dc \uc608\uc2dc<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"5.1-apache-beam-%EA%B8%B0%EB%B0%98-cloud-dataflow-%EB%B0%B0%EC%B9%98-%EC%9E%91%EC%97%85-%EC%98%88%EC%A0%9C\">5.1 Apache Beam \uae30\ubc18 Cloud Dataflow \ubc30\uce58 \uc791\uc5c5 \uc608\uc81c<\/h3>\n\n\n\n<p>\uc544\ub798 \ucf54\ub4dc\ub294 Apache Beam\uc744 \uc774\uc6a9\ud574 Cloud Dataflow \uc791\uc5c5\uc744 \uc81c\ucd9c\ud558\ub294 \uac04\ub2e8\ud55c \uc608\uc81c\uc785\ub2c8\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>from apache_beam import Pipeline\nfrom apache_beam.io import ReadFromText, WriteToText\n\nwith Pipeline() as p:\n    (p\n     | 'Read' &gt;&gt; ReadFromText('gs:\/\/path\/to\/input')\n     | 'Write' &gt;&gt; WriteToText('gs:\/\/path\/to\/output\/'))\n<\/code><\/pre>\n\n\n\n<p>\uc774 \ucf54\ub4dc\ub294 DataflowRunner\ub97c \uc0ac\uc6a9\ud558\uc5ec \ubc30\uce58 \ud30c\uc774\ud504\ub77c\uc778\uc744 \uc2e4\ud589\ud558\ub294 \uae30\ubcf8 \uc608\uc2dc\uc774\uba70, \uc785\ub825 \ub370\uc774\ud130\ub97c \uc77d\uc5b4 \ucc98\ub9ac \ud6c4 \uc800\uc7a5\ud569\ub2c8\ub2e4 SDK version support status<a href=\"https:\/\/cloud.google.com\/dataflow\/docs\/support\/sdk-version-support-status\" target=\"_blank\" rel=\"noreferrer noopener\">8<\/a>.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"5.2-pyspark%EB%A5%BC-%EC%9D%B4%EC%9A%A9%ED%95%9C-cloud-storage-%EB%8D%B0%EC%9D%B4%ED%84%B0-%EC%B2%98%EB%A6%AC-%EC%98%88%EC%A0%9C\">5.2 PySpark\ub97c \uc774\uc6a9\ud55c Cloud Storage \ub370\uc774\ud130 \ucc98\ub9ac \uc608\uc81c<\/h3>\n\n\n\n<p>PySpark\ub97c \ud65c\uc6a9\ud558\uc5ec Parquet \ud30c\uc77c\uc744 \ucc98\ub9ac\ud558\ub294 \uc608\uc2dc\ub294 \ub2e4\uc74c\uacfc \uac19\uc2b5\ub2c8\ub2e4. \uc774\ub54c API \ud0a4 \uc124\uc815 \ub2e8\uacc4\ub97c \ud3ec\ud568\ud574\uc57c \ud569\ub2c8\ub2e4.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"5%EB%8B%A8%EA%B3%84-%EC%8A%A4%ED%81%AC%EB%A6%B0%EC%83%B7-%EA%B0%80%EC%9D%B4%EB%93%9C\"><strong>5\ub2e8\uacc4 \uc2a4\ud06c\ub9b0\uc0f7 \uac00\uc774\ub4dc<\/strong><\/h4>\n\n\n\n<ol class=\"wp-block-list\">\n<li>GCP Console\uc5d0 \uc811\uc18d\ud569\ub2c8\ub2e4.<\/li>\n\n\n\n<li>API \ubc0f \uc11c\ube44\uc2a4 > \ub77c\uc774\ube0c\ub7ec\ub9ac\ub85c \uc774\ub3d9\ud569\ub2c8\ub2e4.<\/li>\n\n\n\n<li>Google Cloud Storage JSON API\ub97c \ud65c\uc131\ud654\ud569\ub2c8\ub2e4.<\/li>\n\n\n\n<li>\uc0ac\uc6a9\uc790 \uc778\uc99d\uc73c\ub85c \uc774\ub3d9\ud558\uc5ec API \ud0a4\ub97c \uc0dd\uc131\ud569\ub2c8\ub2e4.<\/li>\n\n\n\n<li>\uc0dd\uc131\ub41c API \ud0a4\ub97c \ubcf5\uc0ac\ud569\ub2c8\ub2e4.<\/li>\n<\/ol>\n\n\n\n<pre class=\"wp-block-code\"><code>from pyspark.sql import SparkSession\n\nspark = SparkSession.builder.appName('ParquetApp').getOrCreate()\ndf = spark.read.parquet('gs:\/\/my-bucket\/my-data.parquet')\ndf.show()      # \ub370\uc774\ud130 \ucd9c\ub825\ndf.write.parquet('gs:\/\/my-bucket\/output-data.parquet')  # \uacb0\uacfc \uc800\uc7a5\n<\/code><\/pre>\n\n\n\n<p>\uc704 \ucf54\ub4dc\ub294 Cloud Storage\uc5d0 \uc800\uc7a5\ub41c Parquet \ud30c\uc77c\uc744 \uc77d\uace0, \ucc98\ub9ac \ud6c4 \uacb0\uacfc\ub97c \ub2e4\uc2dc \uc800\uc7a5\ud558\ub294 \uacfc\uc815\uc744 \ubcf4\uc5ec\uc90d\ub2c8\ub2e4 Python Cloud Client Libraries<a href=\"https:\/\/cloud.google.com\/python\/docs\/reference\" target=\"_blank\" rel=\"noreferrer noopener\">11<\/a>.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"6.-%EB%8C%80%EC%9A%A9%EB%9F%89-%EB%8D%B0%EC%9D%B4%ED%84%B0-%EC%B2%98%EB%A6%AC-%EC%9B%8C%ED%81%AC%ED%94%8C%EB%A1%9C%EC%9A%B0-%EC%82%AC%EB%A1%80\">6. \ub300\uc6a9\ub7c9 \ub370\uc774\ud130 \ucc98\ub9ac \uc6cc\ud06c\ud50c\ub85c\uc6b0 \uc0ac\ub840<\/h2>\n\n\n\n<p>\ub300\uc6a9\ub7c9 \ub370\uc774\ud130 \ucc98\ub9ac \ud658\uacbd(10TB \uc774\uc0c1)\uc5d0\uc11c \uac01 \uae30\uc220\uc758 \uc2e4\uc81c \uc6cc\ud06c\ud50c\ub85c\uc6b0\ub294 \ub2e4\uc74c\uacfc \uac19\uc774 \uad6c\uc131\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"6.1-dask-%EA%B8%B0%EB%B0%98-%EC%9B%8C%ED%81%AC%ED%94%8C%EB%A1%9C%EC%9A%B0\">6.1 Dask \uae30\ubc18 \uc6cc\ud06c\ud50c\ub85c\uc6b0<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\uc124\uc815:<\/strong><br>GCP Kubernetes Engine\uc5d0 Dask Kubernetes Operator \ubc0f Helm \ucc28\ud2b8\ub97c \uc124\uce58\ud558\uc5ec Dask Scheduler\uc640 \uc5ec\ub7ec \uc6cc\ucee4\ub97c \ubc30\ud3ec\ud569\ub2c8\ub2e4.<\/li>\n\n\n\n<li><strong>\uc791\uc5c5 \ucc98\ub9ac:<\/strong><br>\ub370\uc774\ud130 \ud30c\ud2f0\uc154\ub2dd, \uce90\uc2f1, \ubd84\uc0b0 \uc5f0\uc0b0 \ub4f1\uc758 \uae30\ubc95\uc744 \ud1b5\ud574 \ub300\uc6a9\ub7c9 \ub370\uc774\ud130\ub97c \ucc98\ub9ac\ud558\uba70, Dask \ub300\uc2dc\ubcf4\ub4dc\ub97c \ud1b5\ud574 \uc0c1\ud0dc\ub97c \ubaa8\ub2c8\ud130\ub9c1\ud569\ub2c8\ub2e4.<br>Dask Kubernetes Operator \u2014 Dask Kubernetes 2025.1.1 documentation<a href=\"https:\/\/kubernetes.dask.org\/en\/stable\/\" target=\"_blank\" rel=\"noreferrer noopener\">12<\/a>.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"6.2-pyspark-%EA%B8%B0%EB%B0%98-%EC%9B%8C%ED%81%AC%ED%94%8C%EB%A1%9C%EC%9A%B0\">6.2 PySpark \uae30\ubc18 \uc6cc\ud06c\ud50c\ub85c\uc6b0<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\uc124\uc815:<\/strong><br>GCP Dataproc \ud074\ub7ec\uc2a4\ud130\ub97c \uc0dd\uc131\ud558\uace0 Cloud Storage\uc5d0 \uc800\uc7a5\ub41c \ub370\uc774\ud130\ub97c Spark SQL \ubc0f DataFrame API\ub97c \uc0ac\uc6a9\ud574 \ubd88\ub7ec\uc635\ub2c8\ub2e4.<\/li>\n\n\n\n<li><strong>\uc791\uc5c5 \ucc98\ub9ac:<\/strong><br>\ub370\uc774\ud130\ub97c \ud544\uc694\ud55c \ubcc0\ud658 \uc791\uc5c5(\uc608: \uc9d1\uacc4, \uc870\uc778)\uc744 \uc2e4\ud589\ud55c \ud6c4, \uacb0\uacfc\ub97c \ub2e4\uc2dc Cloud Storage\uc5d0 \uc800\uc7a5\ud569\ub2c8\ub2e4.<br>Navigating the Future of Distributed Systems<a href=\"https:\/\/www.computer.org\/publications\/tech-news\/trends\/differences-between-distributed-and-parallel-computing\/\" target=\"_blank\" rel=\"noreferrer noopener\">13<\/a>.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"6.3-ray-%EA%B8%B0%EB%B0%98-%EC%9B%8C%ED%81%AC%ED%94%8C%EB%A1%9C%EC%9A%B0\">6.3 Ray \uae30\ubc18 \uc6cc\ud06c\ud50c\ub85c\uc6b0<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\uc124\uc815:<\/strong><br>Vertex AI \ud658\uacbd \ub610\ub294 GKE\uc5d0 Ray \ud074\ub7ec\uc2a4\ud130\ub97c \uad6c\uc131\ud569\ub2c8\ub2e4. \uc790\ub3d9 \ud655\uc7a5 \uae30\ub2a5\uacfc Stackdriver(Cloud Monitoring) \uc5f0\ub3d9\uc744 \ud1b5\ud574 \ud074\ub7ec\uc2a4\ud130\ub97c \ud6a8\uc728\uc801\uc73c\ub85c \uad00\ub9ac\ud569\ub2c8\ub2e4.<\/li>\n\n\n\n<li><strong>\uc791\uc5c5 \ucc98\ub9ac:<\/strong><br>\ub300\uaddc\ubaa8 \ubd84\uc0b0 \uba38\uc2e0\ub7ec\ub2dd \ud30c\uc774\ud504\ub77c\uc778 \uad6c\ucd95\uc5d0 \ucd08\uc810\uc744 \ub9de\ucd94\uba70, \uc791\uc5c5\uc790 \ub178\ub4dc \uc218\ub97c \ud544\uc694\uc5d0 \ub530\ub77c \uc790\ub3d9\uc73c\ub85c \uc870\uc815\ud558\uc5ec 10TB \uc774\uc0c1\uc758 \ub370\uc774\ud130\ub97c \ucc98\ub9ac\ud569\ub2c8\ub2e4.<br>Ray on Vertex AI \uac1c\uc694<a href=\"https:\/\/cloud.google.com\/vertex-ai\/docs\/open-source\/ray-on-vertex-ai\/overview\" target=\"_blank\" rel=\"noreferrer noopener\">14<\/a>.<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"7.-%ED%81%B4%EB%9F%AC%EC%8A%A4%ED%84%B0-%EC%9A%B4%EC%98%81%3A-%EC%9E%90%EB%8F%99-%ED%99%95%EC%9E%A5-%EB%B0%8F-%EB%AA%A8%EB%8B%88%ED%84%B0%EB%A7%81\">7. \ud074\ub7ec\uc2a4\ud130 \uc6b4\uc601: \uc790\ub3d9 \ud655\uc7a5 \ubc0f \ubaa8\ub2c8\ud130\ub9c1<\/h2>\n\n\n\n<p>\ub300\uaddc\ubaa8 \ub370\uc774\ud130 \ucc98\ub9ac \ud658\uacbd\uc5d0\uc11c\ub294 \ud6a8\uc728\uc801\uc778 \ud074\ub7ec\uc2a4\ud130 \uc6b4\uc601\uacfc \uc790\uc6d0 \uad00\ub9ac\ub97c \uc704\ud574 \uc790\ub3d9 \ud655\uc7a5(autoscaling) \ubc0f \ubaa8\ub2c8\ud130\ub9c1 \uc124\uc815\uc774 \ud544\uc218\uc801\uc785\ub2c8\ub2e4.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"7.1-%EC%9E%90%EB%8F%99-%ED%99%95%EC%9E%A5-%EC%84%A4%EC%A0%95\">7.1 \uc790\ub3d9 \ud655\uc7a5 \uc124\uc815<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Managed Instance Group (MIG) \ud65c\uc6a9:<\/strong><br>GCP\uc758 MIG\ub97c \uc0ac\uc6a9\ud558\uc5ec Ray \ud074\ub7ec\uc2a4\ud130 \ub610\ub294 \uae30\ud0c0 \uc6cc\ucee4 \ub178\ub4dc\uc5d0 \ub300\ud55c \uc790\ub3d9 \ud655\uc7a5 \uad6c\uc131\uc744 \uc124\uc815\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.\n<ul class=\"wp-block-list\">\n<li>\ud074\ub7ec\uc2a4\ud130 \uad6c\uc131 \ud30c\uc77c\uc5d0 \ucd5c\uc18c(min_replica_count)\uc640 \ucd5c\ub300(max_replica_count) \ub178\ub4dc \uc218\ub97c \uc9c0\uc815\ud569\ub2c8\ub2e4.<\/li>\n\n\n\n<li>\uac74\uac15 \uc0c1\ud0dc(Health Check) \uae30\uc900\uc744 \uc124\uc815\ud558\uc5ec \ub178\ub4dc \uc7a5\uc560 \uc2dc \uc790\ub3d9 \ubcf5\uad6c(autohealing)\uac00 \uc791\ub3d9\ud558\ub3c4\ub85d \uad6c\uc131\ud569\ub2c8\ub2e4 Scale Ray clusters on Vertex AI<a href=\"https:\/\/cloud.google.com\/vertex-ai\/docs\/open-source\/ray-on-vertex-ai\/scale-clusters\" target=\"_blank\" rel=\"noreferrer noopener\">15<\/a>.<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Stackdriver\/Cloud Monitoring \uc5f0\ub3d9:<\/strong><br>\uac01 \ud074\ub7ec\uc2a4\ud130 \ub178\ub4dc\uc5d0 Cloud Monitoring \uc5d0\uc774\uc804\ud2b8\ub97c \uc124\uce58\ud558\uc5ec CPU, \uba54\ubaa8\ub9ac, \ub124\ud2b8\uc6cc\ud06c \ud2b8\ub798\ud53d \ub4f1\uc758 \uba54\ud2b8\ub9ad\uc744 \uc218\uc9d1\ud569\ub2c8\ub2e4.<br>\uc774\ub7ec\ud55c \uba54\ud2b8\ub9ad\uc744 \uae30\ubc18\uc73c\ub85c \uc790\ub3d9 \ud655\uc7a5 \uc870\uac74\uc744 \uc815\uc758\ud558\uba74 \uc6cc\ucee4 \ub178\ub4dc\uc5d0\uc11c OutOfMemory\uc640 \uac19\uc740 \uc624\ub958 \ubc1c\uc0dd \uc2dc \ucd94\uac00 \ub178\ub4dc\uac00 \uc790\ub3d9\uc73c\ub85c \uc0dd\uc131\ub429\ub2c8\ub2e4.<br>\uc608\ub97c \ub4e4\uc5b4, \u201ccontainer\/memory\/usage\u201d \uba54\ud2b8\ub9ad\uc744 80% \uc774\uc0c1 \uc720\uc9c0\ud558\ub3c4\ub85d \uc124\uc815\ud558\uc5ec \uc790\ub3d9 \ud655\uc7a5\uc744 \ud2b8\ub9ac\uac70\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4 Scale based on Monitoring metrics<a href=\"https:\/\/cloud.google.com\/compute\/docs\/autoscaler\/scaling-cloud-monitoring-metrics\" target=\"_blank\" rel=\"noreferrer noopener\">16<\/a>.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"7.2-%ED%81%B4%EB%9F%AC%EC%8A%A4%ED%84%B0-%EB%AA%A8%EB%8B%88%ED%84%B0%EB%A7%81-%EB%B0%8F-stackdriver-%EC%97%B0%EB%8F%99-%EC%98%88\">7.2 \ud074\ub7ec\uc2a4\ud130 \ubaa8\ub2c8\ud130\ub9c1 \ubc0f Stackdriver \uc5f0\ub3d9 \uc608<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Ray \ud074\ub7ec\uc2a4\ud130 \ubaa8\ub2c8\ud130\ub9c1\uc744 \uc704\ud574 \uac01 \ub178\ub4dc\uc758 \ub85c\uadf8\uc640 \uba54\ud2b8\ub9ad\uc744 Stackdriver \ub300\uc2dc\ubcf4\ub4dc\uc5d0\uc11c \ud655\uc778\ud560 \uc218 \uc788\uc73c\uba70, \uc774\ub97c \ud1b5\ud574 \ud074\ub7ec\uc2a4\ud130\uc758 \uac00\uc6a9\uc131 \ubc0f \uc131\ub2a5\uc744 \uc2e4\uc2dc\uac04\uc73c\ub85c \ucd94\uc801\ud569\ub2c8\ub2e4.<\/li>\n\n\n\n<li>\ucd94\uac00\uc801\uc778 \uc790\ub3d9 \ubcf5\uad6c \uae30\ub2a5\uc740 Managed Instance Group\uc758 autohealing \uae30\ub2a5\uc744 \ud65c\uc131\ud654\ud558\uc5ec \uc124\uc815\ud569\ub2c8\ub2e4.<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"8.-%EA%B2%B0%EB%A1%A0\">8. \uacb0\ub860<\/h2>\n\n\n\n<p>\uc774 \uac15\uc758 \ub178\ud2b8\ub294 \ubd84\uc0b0 \ucef4\ud4e8\ud305\uacfc \ubcd1\ub82c \ucc98\ub9ac\uc5d0 \ub300\ud55c \uc774\ub860\uc801 \ubc30\uacbd, \uac01 \uae30\uc220\uc758 \ud575\uc2ec \ucc28\uc774\uc810 \ubc0f \ud6a8\uacfc\uc801\uc778 \ube44\uc720, \uadf8\ub9ac\uace0 GCP \ud658\uacbd\uc5d0\uc11c Python \uc911\uc2ec\uc758 \ubd84\uc0b0 \ucef4\ud4e8\ud305 \uc11c\ube44\uc2a4(Cloud Dataflow, Cloud Dataproc, Vertex AI) \uc0ac\uc6a9 \ubc29\ubc95\uacfc \uc2e4\uc2b5 \uc608\uc81c\ub97c \ud3ec\uad04\uc801\uc73c\ub85c \ub2e4\ub8f9\ub2c8\ub2e4. \ub610\ud55c, 10TB \uc774\uc0c1\uc758 \ub300\uc6a9\ub7c9 \ub370\uc774\ud130 \ucc98\ub9ac \uc6cc\ud06c\ud50c\ub85c\uc6b0 \uad6c\uc131 \ubc0f \ud074\ub7ec\uc2a4\ud130 \uc790\ub3d9 \ud655\uc7a5, \ubaa8\ub2c8\ud130\ub9c1, \uadf8\ub9ac\uace0 \ucd5c\uc2e0 GCP \uae30\ub2a5(C3 VM, HTTP3, AI \uc790\uc6d0 \uc2a4\ucf00\uc904\ub7ec)\uacfc\uc758 \uc5f0\ub3d9 \uc0ac\ub840\ub97c \ud3ec\ud568\ud558\uc5ec, \uc2e4\uc81c \uc5c5\ubb34 \ud658\uacbd\uc5d0\uc11c\uc758 \uc801\uc6a9 \uac00\ub2a5\uc131\uacfc \ucd5c\uc801\ud654 \uc804\ub7b5\uc744 \uc81c\uc2dc\ud569\ub2c8\ub2e4.<br>\uc774\uc640 \uac19\uc774 \uc774\ub860\uacfc \uc2e4\uc2b5\uc744 \ubcd1\ud589\ud55c \uad50\uc721 \uacfc\uc815\uc744 \ud1b5\ud574 \ucd08\ubcf4\uc790\ub4e4\ub3c4 \ub300\uaddc\ubaa8 \ubd84\uc0b0 \uc791\uc5c5 \ucc98\ub9ac \ubc0f \ubcd1\ub82c \ucc98\ub9ac \uae30\uc220\uc744 \uc774\ud574\ud558\uace0 \uc9c1\uc811 \uad6c\ud604\ud560 \uc218 \uc788\ub294 \ub2a5\ub825\uc744 \uac16\ucd9c \uc218 \uc788\uc744 \uac83\uc785\ub2c8\ub2e4.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<p><strong>\uc8fc\uc11d<\/strong>:<\/p>\n\n\n\n<p><strong>\ucc38\uace0 \ubb38\ud5cc:<\/strong><br>GeeksforGeeks<a href=\"https:\/\/www.geeksforgeeks.org\/difference-between-parallel-computing-and-distributed-computing\/\" target=\"_blank\" rel=\"noreferrer noopener\">1<\/a>, Computer.org<a href=\"https:\/\/www.computer.org\/publications\/tech-news\/trends\/differences-between-parallel-and-distributed-computing\/\" target=\"_blank\" rel=\"noreferrer noopener\">2<\/a>, DiffStudy<a href=\"https:\/\/diffstudy.com\/guide-difference-between-distributed-and-parallel-computing\/\" target=\"_blank\" rel=\"noreferrer noopener\">5<\/a>, PureStorage<a href=\"https:\/\/blog.purestorage.com\/purely-educational\/scale-out-vs-scale-up-whats-the-difference\/\" target=\"_blank\" rel=\"noreferrer noopener\">6<\/a>, ServerWatch<a href=\"https:\/\/www.serverwatch.com\/storage\/scale-up-vs-scale-out\/\" target=\"_blank\" rel=\"noreferrer noopener\">7<\/a>, DesignGurus.io<a href=\"https:\/\/www.designgurus.io\/answers\/detail\/leveraging-known-analogies-to-simplify-distributed-systems-concepts\" target=\"_blank\" rel=\"noreferrer noopener\">3<\/a>, Slideshare<a href=\"https:\/\/www.slideshare.net\/slideshow\/map-reduce-65669955\/65669955\" target=\"_blank\" rel=\"noreferrer noopener\">4<\/a>, SDK version support status<a href=\"https:\/\/cloud.google.com\/dataflow\/docs\/support\/sdk-version-support-status\" target=\"_blank\" rel=\"noreferrer noopener\">8<\/a>, Vertex AI \ubb38\uc11c<a href=\"https:\/\/cloud.google.com\/vertex-ai\/docs\/training\/create-custom-job\" target=\"_blank\" rel=\"noreferrer noopener\">9<\/a>, Experience Google Cloud Next 25<a href=\"https:\/\/cloud.withgoogle.com\/next\/25\" target=\"_blank\" rel=\"noreferrer noopener\">10<\/a>, General-purpose machine family for Compute Engine<a href=\"https:\/\/cloud.google.com\/compute\/docs\/general-purpose-machines\" target=\"_blank\" rel=\"noreferrer noopener\">17<\/a>, Ray on Vertex AI \uac1c\uc694<a href=\"https:\/\/cloud.google.com\/vertex-ai\/docs\/open-source\/ray-on-vertex-ai\/overview\" target=\"_blank\" rel=\"noreferrer noopener\">14<\/a><\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"%ED%95%B5%EC%8B%AC-%EC%9A%94%EC%A0%90\">\ud575\uc2ec \uc694\uc810<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>15\uc2dc\uac04 \uac15\uc758 \ub178\ud2b8<\/strong>\ub294 5\uc77c\uac04 \uc9c4\ud589\ub418\uba70, \uc774\ub860:\uc2e4\uc2b5 \ube44\uc728\uc774\u00a0<strong>3:7<\/strong>\ub85c \uad6c\uc131\ub418\uc5b4 \uc788\uc2b5\ub2c8\ub2e4.<\/li>\n\n\n\n<li>\ucd08\ubcf4\uc790\ub97c \uc704\ud574\u00a0<strong>\ubd84\uc0b0 \ucef4\ud4e8\ud305<\/strong>\uc740 &#8216;\uc5ec\ub7ec \uc8fc\ubc29\uc5d0\uc11c \uac1c\ubcc4 \uc694\ub9ac\ub97c \uc900\ube44\ud558\ub294 \ud300&#8217;\uc5d0,\u00a0<strong>\ubcd1\ub82c \ucc98\ub9ac<\/strong>\ub294 &#8216;\ud55c \uc8fc\ubc29\uc5d0\uc11c \uc5ec\ub7ec \uc694\ub9ac\uc0ac\uac00 \ub3d9\uc2dc\uc5d0 \uc791\uc5c5\ud558\ub294 \uc0c1\ud669&#8217;\uc73c\ub85c \ube44\uc720\ud558\uc5ec \uc124\uba85\ud569\ub2c8\ub2e4.<\/li>\n\n\n\n<li>\uac15\uc758\ub294\u00a0<strong>Python<\/strong>\u00a0\uc911\uc2ec\uc758 \uc2e4\uc2b5 \uc608\uc81c\uc640 \ud568\uaed8\u00a0<strong>Cloud Dataflow<\/strong>,\u00a0<strong>Cloud Dataproc<\/strong>,\u00a0<strong>Vertex AI<\/strong>\u00a0\ub4f1 GCP \uc11c\ube44\uc2a4 \uc0ac\uc6a9\ubc95\uc744 \ud3ec\ud568\ud569\ub2c8\ub2e4.<\/li>\n\n\n\n<li>\ucd5c\uc2e0 GCP \uae30\ub2a5\uc778\u00a0<strong>C3 VM<\/strong>\uacfc\u00a0<strong>HTTP3<\/strong>, \uadf8\ub9ac\uace0\u00a0<strong>AI \uae30\ubc18 \uc790\uc6d0 \uc2a4\ucf00\uc904\ub7ec<\/strong>\u00a0\ub3c4\uc785 \uc0ac\ub840\ub97c \ud1b5\ud574 \uc131\ub2a5 \ubc0f \ud6a8\uc728\uc131\uc744 \uac15\uc870\ud569\ub2c8\ub2e4.<\/li>\n\n\n\n<li>\ub300\uc6a9\ub7c9 \ub370\uc774\ud130 \ucc98\ub9ac \uc6cc\ud06c\ud50c\ub85c\uc6b0\ub294\u00a0<strong>Apache Beam<\/strong>,\u00a0<strong>PySpark<\/strong>,\u00a0<strong>Dask<\/strong>,\u00a0<strong>Ray<\/strong>\u00a0\uae30\ubc18 \uc2e4\uc2b5 \uc608\uc81c\ub85c \uc2e4\ubb34 \ub300\uc751 \ubc29\ubc95\uc744 \uc81c\uc2dc\ud569\ub2c8\ub2e4.<\/li>\n\n\n\n<li>\ud074\ub7ec\uc2a4\ud130 \uc6b4\uc601 \ucd5c\uc801\ud654\ub97c \uc704\ud574\u00a0<strong>Managed Instance Group<\/strong>\uacfc\u00a0<strong>Stackdriver\/Cloud Monitoring<\/strong>\u00a0\uc5f0\ub3d9\uc744 \ud1b5\ud55c \uc790\ub3d9 \ud655\uc7a5 \ubc0f \ubaa8\ub2c8\ud130\ub9c1 \uc124\uc815\uc744 \ub2e4\ub8f9\ub2c8\ub2e4.<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<p>HTTP3 \ud504\ub85c\ud1a0\ucf5c \ub3c4\uc785 \uc2dc, PySpark\uc758 Shuffle \uc791\uc5c5 \uc131\ub2a5\uc774\u00a0<strong>25%<\/strong>\u00a0\uac1c\uc120\ub418\uace0 \ud3c9\uade0 \uc9c0\uc5f0 \uc2dc\uac04\ub3c4 \ud06c\uac8c \uc904\uc5b4\ub4ed\ub2c8\ub2e4 Experience Google Cloud Next 25<a href=\"https:\/\/cloud.withgoogle.com\/next\/25\" target=\"_blank\" rel=\"noreferrer noopener\">10<\/a>.\u00a0<a href=\"https:\/\/www.genspark.ai\/spark?id=423f016e-73f2-46c6-87b6-52bc4f037d3a#fnref2\">\u21a9\ufe0e<\/a><\/p>\n\n\n\n<p>C3 VM\uc740 \ucd5c\ub300\u00a0<strong>200 Gbps<\/strong>\uc758 \ub124\ud2b8\uc6cc\ud06c \ub300\uc5ed\ud3ed\uc744 \uc9c0\uc6d0\ud558\uba70, N2 \uba38\uc2e0 \ub300\ube44 \uc57d\u00a0<strong>30%<\/strong>\u00a0\ud5a5\uc0c1\ub41c \ub124\ud2b8\uc6cc\ud06c \ucc98\ub9ac\ub7c9\uc744 \ubcf4\uc785\ub2c8\ub2e4 Experience Google Cloud Next 25<a href=\"https:\/\/cloud.withgoogle.com\/next\/25\" target=\"_blank\" rel=\"noreferrer noopener\">10<\/a>, General-purpose machine family for Compute Engine<a href=\"https:\/\/cloud.google.com\/compute\/docs\/general-purpose-machines\" target=\"_blank\" rel=\"noreferrer noopener\">17<\/a>.\u00a0<a href=\"https:\/\/www.genspark.ai\/spark?id=423f016e-73f2-46c6-87b6-52bc4f037d3a#fnref1\">\u21a9\ufe0e<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>1. \uac15\uc758 \uacc4\ud68d 15\uc2dc\uac04 \uc804\uccb4 \uac15\uc758\uacc4\ud68d\ud45c: \uc77c\uc790 \uc8fc\uc81c \uc774\ub860 \uc2dc\uac04 \uc2e4\uc2b5 \uc2dc\uac04 1\uc77c\ucc28 \ubd84\uc0b0 \ucef4\ud4e8\ud305 \ubc0f \ubcd1\ub82c \ucc98\ub9ac \uac1c\uc694 2\uc2dc\uac04 4\uc2dc\uac04 2\uc77c\ucc28 GCP \ud658\uacbd \uc124\uc815 \ubc0f Dataflow \uae30\ucd08 1\uc2dc\uac04 5\uc2dc\uac04 3\uc77c\ucc28 PySpark \ubc0f Dataproc \uc0ac\uc6a9\ubc95 2\uc2dc\uac04 4\uc2dc\uac04 4\uc77c\ucc28 \ub300\uc6a9\ub7c9 \ub370\uc774\ud130 \ucc98\ub9ac \uc544\ud0a4\ud14d\ucc98 \uc774\ud574 1\uc2dc\uac04 5\uc2dc\uac04 5\uc77c\ucc28 \ud074\ub7ec\uc2a4\ud130 \uc6b4\uc601 \ucd5c\uc801\ud654 \ubc0f \uace0\uae09 \uae30\ub2a5 1\uc2dc\uac04 4\uc2dc\uac04 2. [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[1],"tags":[],"class_list":["post-21","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.koseongnam.com\/index.php?rest_route=\/wp\/v2\/posts\/21","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.koseongnam.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/wordpress.koseongnam.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.koseongnam.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.koseongnam.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=21"}],"version-history":[{"count":2,"href":"https:\/\/wordpress.koseongnam.com\/index.php?rest_route=\/wp\/v2\/posts\/21\/revisions"}],"predecessor-version":[{"id":28,"href":"https:\/\/wordpress.koseongnam.com\/index.php?rest_route=\/wp\/v2\/posts\/21\/revisions\/28"}],"wp:attachment":[{"href":"https:\/\/wordpress.koseongnam.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=21"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wordpress.koseongnam.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=21"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wordpress.koseongnam.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=21"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}