{"id":6765,"date":"2026-07-12T02:08:18","date_gmt":"2026-07-12T10:08:18","guid":{"rendered":"https:\/\/www.gudusoft.com\/clickhouse-data-lineage\/"},"modified":"2026-07-12T02:08:18","modified_gmt":"2026-07-12T10:08:18","slug":"clickhouse-data-lineage","status":"publish","type":"page","link":"https:\/\/www.gudusoft.com\/ko\/%ed%81%b4%eb%a6%ad%ed%95%98%ec%9a%b0%ec%8a%a4-%eb%8d%b0%ec%9d%b4%ed%84%b0-%ea%b3%84%eb%b3%b4\/","title":{"rendered":"ClickHouse \ub370\uc774\ud130 \uacc4\ubcf4: \uad6c\uccb4\ud654\ub41c \ubdf0\ub97c \ud1b5\ud574 \uc5f4 \ucd94\uc801"},"content":{"rendered":"<p><strong>\ud074\ub9ad\ud558\uc6b0\uc2a4 \ub370\uc774\ud130 \uacc4\ubcf4<\/strong> \uc774\ub294 ClickHouse \ud30c\uc774\ud504\ub77c\uc778\uc744 \ud1b5\ud574 \uceec\ub7fc\uc774 \ud750\ub974\ub294 \ubc29\uc2dd\uc744 \ubcf4\uc5ec\uc8fc\ub294 \uc9c0\ub3c4\uc785\ub2c8\ub2e4. \uc5b4\ub5a4 Kafka \uc5d4\uc9c4 \ud14c\uc774\ube14, MergeTree \ud14c\uc774\ube14, \uad6c\uccb4\ud654\ub41c \ubdf0 SELECT \ubb38\uc774 \uac01 \ub2e4\uc6b4\uc2a4\ud2b8\ub9bc \uceec\ub7fc\uc5d0 \ub370\uc774\ud130\ub97c \uc81c\uacf5\ud558\ub294\uc9c0, \uadf8\ub9ac\uace0 \uc5b4\ub5a4 \ud568\uc218\uc640 \uc9d1\uacc4 \uc0c1\ud0dc\uac00 \ub370\uc774\ud130\ub97c \ubcc0\ud658\ud558\ub294\uc9c0\ub97c \ubcf4\uc5ec\uc90d\ub2c8\ub2e4. ClickHouse \uad6c\uccb4\ud654\ub41c \ubdf0\ub294 \uc804\uc801\uc73c\ub85c SQL\ub85c \uc815\uc758\ub418\ubbc0\ub85c \uc815\ud655\ud55c \ub370\uc774\ud130 \uacc4\ubcf4\ub294 \ud574\ub2f9 SQL\uc744 \ubd84\uc11d\ud558\uc5ec \uc5bb\uc744 \uc218 \uc788\uc2b5\ub2c8\ub2e4. <a href=\"https:\/\/www.gudusoft.com\/ko\/sql-%eb%8d%b0%ec%9d%b4%ed%84%b0-%ea%b3%84%eb%b3%b4-%eb%8f%84%ea%b5%ac\/\">Gudu SQLFlow<\/a> \uc774 \uae30\ub2a5\uc740 ClickHouse \uc804\uc6a9 \ubc29\uc5b8 \ud30c\uc11c\ub97c \uc0ac\uc6a9\ud558\uc5ec \uc218\ud589\ub418\uba70, \ub300\ud654\ud615 \uc5f4 \uc218\uc900 \uacc4\ubcf4\ub3c4\ub97c \ubc18\ud658\ud569\ub2c8\ub2e4.<\/p>\n\n\n\n<div class=\"wp-block-group alignfull has-background is-layout-constrained\" style=\"background-color:#eef7fb;padding-top:24px;padding-bottom:24px\"><div class=\"wp-block-group__inner-container\">\n\n<p><strong>\uc9c0\uae08 \ubc14\ub85c \uc2dc\ub3c4\ud574 \ubcf4\uc138\uc694:<\/strong> \ubd99\uc5ec\ub123\uc73c\uc138\uc694 <code>\uad6c\uccb4\ud654\ub41c \ubdf0 \uc0dd\uc131<\/code> \uc9c4\uc220\uc744 <a href=\"https:\/\/sqlflow.gudusoft.com\/?utm_source=gudusoft&amp;utm_medium=website&amp;utm_campaign=clickhouse-data-lineage\" target=\"_blank\" rel=\"noreferrer noopener\">\ubb34\ub8cc SQLFlow \uc2dc\uac01\ud654 \ub3c4\uad6c<\/a>ClickHouse \ubc29\uc5b8\uc744 \uc120\ud0dd\ud558\uba74 \uba87 \ucd08 \ub9cc\uc5d0 MV \uccb4\uc778\uc758 \uc5f4 \uc218\uc900 \uacc4\ubcf4\ub3c4\ub97c \uc5bb\uc744 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n\n<\/div><\/div>\n\n\n\n<h2 class=\"wp-block-heading\">ClickHouse \ub370\uc774\ud130 \uacc4\ubcf4\uac00 \uad6c\uccb4\ud654\ub41c \ubdf0\uc758 \ubb38\uc81c\uc810\uc778 \uc774\uc720\ub294 \ubb34\uc5c7\uc77c\uae4c\uc694?<\/h2>\n\n\n\n<p>\ub300\ubd80\ubd84\uc758 \ub370\uc774\ud130 \uc6e8\uc5b4\ud558\uc6b0\uc2a4\uc5d0\uc11c \ubcc0\ud658 \ub85c\uc9c1\uc740 \uc608\uc57d\ub41c \ubc30\uce58 \uc791\uc5c5\uc5d0 \uc874\uc7ac\ud569\ub2c8\ub2e4. ClickHouse\uc5d0\uc11c\ub294 \uad6c\uccb4\ud654\ub41c \ubdf0(MV)\uc5d0 \uc874\uc7ac\ud569\ub2c8\ub2e4. ClickHouse MV\ub294 \uc0bd\uc785 \ud2b8\ub9ac\uac70 \uc5ed\ud560\uc744 \ud569\ub2c8\ub2e4. \uc18c\uc2a4 \ud14c\uc774\ube14\uc5d0 \uae30\ub85d\ub418\ub294 \ubaa8\ub4e0 \ube14\ub85d\uc740 MV\uc758 SELECT \ubb38\uc744 \ud1b5\ud574 \ub300\uc0c1 \ud14c\uc774\ube14\uc5d0 \uc0bd\uc785\ub429\ub2c8\ub2e4. \ud504\ub85c\ub355\uc158 \ud30c\uc774\ud504\ub77c\uc778\uc740 \uc774\ub7ec\ud55c MV\ub4e4\uc744 \uc5f0\uacb0\ud558\uc5ec \uad6c\uc131\ub429\ub2c8\ub2e4. Kafka \uc5d4\uc9c4 \ud14c\uc774\ube14\uc5d0\uc11c MV\ub85c \ub370\uc774\ud130\uac00 \uc804\ub2ec\ub418\uace0, MV\ub294 \uc6d0\uc2dc \ud589\uc744 MergeTree \ud14c\uc774\ube14\uc5d0 \uc800\uc7a5\ud569\ub2c8\ub2e4. \ub2e4\ub978 MV\ub4e4\uc740 \ud574\ub2f9 \ud14c\uc774\ube14\uc744 \uc77d\uc5b4 SummingMergeTree \ub610\ub294 AggregatingMergeTree \ub864\uc5c5\uc744 \uc0dd\uc131\ud558\uace0, \ub300\uc2dc\ubcf4\ub4dc\ub294 \uc774\ub7ec\ud55c \ub864\uc5c5\uc744 \ucffc\ub9ac\ud569\ub2c8\ub2e4.<\/p>\n\n\n\n<p>\uadf8 \uc124\uacc4\ub294 \ube60\ub974\uc9c0\ub9cc, \ub370\uc774\ud130 \ud750\ub984\uc774 \uc5ec\ub7ec \uc791\uc740 \uc601\uc5ed\uc5d0 \ubd84\uc0b0\ub429\ub2c8\ub2e4. <code>\uad6c\uccb4\ud654\ub41c \ubdf0 \uc0dd\uc131<\/code> \ub300\uc2dc\ubcf4\ub4dc \uc218\uce58\uac00 \uc798\ubabb\ub418\uc5c8\uac70\ub098 \ub204\uad70\uac00 Kafka \ud1a0\ud53d\uc5d0\uc11c \uc5f4\uc744 \uc0ad\uc81c\ud558\ub824\ub294 \uacbd\uc6b0, \uc218\ub3d9\uc73c\ub85c \uccb4\uc778\uc744 \uc7ac\uad6c\uc131\ud574\uc57c \ud569\ub2c8\ub2e4. \uc989, \ucffc\ub9ac\ub97c \uc2e4\ud589\ud574\uc57c \ud569\ub2c8\ub2e4. <code>\uc2dc\uc2a4\ud15c \ud14c\uc774\ube14<\/code>\uac01 \ubba4\uc9c1\ube44\ub514\uc624\ub97c \uc77d\uc5b4\ubcf4\uc138\uc694 <code>\ud14c\uc774\ube14 \ucffc\ub9ac \uc0dd\uc131<\/code>\ubaa8\ub4e0 \uac83\uc744 \ub530\ub974\uc138\uc694 <code>\uc5d0\uac8c<\/code> \uc808\uc744 \ub530\ub77c\uac00\uba74\uc11c \ub9ac\ud504 \ub178\ub4dc\uc5d0 \ub3c4\ub2ec\ud560 \ub54c\uae4c\uc9c0 \ubc18\ubcf5\ud569\ub2c8\ub2e4. \uac01 \ub2e8\uacc4\ub294 \uace0\uc720\ud55c \ud45c\ud604\uc2dd, \ud544\ud130 \ubc0f GROUP BY\ub97c \uc0ac\uc6a9\ud558\ub294 SELECT \ubb38\uc774\ubbc0\ub85c \ub2e8\uc77c \uc5f4\uc744 \uc815\ud655\ud558\uac8c \ucd94\uc801\ud558\ub824\uba74 \ud14c\uc774\ube14 \uc774\ub984\uc744 \uac80\uc0c9\ud558\ub294 \uac83\uc774 \uc544\ub2c8\ub77c \uc2e4\uc81c\ub85c SQL \uad6c\ubb38\uc744 \ubd84\uc11d\ud574\uc57c \ud569\ub2c8\ub2e4.<\/p>\n\n\n\n<p>SQLFlow\ub294 \ubc14\ub85c \uadf8 \ub2e8\uacc4\ub97c \uc790\ub3d9\ud654\ud569\ub2c8\ub2e4. SQLFlow\uc758 ClickHouse \ud30c\uc11c\ub294 39\uac1c\uc758 \ubc29\uc5b8\ubcc4 \ud30c\uc11c \uc911 \ud558\ub098\uc774\uba70(\uc77c\ubc18\uc801\uc778 ANSI \ubb38\ubc95\uc774 \uc544\ub2d8), \ub530\ub77c\uc11c ClickHouse \uc804\uc6a9 \uad6c\ubb38(\uc5d4\uc9c4 \uc808, <code>\uc9d1\uacc4 \ud568\uc218<\/code> \uceec\ub7fc, <code>-\uc0c1\ud0dc<\/code> \uc870\ud569\uc790, \ud568\uc218 \ub4f1 <code>\ud604\uc7ac\uae4c\uc9c0<\/code> \uadf8\ub9ac\uace0 <code>\uc720\ub2c8\ud06c<\/code> \u2014 \uc0dd\ub7b5\ub418\ub294 \uac83\uc774 \uc544\ub2c8\ub77c \uc774\ud574\ub418\ub294 \uac83\uc785\ub2c8\ub2e4.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\uc608\uc2dc: Kafka\uc5d0\uc11c AggregatingMergeTree\ub85c \uc5f4\uc744 \ucd94\uc801\ud558\ub294 \ubc29\ubc95<\/h2>\n\n\n\n<p>\ub2e4\uc74c\uc740 \uc77c\ubc18\uc801\uc778 2\ub2e8\uacc4 ClickHouse \ub370\uc774\ud130 \uc218\uc9d1 \uccb4\uc778\uc785\ub2c8\ub2e4. \uccab \ubc88\uc9f8\ub294 Kafka \uc5d4\uc9c4 \ud14c\uc774\ube14\uc774\uace0, \ub450 \ubc88\uc9f8\ub294 \uc6d0\uc2dc \uc774\ubca4\ud2b8\ub97c MergeTree\uc5d0 \uc800\uc7a5\ud558\ub294 MV\uc774\uba70, \uc138 \ubc88\uc9f8\ub294 AggregatingMergeTree \ud14c\uc774\ube14\uc5d0 \uc0ac\uc804 \uc9d1\uacc4\ub41c \ub864\uc5c5\uc744 \uc720\uc9c0\ud558\ub294 \ub450 \ubc88\uc9f8 MV\uc785\ub2c8\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>CREATE TABLE events_kafka ( event_time DateTime, user_id UInt64, event_type LowCardinality(String), revenue Decimal(18, 2) ) ENGINE = Kafka SETTINGS kafka_broker_list = &#039;kafka:9092&#039;, kafka_topic_list = &#039;events&#039;, kafka_format = &#039;JSONEachRow&#039;; CREATE TABLE events_raw ( event_time DateTime, user_id UInt64, event_type LowCardinality(String), revenue Decimal(18, 2) ) ENGINE = MergeTree ORDER BY (event_type, event_time); CREATE MATERIALIZED VIEW mv_events_raw TO events_raw AS SELECT event_time, user_id, event_type, revenue FROM events_kafka; CREATE TABLE revenue_daily ( day Date, event_type LowCardinality(String), total_revenue AggregateFunction(sum, Decimal(18, 2)), buyers AggregateFunction(uniq, UInt64) ) ENGINE = AggregatingMergeTree ORDER BY (day, event_type); CREATE MATERIALIZED VIEW mv_revenue_daily TO revenue_daily AS SELECT toDate(event_time) AS day, event_type, sumState(revenue) AS total_revenue, uniqState(user_id) AS buyers FROM events_raw WHERE event_type = &#039;purchase&#039; GROUP BY day, event_type;<\/code><\/pre>\n\n\n\n<p>\uc774 \ub124 \uac1c\uc758 \uba85\ub839\ubb38\uc744 SQLFlow\uc5d0 \uc785\ub825\ud558\uba74 \uc804\uccb4 \ucffc\ub9ac \uccb4\uc778\uc774 \ud574\uc11d\ub429\ub2c8\ub2e4. \ub864\uc5c5 \ud14c\uc774\ube14\uc758 \uacbd\uc6b0 \ucd9c\ub825 \uc5f4\ubcc4\ub85c \ub2e4\uc74c\uacfc \uac19\uc740 \uc815\ubcf4\uac00 \ubcf4\uace0\ub429\ub2c8\ub2e4.<\/p>\n\n\n\n<ul><li><code>\uc77c\uc77c \uc218\uc775.\ucd1d \uc218\uc775<\/code> ~\uc5d0\uc11c \uc720\ub798\ud569\ub2c8\ub2e4 <code>\uc774\ubca4\ud2b8_raw.\uc218\uc775<\/code> ~\uc744 \ud1b5\ud574 <code>sumState()<\/code>\uc774\ub294 \ub2e4\uc2dc \ub2e4\uc74c\uc73c\ub85c\ubd80\ud130 \uc720\ub798\ud569\ub2c8\ub2e4. <code>\uc774\ubca4\ud2b8_\uce74\ud504\uce74.\uc218\uc775<\/code> ~\uc744 \ud1b5\ud574 <code>mv_events_raw<\/code> \u2014 Kafka\uc5d0\uc11c Rollup\uc73c\ub85c \uc774\uc5b4\uc9c0\ub294 \uc804\uccb4 \uacbd\ub85c\ub97c \ud558\ub098\uc758 \ub2e4\uc774\uc5b4\uadf8\ub7a8\uc73c\ub85c \ubcf4\uc5ec\uc90d\ub2c8\ub2e4.<\/li>\n<li><code>\uc77c\uc77c \uc218\uc775.\uc77c<\/code> ~\uc5d0\uc11c \uc720\ub798\ud558\ub2e4 <code>\uc774\ubca4\ud2b8_raw.\uc774\ubca4\ud2b8_\uc2dc\uac04<\/code> ~\uc744 \ud1b5\ud574 <code>toDate()<\/code>\uc801\uc6a9\ub41c \ud568\uc218\ub294 \ubc84\ub824\uc9c0\uc9c0 \uc54a\uace0 \uac00\uc7a5\uc790\ub9ac\uc5d0 \uae30\ub85d\ub429\ub2c8\ub2e4.<\/li>\n<li><code>\uc77c\uc77c \uc218\uc775.\uad6c\ub9e4\uc790<\/code> ~\uc5d0\uc11c \uc720\ub798\ud558\ub2e4 <code>\uc774\ubca4\ud2b8_raw.user_id<\/code> ~\uc744 \ud1b5\ud574 <code>uniqState()<\/code>.<\/li>\n<li><code>\uc774\ubca4\ud2b8_raw.\uc774\ubca4\ud2b8_\uc720\ud615<\/code> \uc601\ud5a5 <em>\ubaa8\ub4e0<\/em> \ub864\uc5c5 \uceec\ub7fc\uc740 \uac04\uc811\uc801\uc73c\ub85c \uc0dd\uc131\ub429\ub2c8\ub2e4. \uc65c\ub0d0\ud558\uba74 <code>WHERE event_type = &#039;purchase&#039;<\/code> \ud544\ud130\uc640 <code>\uadf8\ub8f9\ud654 \uae30\uc900<\/code> \u2014 SQLFlow\ub294 \uc774\ub7ec\ud55c \uc5f0\uacb0\uc744 \uc9c1\uc811\uc801\uc778 \ub370\uc774\ud130 \ud750\ub984 \uc5f0\uacb0\uacfc \uad6c\ubcc4\ub418\ub294 \uac04\uc811 \uc5f0\uacb0\ub85c \ud45c\uc2dc\ud569\ub2c8\ub2e4.<\/li><\/ul>\n\n\n\n<p>\ub9c8\uc9c0\ub9c9 \uc694\uc810\uc740 ClickHouse\uc5d0\uc11c \ub2e4\ub978 \uac80\uc0c9 \uc5d4\uc9c4\ubcf4\ub2e4 \ud6e8\uc52c \uc911\uc694\ud569\ub2c8\ub2e4. \ub864\uc5c5\uc758 \uc815\ud655\uc131\uc740 \ucd9c\ub825\uc5d0 \ub098\ud0c0\ub098\uc9c0 \uc54a\ub294 \ud544\ud130 \uc5f4\uc5d0 \ub530\ub77c \ub2ec\ub77c\uc9c0\ub294 \uacbd\uc6b0\uac00 \ub9ce\uc2b5\ub2c8\ub2e4. \ub204\uad70\uac00 \uc774\ub984\uc744 \ubc14\uafb8\uba74 <code>\uc774\ubca4\ud2b8 \uc720\ud615<\/code> Kafka \ud1a0\ud53d\uc5d0\uc11c \ud14c\uc774\ube14 \uc218\uc900 \uacc4\ubcf4\ub294 &quot;\ub864\uc5c5\uc774 events_raw\uc5d0 \uc758\uc874\ud569\ub2c8\ub2e4&quot;\ub77c\uace0 \ud45c\uc2dc\ud558\ub294\ub370, \uc774\ub294 \ucc38\uc774\uc9c0\ub9cc \uc4f8\ubaa8\uac00 \uc5c6\uc2b5\ub2c8\ub2e4. \uac04\uc811 \uc5d0\uc9c0\ub97c \ud3ec\ud568\ud55c \uc5f4 \uc218\uc900 \uacc4\ubcf4\ub294 \ub2e4\uc74c\uacfc \uac19\uc2b5\ub2c8\ub2e4.<code>\ucd1d\uc218\uc775<\/code> \uadf8\ub9ac\uace0 <code>\uad6c\ub9e4\uc790<\/code> &quot;\ub458 \ub2e4 \uc815\ud655\ud788 \uc774 \uc5f4\ub85c \ud544\ud130\ub9c1\ub429\ub2c8\ub2e4.&quot; \uc774\uac83\uc774 \ubc14\ub85c \ubcc0\uacbd \uc0ac\ud56d\uc744 \ubc30\ud3ec\ud558\uae30 \uc804\uc5d0 \uc2e4\uc81c\ub85c \ud544\uc694\ud55c \ub2f5\ubcc0\uc785\ub2c8\ub2e4. \ub300\ubd80\ubd84\uc758 \uacc4\ubcf4 \ub3c4\uad6c\ub294 \uac04\uc811 \uacc4\ubcf4\ub97c \uc804\ud600 \ubaa8\ub378\ub9c1\ud558\uc9c0 \uc54a\uc9c0\ub9cc, SQLFlow\ub294 \ub2e4\uc774\uc5b4\uadf8\ub7a8\uc5d0\uc11c \ubcc4\ub3c4\ub85c \ucf1c\uace0 \ub04c \uc218 \uc788\ub294 \ub808\uc774\uc5b4\ub85c \uc81c\uacf5\ud569\ub2c8\ub2e4.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">SQLFlow\uac00 ClickHouse SQL\uc5d0\uc11c \ucd94\ucd9c\ud558\ub294 \ub0b4\uc6a9<\/h2>\n\n\n\n<ul><li><strong>\uceec\ub7fc \uc218\uc900 \uacc4\ubcf4:<\/strong> \uac01 \ucd9c\ub825 \uc5f4\uc5d0 \ub300\ud574 \ud574\ub2f9 \uc5f4\uc5d0 \ub370\uc774\ud130\ub97c \uc81c\uacf5\ud558\ub294 \uc815\ud655\ud55c \uc18c\uc2a4 \uc5f4\uacfc \uacbd\ub85c\uc0c1\uc758 \ud568\uc218, \ud615\ubcc0\ud658, \uc11c\ube0c\ucffc\ub9ac, \uc870\uc778 \ubc0f \uc9d1\ud569 \uc5f0\uc0b0\uc790\ub97c \ud45c\uc2dc\ud569\ub2c8\ub2e4. \uc5f4 \ucc38\uc870\ub294 CTE, \uc11c\ube0c\ucffc\ub9ac, \ubdf0 \ub4f1\uc744 \ud1b5\ud574 \ud574\uacb0\ub429\ub2c8\ub2e4. <code>\uc120\ud0dd\ud558\ub2e4 *<\/code> \ud655\uc7a5.<\/li>\n<li><strong>\uc9c1\uc811 \ud608\ud1b5 vs. \uac04\uc811 \ud608\ud1b5:<\/strong> \uc21c\uc218 \ub370\uc774\ud130 \ud750\ub984 \uc5e3\uc9c0\ub294 \uc601\ud5a5 \uc5e3\uc9c0(\uc0ac\uc6a9\ub418\ub294 \uc5f4)\uc640 \ubd84\ub9ac\ub418\uc5b4 \uc720\uc9c0\ub429\ub2c8\ub2e4. <code>\uc5b4\ub514<\/code>, <code>\uadf8\ub8f9\ud654 \uae30\uc900<\/code>(\ubc0f \ucc38\uc5ec \uc870\uac74) \uac01 \ub808\uc774\uc5b4\ub294 \ub3c5\ub9bd\uc801\uc73c\ub85c \uc804\ud658\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/li>\n<li><strong>\uba40\ud2f0\ud649 MV \uccb4\uc778:<\/strong> \uac01 MV\uc758 SELECT \ubb38\uc774 \ud30c\uc2f1\ub418\uace0 \ub300\uc0c1 \ud14c\uc774\ube14\uc774 \uc5f0\uacb0\ub418\uae30 \ub54c\ubb38\uc5d0, \uc5f0\uacb0\ub41c \uad6c\uccb4\ud654\ub41c \ubdf0\ub294 \uc218\uc9d1 \ud14c\uc774\ube14\uc5d0\uc11c \ucd5c\uc885 \ub864\uc5c5\uae4c\uc9c0 \ud558\ub098\uc758 \uc5f0\uc18d\uc801\uc778 \uadf8\ub798\ud504\ub85c \ud574\uc11d\ub429\ub2c8\ub2e4.<\/li>\n<li><strong>\uc778\ud130\ub799\ud2f0\ube0c \ub2e4\uc774\uc5b4\uadf8\ub7a8\uacfc \uad6c\uc870\ud654\ub41c \ub370\uc774\ud130:<\/strong> \ub2e4\uc774\uc5b4\uadf8\ub7a8\uc744 \uc790\uc138\ud788 \uc0b4\ud3b4\ubcf4\uac70\ub098, \uacc4\ubcf4\ub97c JSON, CSV \ub610\ub294 PNG \ud615\uc2dd\uc73c\ub85c \ub0b4\ubcf4\ub0b4\uac70\ub098, REST API\ub97c \ud1b5\ud574 \ud504\ub85c\uadf8\ub798\ubc0d \ubc29\uc2dd\uc73c\ub85c \uac00\uc838\uc62c \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/li><\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">ClickHouse SQL\uc744 SQLFlow\ub85c \uac00\uc838\uc624\ub294 \ubc29\ubc95<\/h2>\n\n\n\n<ol><li><strong>\ubd99\uc5ec\ub123\uac70\ub098 \uc5c5\ub85c\ub4dc\ud558\uc138\uc694.<\/strong> DDL \ubc0f MV \uc815\uc758\ub97c \ubcf5\uc0ac\ud569\ub2c8\ub2e4(\uc608: <code>\ud14c\uc774\ube14 \ucffc\ub9ac \uc0dd\uc131<\/code> \uac12\ub4e4 \uc911 <code>\uc2dc\uc2a4\ud15c \ud14c\uc774\ube14<\/code>\ube0c\ub77c\uc6b0\uc800\uc5d0 \uc785\ub825\ud558\uac70\ub098 \ub9c8\uc774\uadf8\ub808\uc774\uc158 \ud30c\uc77c\uc744 \uc5c5\ub85c\ub4dc\ud558\uc138\uc694. \uc774\uac83\uc774 \ud558\ub098\uc758 \ud30c\uc774\ud504\ub77c\uc778\uc744 \uac10\uc0ac\ud558\ub294 \uac00\uc7a5 \ube60\ub978 \ubc29\ubc95\uc785\ub2c8\ub2e4.<\/li>\n<li><strong>JDBC\ub97c \ud1b5\ud574 \uc5f0\uacb0\ud558\uc138\uc694.<\/strong> SQLFlow\ub294 JDBC\ub97c \ud1b5\ud574 \uc2e4\uc2dc\uac04 \ub370\uc774\ud130\ubca0\uc774\uc2a4\uc5d0\uc11c \uba54\ud0c0\ub370\uc774\ud130\ub97c \uac00\uc838\uc62c \uc218 \uc788\uc73c\ubbc0\ub85c \ud14c\uc774\ube14 \ubc0f \ubdf0 \uc815\uc758\ub294 \uc624\ub798\ub41c \ud30c\uc77c\uc774 \uc544\ub2cc \uc11c\ubc84\uc5d0\uc11c \uc9c1\uc811 \uac00\uc838\uc635\ub2c8\ub2e4.<\/li>\n<li><strong>\ucd94\ucd9c\uc744 \uc790\ub3d9\ud654\ud569\ub2c8\ub2e4.<\/strong> The Grabit\/SQLFlow-ingester utility extracts metadata on a schedule for repeatable, whole-estate scans.<\/li><\/ol>\n\n\n\n<p>SQLFlow\ub294 \ubaa8\ub4e0 \ubaa8\ub4dc\uc5d0\uc11c SQL \ucf54\ub4dc\uc5d0 \ub300\ud55c \uc815\uc801 \ubd84\uc11d\ub9cc \uc218\ud589\ud569\ub2c8\ub2e4. \ud14c\uc774\ube14\uc5d0\uc11c \ud589\uc744 \uc77d\uc9c0\ub294 \uc54a\uc73c\uba70, <a href=\"https:\/\/www.gudusoft.com\/ko\/sqlflow-on-premise-%eb%b2%84%ec%a0%84\/\">\uc628\ud504\ub808\ubbf8\uc2a4 \uc5d0\ub514\uc158<\/a> (Docker\/Kubernetes, \uc5d0\uc5b4\uac2d \ud658\uacbd\uacfc \ud638\ud658) SQL \ud14d\uc2a4\ud2b8\uc870\ucc28\ub3c4 \ub124\ud2b8\uc6cc\ud06c\ub97c \ubc97\uc5b4\ub098\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4. \uc774\ub294 ClickHouse \ud074\ub7ec\uc2a4\ud130\uac00 SaaS\ub85c \uc804\uc1a1\ud560 \uc218 \uc5c6\ub294 \uc774\ubca4\ud2b8 \ub370\uc774\ud130\ub97c \ucc98\ub9ac\ud558\ub294 \uacbd\uc6b0\uc5d0 \ud2b9\ud788 \uc911\uc694\ud569\ub2c8\ub2e4.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">ClickHouse\uc5d0\uc11c \uacc4\ubcf4\ub97c \uc5bb\ub294 \ubc29\ubc95 \ube44\uad50<\/h2>\n\n\n\n<figure class=\"wp-block-table\"><table><thead><tr><th>\uc811\uadfc\ud558\ub2e4<\/th><th>\uc798\ud55c\ub2e4<\/th><th>ClickHouse MV \uccb4\uc778\uc6a9 Gap<\/th><\/tr><\/thead><tbody>\n<tr><td>\ub3c5\uc11c <code>\uc2dc\uc2a4\ud15c \ud14c\uc774\ube14<\/code> \uc190\uc73c\ub85c<\/td><td>\ubb34\ub8cc, \ud56d\uc0c1 \ucd5c\uc2e0 \uc0c1\ud0dc \uc720\uc9c0, \ubcc4\ub3c4\uc758 \ub3c4\uad6c \ud544\uc694 \uc5c6\uc74c<\/td><td>\ub2f9\uc2e0\uc740 \ud30c\uc11c\uac00 \ub429\ub2c8\ub2e4. \uc5ec\ub7ec \ub2e8\uacc4\ub97c \uac70\uce58\ub294 \uccb4\uc778\uacfc \uc5f4\ubcc4 \uacbd\ub85c\ub97c \uc218\ub3d9\uc73c\ub85c \uc7ac\uad6c\uc131\ud574\uc57c \ud558\uace0, \uadf8\ub807\uac8c \ub418\uba74 \uba38\ub9bf\uc18d\uc5d0\uc11c \uc815\ubcf4\uac00 \ud750\ub9bf\ud574\uc9d1\ub2c8\ub2e4.<\/td><\/tr>\n<tr><td>\uc624\ud508\uc18c\uc2a4 \ud30c\uc11c(<code>sqllineage<\/code>, <code>sqlglot<\/code>)<\/td><td>\uc790\uccb4 \ud234 \ub0b4\uc5d0\uc11c \uac1c\ubcc4 \ucffc\ub9ac\uc5d0 \ub300\ud55c \uacc4\ubcf4 \uac80\uc0ac\ub97c \uc2a4\ud06c\ub9bd\ud305\ud569\ub2c8\ub2e4.<\/td><td>\uc774\uac83\ub4e4\uc740 \ub77c\uc774\ube0c\ub7ec\ub9ac\uc774\uc9c0, \uacc4\ubcf4 \uc0b0\ubb3c\uc774 \uc544\ub2d9\ub2c8\ub2e4. \uc5f0\uacb0\ub41c MV \ubb38\uc744 \ub2e4\uc774\uc5b4\uadf8\ub7a8\uacfc \uac04\uc811 \uacc4\ubcf4 \ubd84\ub9ac\ub97c \ud1b5\ud574 \ud0d0\uc0c9 \uac00\ub2a5\ud55c \uc5f4 \uc218\uc900 \uadf8\ub798\ud504 \ud558\ub098\ub85c \uc870\ub9bd\ud558\ub294 \uac83\uc740 \uc0ac\uc6a9\uc790\uac00 \uc9c1\uc811 \uc791\uc131\ud558\uace0 \uc720\uc9c0 \uad00\ub9ac\ud574\uc57c \ud558\ub294 \ucf54\ub4dc\uc785\ub2c8\ub2e4.<\/td><\/tr>\n<tr><td>\uce74\ud0c8\ub85c\uadf8 \uc6b0\uc120 \ud50c\ub7ab\ud3fc<\/td><td>\uc804\uccb4 \uc2a4\ud0dd\uc5d0 \uac78\uce5c \uac70\ubc84\ub10c\uc2a4 \uc6cc\ud06c\ud50c\ub85c, \uc18c\uc720\uad8c, \ube44\uc988\ub2c8\uc2a4 \uc6a9\uc5b4\uc9d1<\/td><td>\uacc4\ubcf4 \uae4a\uc774\ub294 \uac01 \ubc29\uc5b8\ubcc4 SQL \uad6c\ubb38 \ubd84\uc11d \ubc29\uc2dd\uc5d0 \ub530\ub77c \ub2ec\ub77c\uc9d1\ub2c8\ub2e4. \ud2b9\uc218 \uad6c\ubb38 \ubd84\uc11d\uae30\ub294 \uc77c\ubc18\uc801\uc73c\ub85c \uc5f4 \uc218\uc900\uc758 ClickHouse \uacc4\ubcf4\ub97c \ub354 \uae4a\uc774 \ubd84\uc11d\ud569\ub2c8\ub2e4.<\/td><\/tr>\n<tr><td>Gudu SQLFlow<\/td><td>\uc804\uc6a9 \ubc29\uc5b8 \ud30c\uc11c\ub97c \uc0ac\uc6a9\ud55c \uc5f4 \uc218\uc900\uc758 ClickHouse \uacc4\ubcf4\ub3c4(\uc9c1\uc811\/\uac04\uc811 \uad6c\ubd84 \ubc0f \ub2e4\uc774\uc5b4\uadf8\ub7a8 \ud3ec\ud568)<\/td><td>\uc0c1\uc6a9 \ub3c4\uad6c\uc774\uba70, \uc815\uc801 \ubd84\uc11d \uae30\ub2a5\uc744 \uae30\ubcf8\uc73c\ub85c \uc124\uacc4\ud558\uc5ec \ub7f0\ud0c0\uc784 \uc791\uc5c5 \uc6d0\uaca9 \uce21\uc815 \ub370\uc774\ud130\uac00 \uc544\ub2cc SQL \ub85c\uc9c1\uc744 \ub9e4\ud551\ud569\ub2c8\ub2e4.<\/td><\/tr>\n<\/tbody><\/table><\/figure>\n\n\n\n<p>\uc774\ub7ec\ud55c \uc811\uadfc \ubc29\uc2dd\uc740 \ub2e4\uc74c\uacfc \uac19\uc740 \ud2b9\uc9d5\uc744 \uacb0\ud569\ud569\ub2c8\ub2e4. \uc5d4\ud130\ud504\ub77c\uc774\uc988 SQLFlow \ubc30\ud3ec\ub294 \ub370\uc774\ud130 \uacc4\ubcf4\ub97c DataHub, Microsoft Purview \ubc0f OpenMetadata\ub85c \ub0b4\ubcf4\ub0b4\ubbc0\ub85c SQLFlow\ub294 \uc774\ubbf8 \uc2e4\ud589 \uc911\uc778 \uce74\ud0c8\ub85c\uadf8\uc758 \uad6c\ubb38 \ubd84\uc11d \uc5d4\uc9c4 \uc5ed\ud560\uc744 \ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \ub300\uaddc\ubaa8 \ud658\uacbd\uc5d0\uc11c\ub294 100\uac1c \uc774\uc0c1\uc758 \ub370\uc774\ud130\ubca0\uc774\uc2a4\uc640 \ubc31\ub9cc \uac1c \uc774\uc0c1\uc758 \uc5f4\uc744 \ud3ec\ud568\ud558\ub294 \ud658\uacbd\uc744 \uc77c\uad04 \uc2a4\uce94\ud558\uace0, \uc99d\ubd84 \uc2a4\uce94 \ubc0f \uc601\uad6c\uc801\uc778 \uacc4\ubcf4 \uc800\uc7a5\uc18c(ClickHouse\ub97c \ube44\ub86f\ud55c \uc2a4\ud0dd\uc758 \ub2e4\ub978 \uad6c\uc131 \uc694\uc18c)\ub97c \ud65c\uc6a9\ud569\ub2c8\ub2e4.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">ClickHouse\ub294 \uac70\uc758 \ud63c\uc790 \uc0b4\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4.<\/h2>\n\n\n\n<p>ClickHouse\uc758 \uc2e4\uc2dc\uac04 \uc11c\ubc84\ub294 \uc77c\ubc18\uc801\uc73c\ub85c \ud398\ub354\ub808\uc774\uc158 \ub808\uc774\uc5b4, \ub85c\uceec \ubd84\uc11d, \ubc30\uce58 \uc6e8\uc5b4\ud558\uc6b0\uc2a4\uc640 \uac19\uc740 \ub2e4\ub978 \uc5d4\uc9c4\ub4e4\uacfc \ud568\uaed8 \uc0ac\uc6a9\ub429\ub2c8\ub2e4. SQLFlow\ub294 \uc774 \ubaa8\ub4e0 \uc5d4\uc9c4\uc744 \ub3d9\uc77c\ud55c \uc5d4\uc9c4\uc778 \uc77c\ubc18 SQL \ud30c\uc11c(General SQL Parser)\ub85c \ud30c\uc2f1\ud569\ub2c8\ub2e4. \uc774 \ud30c\uc11c\ub294 2000\ub144\ub300 \uc911\ubc18\ubd80\ud130 \uc0c1\uc6a9\uc73c\ub85c \uac1c\ubc1c\ub418\uc5c8\uc73c\uba70, \uc57d 13,600\uac1c\uc758 \ubc29\uc5b8\ubcc4 \ud14c\uc2a4\ud2b8 \ud53d\uc2a4\ucc98\ub97c \ud1b5\ud574 \uac80\uc99d\ub418\uc5c8\uc2b5\ub2c8\ub2e4. \ub530\ub77c\uc11c \uc5d4\uc9c4 \uacbd\uacc4\ub97c \ub118\uc5b4 \ub370\uc774\ud130 \uacc4\ubcf4\ub294 \uc5f4 \uc218\uc900\uc73c\ub85c \uc720\uc9c0\ub429\ub2c8\ub2e4. \uc2a4\ud0dd\uc5d0 \uc774\ub7ec\ud55c \uad6c\uc131 \uc694\uc18c\uac00 \ud3ec\ud568\ub41c \uacbd\uc6b0 \uad00\ub828 \uac00\uc774\ub4dc\ub97c \ucc38\uc870\ud558\uc138\uc694. <a href=\"https:\/\/www.gudusoft.com\/ko\/%ed%8a%b8%eb%a6%ac%eb%85%b8-%eb%8d%b0%ec%9d%b4%ed%84%b0-%ea%b3%84%eb%b3%b4\/\">\ud2b8\ub9ac\ub178 \ub370\uc774\ud130 \uacc4\ubcf4<\/a> \uc5f0\ud569 \ucffc\ub9ac \uacc4\uce35\uc758 \uacbd\uc6b0 <a href=\"https:\/\/www.gudusoft.com\/ko\/duckdb-%eb%8d%b0%ec%9d%b4%ed%84%b0-%ea%b3%84%eb%b3%b4\/\">DuckDB \ub370\uc774\ud130 \uacc4\ubcf4<\/a> \uc9c4\ud589 \uc911 \ubd84\uc11d\uc744 \uc704\ud574 \ub610\ub294 \uac80\uc0c9\uc744 \ud1b5\ud574 \ud655\uc778\ud558\uc138\uc694. <a href=\"https:\/\/www.gudusoft.com\/ko\/%eb%8d%b0%ec%9d%b4%ed%84%b0-%ea%b3%84%eb%b3%b4-%ec%a7%80%ec%8b%9d-%ea%b8%b0%eb%b0%98\/\">\ub370\uc774\ud130 \uacc4\ubcf4 \uc9c0\uc2dd \uae30\ubc18<\/a>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\uc790\uc8fc \ubb3b\ub294 \uc9c8\ubb38<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">SQLFlow\ub294 \uc5f0\uacb0\ub41c ClickHouse \uad6c\uccb4\ud654\ub41c \ubdf0\ub97c \ud1b5\ud574 \uacc4\ubcf4\ub97c \ucd94\uc801\ud560 \uc218 \uc788\uc2b5\ub2c8\uae4c?<\/h3>\n\n\n<p>\uc608. \uac01 \uad6c\uccb4\ud654\ub41c \ubdf0\uc758 SELECT \ubb38\uc774 \ud30c\uc2f1\ub418\uace0 \ub300\uc0c1 \ud14c\uc774\ube14\uc774 \uadf8\ub798\ud504\uc5d0 \uc5f0\uacb0\ub418\ubbc0\ub85c, Kafka \uc5d4\uc9c4 \ud14c\uc774\ube14\uc774 \uad6c\uccb4\ud654\ub41c \ubdf0\uc5d0 \ub370\uc774\ud130\ub97c \uc81c\uacf5\ud558\uace0, \uc774 \ubdf0\uac00 \ubcd1\ud569 \ud2b8\ub9ac \ud14c\uc774\ube14\uc5d0 \ub370\uc774\ud130\ub97c \uc81c\uacf5\ud558\uace0, \ub2e4\uc2dc \ub2e4\ub978 \uad6c\uccb4\ud654\ub41c \ubdf0\uc5d0 \ub370\uc774\ud130\ub97c \uc81c\uacf5\ud558\uc5ec \uc9d1\uacc4 \ubcd1\ud569 \ud2b8\ub9ac\uc5d0 \ub370\uc774\ud130\ub97c \uc81c\uacf5\ud558\ub294 \uacbd\uc6b0, \ubaa8\ub4e0 \uc5f0\uacb0\uc740 \ud558\ub098\uc758 \uc5f0\uc18d\uc801\uc778 \uc5f4 \uc218\uc900 \uacbd\ub85c\ub85c \ud574\uc11d\ub429\ub2c8\ub2e4.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">SQLFlow\ub294 ClickHouse \uace0\uc720\uc758 SQL \uad6c\ubb38\uc744 \uc774\ud574\ud569\ub2c8\uae4c?<\/h3>\n\n\n<p>\ub124. ClickHouse\ub294 SQLFlow\uc758 39\uac1c \ubc29\uc5b8\ubcc4 \ud30c\uc11c \uc911 \ud558\ub098\uc785\ub2c8\ub2e4. \uc77c\ubc18\uc801\uc778 ANSI \ud30c\uc11c\uac00 \uc544\ub2c8\ub77c ClickHouse \uc804\uc6a9 \ubb38\ubc95\uc774\uae30 \ub54c\ubb38\uc5d0 \uc5d4\uc9c4 \uc808\uc774\ub098 \uc9d1\uacc4 \ud568\uc218 \uc0c1\ud0dc \uc5f4\uacfc \uac19\uc740 ClickHouse \uad6c\ubb38\uc740 \uac74\ub108\ub6f0\uc9c0 \uc54a\uace0 \ud30c\uc2f1\ub429\ub2c8\ub2e4.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">SQLFlow\uac00 ClickHouse \ub370\uc774\ud130\uc5d0 \uc811\uadfc\ud574\uc57c \ud558\ub098\uc694?<\/h3>\n\n\n<p>\uc544\ub2c8\uc694. SQLFlow\ub294 SQL \ucf54\ub4dc\uc5d0 \ub300\ud55c \uc815\uc801 \ubd84\uc11d\uc744 \uc218\ud589\ud558\uba70, \uc120\ud0dd\uc801\uc73c\ub85c JDBC\ub97c \ud1b5\ud574 \uac00\uc838\uc628 \uc2a4\ud0a4\ub9c8 \uba54\ud0c0\ub370\uc774\ud130\ub3c4 \ubd84\uc11d\ud569\ub2c8\ub2e4. \ud14c\uc774\ube14\uc5d0\uc11c \ud589\uc744 \uc9c1\uc811 \uc77d\uc5b4\uc624\uc9c0\ub294 \uc54a\uc73c\uba70, \uc628\ud504\ub808\ubbf8\uc2a4 \ubc84\uc804\uc740 SQL \ud14d\uc2a4\ud2b8\uc870\ucc28\ub3c4 \ub124\ud2b8\uc6cc\ud06c \ub0b4\ubd80\uc5d0 \ubcf4\uad00\ud569\ub2c8\ub2e4.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">ClickHouse \ub864\uc5c5\uc5d0\uc11c &quot;\uac04\uc811 \uacc4\ubcf4&quot;\ub780 \ubb34\uc5c7\uc744 \uc758\ubbf8\ud569\ub2c8\uae4c?<\/h3>\n\n\n<p>\uad6c\uccb4\ud654\ub41c \ubdf0\uc758 WHERE \ud544\ud130 \ub610\ub294 GROUP BY\uc5d0 \uc0ac\uc6a9\ub41c \uc5f4\uc740 \ub864\uc5c5 \ucd9c\ub825\uc5d0 \ub098\ud0c0\ub098\uc9c0 \uc54a\uc9c0\ub9cc, \uc5b4\ub5a4 \ud589\uc774 \uc9d1\uacc4\ub420\uc9c0\ub97c \uacb0\uc815\ud569\ub2c8\ub2e4. SQLFlow\ub294 \uc774\ub7ec\ud55c \uad00\uacc4\ub97c \uc9c1\uc811\uc801\uc778 \ub370\uc774\ud130 \ud750\ub984\uacfc \uad6c\ubd84\ub41c \uac04\uc811\uc801\uc778 \uacc4\ubcf4\ub85c \uae30\ub85d\ud558\uace0, \ub2e4\uc774\uc5b4\uadf8\ub7a8\uc5d0\uc11c \uac01 \uacc4\uce35\uc744 \ucf1c\uace0 \ub04c \uc218 \uc788\ub3c4\ub85d \ud569\ub2c8\ub2e4.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">ClickHouse \ub9ac\ub2c8\uc9c0 \ubd84\uc11d\uc744 \uc704\ud55c SQLFlow \ube44\uc6a9\uc740 \uc5bc\ub9c8\uc778\uac00\uc694?<\/h3>\n\n\n<p>SQLFlow \ud074\ub77c\uc6b0\ub4dc\ub294 \ubb34\ub8cc \ud2f0\uc5b4\ub97c \uc81c\uacf5\ud558\uba70, \ud504\ub9ac\ubbf8\uc5c4 \ud2f0\uc5b4\ub294 \uc6d4 $49.99\uc785\ub2c8\ub2e4. SQLFlow \uc628\ud504\ub808\ubbf8\uc2a4\ub294 \uc6d4 $500 \ub610\ub294 \uc120\ud0dd\ud55c \ub370\uc774\ud130\ubca0\uc774\uc2a4 \uc720\ud615\ub2f9 \uc77c\ud68c\uc131 \uacb0\uc81c \uc2dc $4,800\uc774\uba70, \ub450 \ub300\uc758 \uc11c\ubc84\uc5d0 \uc124\uce58\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \uc790\uc138\ud55c \ub0b4\uc6a9\uc740 \ud574\ub2f9 \uc6f9\uc0ac\uc774\ud2b8\ub97c \ucc38\uc870\ud558\uc2ed\uc2dc\uc624. <a href=\"https:\/\/www.gudusoft.com\/ko\/%ea%b0%80%ea%b2%a9\/\">\uac00\uaca9 \ud398\uc774\uc9c0<\/a>.<\/p>\n\n\n\n<div class=\"wp-block-group alignfull has-background is-layout-constrained\" style=\"background-color:#60d5f6;padding-top:32px;padding-bottom:32px\"><div class=\"wp-block-group__inner-container\">\n\n<h2 class=\"wp-block-heading\">\uc9c0\uae08 \ubc14\ub85c ClickHouse MV \uccb4\uc778\uc744 \ub9e4\ud551\ud558\uc138\uc694<\/h2>\n\n\n<p>\ubb34\ub8cc \uc2dc\uac01\ud654 \ub3c4\uad6c\uc5d0 CREATE MATERIALIZED VIEW \ubb38\uc744 \ubd99\uc5ec\ub123\uace0 Kafka\uc5d0\uc11c Rollup\uae4c\uc9c0\uc758 \uc804\uccb4 \uacc4\ubcf4\ub97c \ud655\uc778\ud558\uac70\ub098, \uc804\uccb4 \ud658\uacbd\uc744 \uc2a4\uce94\ud558\ub294 \uac83\uc5d0 \ub300\ud574 \ubb38\uc758\ud574 \uc8fc\uc138\uc694.<\/p>\n\n\n<div class=\"wp-block-buttons is-layout-flex\">\n<div class=\"wp-block-button\"><a class=\"wp-block-button__link wp-element-button\" href=\"https:\/\/sqlflow.gudusoft.com\/?utm_source=gudusoft&amp;utm_medium=website&amp;utm_campaign=clickhouse-data-lineage\" target=\"_blank\" rel=\"noreferrer noopener\">SQLFlow\ub97c \ubb34\ub8cc\ub85c \uc0ac\uc6a9\ud574 \ubcf4\uc138\uc694.<\/a><\/div>\n\n\n<div class=\"wp-block-button\"><a class=\"wp-block-button__link wp-element-button\" href=\"https:\/\/www.gudusoft.com\/ko\/%ec%97%b0%eb%9d%bd%ed%95%98%eb%8b%a4\/\">\uae30\uc5c5\uc6a9 \ub370\ubaa8\ub97c \uc694\uccad\ud558\uc138\uc694<\/a><\/div>\n<\/div>\n\n<\/div><\/div>\n\n\n\n<script type=\"application\/ld+json\">{\n    \"@context\": \"https:\\\/\\\/schema.org\",\n    \"@graph\": [\n        {\n            \"@type\": \"SoftwareApplication\",\n            \"name\": \"Gudu SQLFlow\",\n            \"applicationCategory\": \"DeveloperApplication\",\n            \"applicationSubCategory\": \"SQL Data Lineage Tool\",\n            \"operatingSystem\": \"Web, Linux, Windows, macOS\",\n            \"url\": \"https:\\\/\\\/www.gudusoft.com\\\/clickhouse-data-lineage\\\/\",\n            \"description\": \"Automated SQL data lineage tool with a dedicated ClickHouse dialect parser: traces column-level lineage through chained materialized views, from Kafka engine tables to AggregatingMergeTree rollups.\",\n            \"featureList\": \"ClickHouse dialect parser, column-level lineage, direct vs indirect lineage, materialized view chain resolution, JSON\\\/CSV\\\/PNG export, REST API, DataHub\\\/Purview\\\/OpenMetadata export\",\n            \"softwareVersion\": \"8.2.3\",\n            \"offers\": [\n                {\n                    \"@type\": \"Offer\",\n                    \"name\": \"SQLFlow Cloud Free\",\n                    \"price\": \"0\",\n                    \"priceCurrency\": \"USD\"\n                },\n                {\n                    \"@type\": \"Offer\",\n                    \"name\": \"SQLFlow Cloud Premium\",\n                    \"price\": \"49.99\",\n                    \"priceCurrency\": \"USD\",\n                    \"priceSpecification\": {\n                        \"@type\": \"UnitPriceSpecification\",\n                        \"price\": \"49.99\",\n                        \"priceCurrency\": \"USD\",\n                        \"billingIncrement\": 1,\n                        \"unitText\": \"MONTH\"\n                    }\n                },\n                {\n                    \"@type\": \"Offer\",\n                    \"name\": \"SQLFlow On-Premise\",\n                    \"price\": \"4800\",\n                    \"priceCurrency\": \"USD\"\n                }\n            ],\n            \"publisher\": {\n                \"@type\": \"Organization\",\n                \"name\": \"Gudu Software\",\n                \"url\": \"https:\\\/\\\/www.gudusoft.com\\\/\"\n            }\n        },\n        {\n            \"@type\": \"FAQPage\",\n            \"mainEntity\": [\n                {\n                    \"@type\": \"Question\",\n                    \"name\": \"Can SQLFlow trace lineage through chained ClickHouse materialized views?\",\n                    \"acceptedAnswer\": {\n                        \"@type\": \"Answer\",\n                        \"text\": \"Yes. Each materialized view's SELECT is parsed and its target table is linked into the graph, so a Kafka engine table feeding an MV, feeding a MergeTree table, feeding another MV into an AggregatingMergeTree resolves as one continuous column-level path.\"\n                    }\n                },\n                {\n                    \"@type\": \"Question\",\n                    \"name\": \"Does SQLFlow understand ClickHouse-specific SQL syntax?\",\n                    \"acceptedAnswer\": {\n                        \"@type\": \"Answer\",\n                        \"text\": \"Yes. ClickHouse is one of SQLFlow's 39 dialect-specific parsers. It is a dedicated grammar, not a generic ANSI parser, so ClickHouse constructs such as engine clauses and aggregate function state columns are parsed rather than skipped.\"\n                    }\n                },\n                {\n                    \"@type\": \"Question\",\n                    \"name\": \"Does SQLFlow need access to my ClickHouse data?\",\n                    \"acceptedAnswer\": {\n                        \"@type\": \"Answer\",\n                        \"text\": \"No. SQLFlow performs static analysis of SQL code and, optionally, schema metadata pulled over JDBC. It never reads rows from your tables, and the On-Premise edition keeps even the SQL text inside your network.\"\n                    }\n                },\n                {\n                    \"@type\": \"Question\",\n                    \"name\": \"What does indirect lineage mean for a ClickHouse rollup?\",\n                    \"acceptedAnswer\": {\n                        \"@type\": \"Answer\",\n                        \"text\": \"A column used in a materialized view's WHERE filter or GROUP BY never appears in the rollup's output, yet it determines which rows are aggregated. SQLFlow records these as indirect lineage edges, separate from direct dataflow, and lets you toggle each layer in the diagram.\"\n                    }\n                },\n                {\n                    \"@type\": \"Question\",\n                    \"name\": \"How much does SQLFlow cost for ClickHouse lineage?\",\n                    \"acceptedAnswer\": {\n                        \"@type\": \"Answer\",\n                        \"text\": \"SQLFlow Cloud has a free tier; premium is $49.99\\\/month. SQLFlow On-Premise is $500\\\/month or $4,800 one-time per selected database type, installable on two servers.\"\n                    }\n                }\n            ]\n        }\n    ]\n}<\/script>","protected":false},"excerpt":{"rendered":"<p>ClickHouse data lineage is the map of how columns flow through your ClickHouse pipeline: which Kafka engine tables, MergeTree tables, and materialized view SELECTs feed each downstream column, and which functions and aggregate states transform the data along the way. Because ClickHouse materialized views are defined entirely in SQL, accurate lineage comes from parsing that SQL. Gudu SQLFlow does this with a dedicated ClickHouse dialect parser and returns interactive, column-level lineage diagrams. Try it now: paste your CREATE MATERIALIZED VIEW statements into the free SQLFlow visualizer, select the ClickHouse dialect, and get a column-level lineage diagram of your MV chain\u2026<\/p>","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":[],"blocksy_meta":{"styles_descriptor":{"styles":{"desktop":"","tablet":"","mobile":""},"google_fonts":[],"version":5}},"_links":{"self":[{"href":"https:\/\/www.gudusoft.com\/ko\/wp-json\/wp\/v2\/pages\/6765"}],"collection":[{"href":"https:\/\/www.gudusoft.com\/ko\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.gudusoft.com\/ko\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.gudusoft.com\/ko\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.gudusoft.com\/ko\/wp-json\/wp\/v2\/comments?post=6765"}],"version-history":[{"count":0,"href":"https:\/\/www.gudusoft.com\/ko\/wp-json\/wp\/v2\/pages\/6765\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.gudusoft.com\/ko\/wp-json\/wp\/v2\/media?parent=6765"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}