blob: 24eb3e11cc244585be7f631e153e646b3c13b83f [file] [log] [blame]
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 25.2.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 1462 1611" style="enable-background:new 0 0 1462 1611;" xml:space="preserve">
<style type="text/css">
.st0{opacity:0.5;fill:#F2F2F2;enable-background:new ;}
.st1{fill:none;}
.st2{fill:#363636;}
.st3{font-family:'Trenda-Bold';}
.st4{font-size:31px;}
.st5{opacity:0.5;fill:none;stroke:#363636;stroke-miterlimit:10;stroke-dasharray:3,3;enable-background:new ;}
.st6{fill:#E8436A;}
.st7{font-size:26px;}
.st8{fill:#4B9654;}
.st9{fill:#2F8DC1;}
.st10{fill:#F9A11B;}
.st11{fill:#993940;}
.st12{fill:#7C56A4;}
.st13{fill:#002FA5;}
.st14{font-size:23px;}
.st15{enable-background:new ;}
.st16{font-size:22.4692px;}
.st17{font-size:24px;}
.st18{font-size:25px;}
.st19{font-size:25.0008px;}
.st20{fill:none;stroke:#363636;stroke-width:9;stroke-miterlimit:10;}
.st21{fill:#B5739D;stroke:#363636;stroke-width:9;stroke-miterlimit:10;}
.st22{font-size:41px;}
.st23{font-family:'ArialMT';}
.st24{font-size:10px;}
</style>
<g>
<rect x="0.5" y="1510.5" pointer-events="all" class="st0" width="1460" height="100"/>
<rect x="1" y="880.3" pointer-events="all" class="st0" width="1460" height="598.3"/>
<rect x="0.5" y="0.5" pointer-events="all" class="st0" width="1460" height="845.4"/>
<rect x="30.5" y="630.5" pointer-events="all" class="st1" width="40" height="20"/>
<g transform="translate(-0.5 -0.5)">
<text transform="matrix(1 0 0 1 15.3501 651.6816)" class="st2 st3 st4">MVP</text>
</g>
<path pointer-events="stroke" class="st5" d="M781.8,799.7l-555-609.2"/>
<rect x="70.5" y="240.5" pointer-events="all" class="st1" width="70" height="40"/>
<g transform="translate(-0.5 -0.5)">
<text transform="matrix(1 0 0 1 18.0127 136)" class="st2 st3 st4">Beta</text>
</g>
<rect x="288" y="135.5" pointer-events="all" class="st1" width="230" height="90"/>
<g transform="translate(-0.5 -0.5)">
<text transform="matrix(1 0 0 1 230.7544 136)" class="st2 st3 st4">Production Ready...</text>
</g>
<rect x="966.5" y="76.5" pointer-events="all" class="st1" width="230" height="90"/>
<g transform="translate(-0.5 -0.5)">
<text transform="matrix(1 0 0 1 862 127)" class="st2 st3 st4">Stable</text>
</g>
<g transform="translate(-0.5 -0.5)">
<text transform="matrix(1 0 0 1 1231.0005 1033.2699)" class="st2 st3 st4">Deprecated</text>
</g>
<path pointer-events="stroke" class="st5" d="M817,809.5l-0.5-683"/>
<path pointer-events="stroke" class="st5" d="M666,1402.8l506-370"/>
<rect x="651" y="972.8" pointer-events="all" class="st1" width="400" height="50"/>
<g transform="translate(-0.5 -0.5)">
<text transform="matrix(1 0 0 1 176.5005 1018.3096)" class="st2 st3 st4">Approaching End-of-Life</text>
</g>
<rect x="70.5" y="1540.5" pointer-events="all" class="st1" width="305" height="40"/>
<g transform="translate(-0.5 -0.5)">
<text transform="matrix(1 0 0 1 72.4224 1575.1875)" class="st6 st3 st7">APIs</text>
</g>
<rect x="168" y="1540.5" pointer-events="all" class="st1" width="120" height="40"/>
<g transform="translate(-0.5 -0.5)">
<text transform="matrix(1 0 0 1 1292.4648 1575.1871)" class="st8 st3 st7">Languages</text>
</g>
<rect x="325.5" y="1540.5" pointer-events="all" class="st1" width="90" height="40"/>
<g transform="translate(-0.5 -0.5)">
<text transform="matrix(1 0 0 1 522.017 1575.187)" class="st9 st3 st7">Clients</text>
</g>
<rect x="710.5" y="1540.5" pointer-events="all" class="st1" width="140" height="40"/>
<g transform="translate(-0.5 -0.5)">
<text transform="matrix(1 0 0 1 676.0762 1575.187)" class="st10 st3 st7">Connectors</text>
</g>
<rect x="870.5" y="1540.5" pointer-events="all" class="st1" width="180" height="40"/>
<g transform="translate(-0.5 -0.5)">
<text transform="matrix(1 0 0 1 871.0003 1575.187)" class="st11 st3 st7">State Backends</text>
</g>
<rect x="1085.5" y="1540.5" pointer-events="all" class="st1" width="100" height="40"/>
<g transform="translate(-0.5 -0.5)">
<text transform="matrix(1 0 0 1 1121.5 1575.4209)" class="st12 st3 st7">Libraries</text>
</g>
<rect x="450.5" y="1540.5" pointer-events="all" class="st1" width="220" height="40"/>
<g transform="translate(-0.5 -0.5)">
<text transform="matrix(1 0 0 1 188.5 1575.1871)" class="st13 st3 st7">Resource Managers</text>
</g>
<rect x="856.5" y="160.5" pointer-events="all" class="st1" width="305" height="40"/>
<g transform="translate(-0.5 -0.5)">
<text transform="matrix(1 0 0 1 858.5 187.5)" class="st6 st3 st14">DataStream (流式)</text>
</g>
<rect x="70.5" y="290.5" pointer-events="all" class="st1" width="210" height="40"/>
<g transform="translate(-0.5 -0.5)">
<text transform="matrix(1 0 0 1 15.0259 322)" class="st6 st3 st14">DataStream (批式)</text>
</g>
<rect x="643.5" y="1072.8" pointer-events="all" class="st1" width="100" height="40"/>
<g transform="translate(-0.5 -0.5)">
<text transform="matrix(1 0 0 1 551.5 1083.3936)" class="st6 st3 st14">DataSet</text>
</g>
<rect x="510.5" y="206.5" pointer-events="all" class="st1" width="270" height="40"/>
<g transform="translate(-0.5 -0.5)">
<text transform="matrix(1 0 0 1 580.2861 214.5781)" class="st6 st3 st14">SQL &amp; Table API</text>
</g>
<rect x="851" y="1312.8" pointer-events="all" class="st1" width="270" height="70"/>
<g transform="translate(-0.5 -0.5)">
<text transform="matrix(0.8713 0.5013 -0.5066 0.8622 960.9474 1300.7898)" class="st15"><tspan x="0" y="0" class="st6 st3 st16">旧的 SQL</tspan><tspan x="0" y="27" class="st6 st3 st16">Query Engine</tspan></text>
</g>
<rect x="787" y="1087.8" pointer-events="all" class="st1" width="180" height="40"/>
<g transform="translate(-0.5 -0.5)">
<text transform="matrix(0.9824 0.1869 -0.1869 0.9824 791.3521 1093.2705)" class="st6 st3 st14">Queryable State</text>
</g>
<rect x="90.5" y="540.5" pointer-events="all" class="st1" width="210" height="40"/>
<g transform="translate(-0.5 -0.5)">
<text transform="matrix(1 0 0 1 106 544.8164)" class="st6 st3 st14">State Processor API</text>
</g>
<rect x="541" y="1182.8" pointer-events="all" class="st1" width="130" height="40"/>
<g transform="translate(-0.5 -0.5)">
<text transform="matrix(1 0 0 1 371 1192.6338)" class="st9 st3 st17">Scala Shell</text>
</g>
<rect x="1170.5" y="166.5" pointer-events="all" class="st1" width="110" height="40"/>
<g transform="translate(-0.5 -0.5)">
<text transform="matrix(1 0 0 1 1171 237.5)" class="st8 st3 st17">Java 8</text>
</g>
<rect x="1170.5" y="206.5" pointer-events="all" class="st1" width="120" height="40"/>
<g transform="translate(-0.5 -0.5)">
<text transform="matrix(1 0 0 1 1172 281)" class="st8 st3 st17">Java 11</text>
</g>
<rect x="1171.5" y="261.5" pointer-events="all" class="st1" width="140" height="40"/>
<g transform="translate(-0.5 -0.5)">
<text transform="matrix(1 0 0 1 1171 333.1797)" class="st8 st3 st17">Scala 2.12</text>
</g>
<rect x="476" y="1047.8" pointer-events="all" class="st1" width="140" height="40"/>
<g transform="translate(-0.5 -0.5)">
<text transform="matrix(1 0 0 1 306 1083.3945)" class="st8 st3 st17">Scala 2.11</text>
</g>
<rect x="633" y="150.5" pointer-events="all" class="st1" width="135" height="40"/>
<g transform="translate(-0.5 -0.5)">
<text transform="matrix(1 0 0 1 341.6924 211)" class="st13 st3 st18">Kubernetes(云原生)</text>
</g>
<rect x="856.5" y="210.5" pointer-events="all" class="st1" width="130" height="40"/>
<g transform="translate(-0.5 -0.5)">
<text transform="matrix(1 0 0 1 858.5 237.5)" class="st13 st3 st18">Standalone</text>
</g>
<rect x="856.5" y="256.5" pointer-events="all" class="st1" width="135" height="40"/>
<g transform="translate(-0.5 -0.5)">
<text transform="matrix(1 0 0 1 858.5 283.5)" class="st13 st3 st18">Yarn</text>
</g>
<g transform="translate(-0.5 -0.5)">
<text transform="matrix(1 0 0 1 1171 377.5)" class="st13 st3 st18">Zookeeper HA</text>
</g>
<rect x="1062" y="1192.8" pointer-events="all" class="st1" width="135" height="40"/>
<g transform="translate(-0.5 -0.5)">
<text transform="matrix(0.92 0.392 -0.392 0.92 1093.6067 1194.7485)" class="st13 st3 st19">Mesos</text>
</g>
<rect x="380.5" y="640.5" pointer-events="all" class="st1" width="220" height="40"/>
<g transform="translate(-0.5 -0.5)">
<text transform="matrix(1 0 0 1 371 659.9396)" class="st15"><tspan x="0" y="0" class="st13 st3 st18">Kubernetes-based HA</tspan><tspan x="0" y="30" class="st13 st3 st18">(ZK-alternative)</tspan></text>
</g>
<rect x="856.5" y="301.5" pointer-events="all" class="st1" width="220" height="40"/>
<g transform="translate(-0.5 -0.5)">
<text transform="matrix(1 0 0 1 858.5 328.5)" class="st11 st3 st17">Heap/FS State Back.</text>
</g>
<rect x="850.5" y="350.5" pointer-events="all" class="st1" width="305" height="40"/>
<g transform="translate(-0.5 -0.5)">
<text transform="matrix(1 0 0 1 858.75 381.1953)" class="st11 st3 st17">RocksDB/FS State Back.</text>
</g>
<rect x="696" y="1222.8" pointer-events="all" class="st1" width="60" height="50"/>
<g transform="translate(-0.5 -0.5)">
<text transform="matrix(0.9409 0.3387 -0.3387 0.9409 712.0695 1219.0122)" class="st12 st3 st17">Gelly</text>
</g>
<rect x="1044" y="240.5" pointer-events="all" class="st1" width="70" height="40"/>
<g transform="translate(-0.5 -0.5)">
<text transform="matrix(1 0 0 1 1171 189.5)" class="st12 st3 st17">CEP</text>
</g>
<rect x="50.5" y="680.5" pointer-events="all" class="st1" width="190" height="40"/>
<g transform="translate(-0.5 -0.5)">
<text transform="matrix(1 0 0 1 17.7056 708.66)" class="st12 st3 st17">机器学习类库 </text>
</g>
<rect x="480.5" y="341.5" pointer-events="all" class="st1" width="135" height="40"/>
<g transform="translate(-0.5 -0.5)">
<text transform="matrix(1 0 0 1 430.1448 351)" class="st10 st3 st17">JDBC Sink</text>
</g>
<rect x="190.5" y="470.5" pointer-events="all" class="st1" width="230" height="70"/>
<g transform="translate(-0.5 -0.5)">
<text transform="matrix(1 0 0 1 83.8286 500.9998)" class="st10 st3 st17">流批一体 Source API [支持 Kafka, File]</text>
</g>
<rect x="871.5" y="460.5" pointer-events="all" class="st1" width="187.5" height="40"/>
<g transform="translate(-0.5 -0.5)">
<text transform="matrix(1 0 0 1 857 488.0273)" class="st10 st3 st17">File Source &amp; Sink</text>
</g>
<rect x="1081.5" y="460.5" pointer-events="all" class="st1" width="305" height="40"/>
<g transform="translate(-0.5 -0.5)">
<text transform="matrix(1 0 0 1 1156 488.5547)" class="st10 st3 st17">Kafka Source &amp; Sink</text>
</g>
<rect x="585.5" y="275.5" pointer-events="all" class="st1" width="160" height="40"/>
<g transform="translate(-0.5 -0.5)">
<text transform="matrix(1 0 0 1 586 285.3643)" class="st10 st3 st17">Pulsar Source &amp; Sink</text>
</g>
<rect x="580.5" y="500.5" pointer-events="all" class="st1" width="240" height="40"/>
<g transform="translate(-0.5 -0.5)">
<text transform="matrix(1 0 0 1 580.9999 531)" class="st10 st3 st17">Rabbit MQ Source</text>
</g>
<rect x="525.5" y="400.5" pointer-events="all" class="st1" width="240" height="30"/>
<g transform="translate(-0.5 -0.5)">
<text transform="matrix(1 0 0 1 502.75 416)" class="st10 st3 st17">Kinesis Source &amp; Sink</text>
</g>
<rect x="871.5" y="510.5" pointer-events="all" class="st1" width="190" height="40"/>
<g transform="translate(-0.5 -0.5)">
<text transform="matrix(1 0 0 1 856.9995 541)" class="st10 st3 st17">PubSub Source</text>
</g>
<rect x="190.5" y="590.5" pointer-events="all" class="st1" width="190" height="40"/>
<g transform="translate(-0.5 -0.5)">
<text transform="matrix(1 0 0 1 201 584.6249)" class="st10 st3 st17">NiFi Source</text>
</g>
<rect x="1081.5" y="510.5" pointer-events="all" class="st1" width="220" height="40"/>
<g transform="translate(-0.5 -0.5)">
<text transform="matrix(1 0 0 1 1158.04 537.5)" class="st10 st3 st17">Elastic Search Sink</text>
</g>
<rect x="1081.5" y="560.5" pointer-events="all" class="st1" width="220" height="40"/>
<g transform="translate(-0.5 -0.5)">
<text transform="matrix(1 0 0 1 1160.0801 587.7158)" class="st10 st3 st17">Cassandra Sink</text>
</g>
<rect x="861.5" y="560.5" pointer-events="all" class="st1" width="220" height="40"/>
<g transform="translate(-0.5 -0.5)">
<text transform="matrix(1 0 0 1 857.5996 587.9316)" class="st10 st3 st17">HBase Sink</text>
</g>
<rect x="633" y="330.5" pointer-events="all" class="st1" width="135" height="40"/>
<g transform="translate(-0.5 -0.5)">
<text transform="matrix(1 0 0 1 616.5 351.2158)" class="st10 st3 st17">Hive Catalog</text>
</g>
<rect x="390.5" y="251.5" pointer-events="all" class="st1" width="160" height="60"/>
<g transform="translate(-0.5 -0.5)">
<text transform="matrix(1 0 0 1 381 281)" class="st15"><tspan x="0" y="0" class="st10 st3 st17">Hive SQL.</tspan><tspan x="0" y="28.8" class="st10 st3 st17">Source &amp; Sink</tspan></text>
</g>
<rect x="200.5" y="390.5" pointer-events="all" class="st1" width="190" height="70"/>
<g transform="translate(-0.5 -0.5)">
<text transform="matrix(1 0 0 1 43.0991 449.1187)" class="st10 st3 st17">流批一体 Sink API [支持 FileSink]</text>
</g>
<g transform="translate(-0.5 -0.5)">
<text transform="matrix(1 0 0 1 16.9805 270.6396)" class="st8 st3 st17">Python Table API</text>
</g>
<rect x="248" y="730.5" pointer-events="all" class="st1" width="250" height="40"/>
<g transform="translate(-0.5 -0.5)">
<text transform="matrix(1 0 0 1 281.5 791)" class="st8 st3 st17">Python DataStream API</text>
</g>
<rect x="1201.5" y="610.5" pointer-events="all" class="st1" width="180" height="40"/>
<g transform="translate(-0.5 -0.5)">
<text transform="matrix(1 0 0 1 857 695)" class="st10 st3 st17">S3 FileSystem</text>
</g>
<rect x="1075.5" y="674.5" pointer-events="all" class="st1" width="180" height="40"/>
<g transform="translate(-0.5 -0.5)">
<text transform="matrix(1 0 0 1 1161.1123 684.5889)" class="st10 st3 st17">GCS FileSystem</text>
</g>
<rect x="856.5" y="610.5" pointer-events="all" class="st1" width="180" height="40"/>
<g transform="translate(-0.5 -0.5)">
<text transform="matrix(1 0 0 1 858.5 637.5)" class="st10 st3 st17">Local/NFS FileSystem</text>
</g>
<rect x="1006.5" y="610.5" pointer-events="all" class="st1" width="180" height="40"/>
<g transform="translate(-0.5 -0.5)">
<text transform="matrix(1 0 0 1 1160.0801 629.8887)" class="st10 st3 st17">HDFS FileSystem</text>
</g>
<rect x="660.5" y="640.5" pointer-events="all" class="st1" width="130" height="40"/>
<g transform="translate(-0.5 -0.5)">
<text transform="matrix(1 0 0 1 676.0044 642.1797)" class="st15"><tspan x="0" y="0" class="st10 st3 st17">Azure Blob</tspan><tspan x="0" y="28.8" class="st10 st3 st17">FileSystem</tspan></text>
</g>
<rect x="633" y="555.5" pointer-events="all" class="st1" width="180" height="50"/>
<g transform="translate(-0.5 -0.5)">
<text transform="matrix(1 0 0 1 633.5 570.5801)" class="st15"><tspan x="0" y="0" class="st10 st3 st17">AliCloud OSS </tspan><tspan x="0" y="28.8" class="st10 st3 st17">FileSystem</tspan></text>
</g>
<path pointer-events="stroke" class="st20" d="M188,790.5c135-260,523.6-390,1165.7-390"/>
<path pointer-events="all" class="st21" d="M1360.4,400.5l-9,4.5l2.2-4.5l-2.2-4.5L1360.4,400.5z"/>
<path pointer-events="stroke" class="st20" d="M176,1122.8c543.3-13.3,911.4,95.7,1104.2,327.1"/>
<path pointer-events="all" class="st21" d="M1284.6,1455l-9.2-4l4.9-1.2l2-4.6L1284.6,1455z"/>
<rect x="445.5" y="580.5" pointer-events="all" class="st1" width="90" height="40"/>
<g transform="translate(-0.5 -0.5)">
<text transform="matrix(1 0 0 1 446 611)" class="st9 st3 st17">SQL CLI</text>
</g>
<path pointer-events="stroke" class="st5" d="M711.6,816.7L20.5,580.5"/>
<rect x="10.5" y="0.5" pointer-events="all" class="st1" width="540" height="90"/>
<g transform="translate(-0.5 -0.5)">
<text transform="matrix(1 0 0 1 11.5 46)" class="st2 st3 st22">新的 / 稳定 的功能</text>
</g>
<rect x="11" y="932.8" pointer-events="all" class="st1" width="540" height="90"/>
<g transform="translate(-0.5 -0.5)">
<text transform="matrix(1 0 0 1 17.7056 926.8354)" class="st2 st3 st22">逐步淘汰的功能</text>
</g>
<rect x="26.5" y="340.5" pointer-events="all" class="st1" width="274" height="60"/>
<g transform="translate(-0.5 -0.5)">
<text transform="matrix(1 0 0 1 16.9805 371)" class="st15"><tspan x="0" y="0" class="st10 st3 st17">CDC &amp; connectors</tspan></text>
</g>
</g>
<a xlink:href="https://www.diagrams.net/doc/faq/svg-export-text-problems" transform="translate(0,-5)">
<text transform="matrix(1 0 0 1 649.6006 1611.5)" class="st23 st24">Viewer does not support full SVG 1.1</text>
</a>
</svg>