{"id":4977,"date":"2020-09-23T23:26:30","date_gmt":"2020-09-23T15:26:30","guid":{"rendered":"https:\/\/ixyzero.com\/blog\/?p=4977"},"modified":"2020-09-23T23:26:30","modified_gmt":"2020-09-23T15:26:30","slug":"readclickhouse%e5%8e%9f%e7%90%86%e8%a7%a3%e6%9e%90%e4%b8%8e%e5%ba%94%e7%94%a8%e5%ae%9e%e8%b7%b5","status":"publish","type":"post","link":"https:\/\/ixyzero.com\/blog\/archives\/4977.html","title":{"rendered":"[read]ClickHouse\u539f\u7406\u89e3\u6790\u4e0e\u5e94\u7528\u5b9e\u8df5"},"content":{"rendered":"\n<p>=Start=<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">\u7f18\u7531\uff1a<\/h4>\n\n\n\n<p>\u4e4b\u524d\u603b\u662f\u7528Hive\/Presto\u505a\u79bb\u7ebf\u5206\u6790\uff0c\u73b0\u5728\u8981\u7528ClickHouse\u4e86\uff0c\u4e4b\u524d\u53ea\u662f\u542c\u8bf4\u8fc7\u4f46\u6ca1\u7528\u8fc7\uff0c\u4e0d\u592a\u61c2\uff0c\u6240\u4ee5\u4e70\u672c\u4e66\u6765\u4e86\u89e3\u5b66\u4e60\u4e00\u4e0b\u3002<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">\u6b63\u6587\uff1a<\/h4>\n\n\n\n<h5 class=\"wp-block-heading\">\u53c2\u8003\u89e3\u7b54\uff1a<\/h5>\n\n\n\n<p>\u63a8\u8350\u5e8f\u4e00 &lt;*><br>\u63a8\u8350\u5e8f\u4e8c<br>\u63a8\u8350\u5e8f\u4e09<br>\u63a8\u8350\u5e8f\u56db<br>\u63a8\u8350\u5e8f\u4e94<br>\u8d5e\u8a89<br>\u524d\u8a00 &lt;*><\/p>\n\n\n\n<h5 class=\"wp-block-heading\">\u7b2c1\u7ae0\u3000ClickHouse\u7684\u524d\u4e16\u4eca\u751f &lt;*&gt;<\/h5>\n\n\n\n<p><span style=\"color:#a30000\" class=\"has-inline-color\">1.1\u3000\u4f20\u7edfBI\u7cfb\u7edf\u4e4b\u6b87<br>1.2\u3000\u73b0\u4ee3BI\u7cfb\u7edf\u7684\u65b0\u601d\u6f6e<br><\/span><strong>1.3\u3000OLAP\u5e38\u89c1\u67b6\u6784\u5206\u7c7b<br>1.4\u3000OLAP\u5b9e\u73b0\u6280\u672f\u7684\u6f14\u8fdb<br><\/strong>1.5\u3000\u4e00\u5339\u6a2a\u7a7a\u51fa\u4e16\u7684\u9ed1\u9a6c<br><strong><span style=\"color:#a30000\" class=\"has-inline-color\">1.5.1\u3000\u5929\u4e0b\u6b66\u529f\u552f\u5feb\u4e0d\u7834<br><\/span><\/strong>1.5.2\u3000\u793e\u533a\u6d3b\u8dc3<br>1.6\u3000ClickHouse\u7684\u53d1\u5c55\u5386\u7a0b<br>1.6.1\u3000\u987a\u7406\u6210\u7ae0\u7684MySQL\u65f6\u671f<br>1.6.2\u3000\u53e6\u8f9f\u8e4a\u5f84\u7684Metrage\u65f6\u671f<br>1.6.3\u3000\u81ea\u6211\u7a81\u7834\u7684OLAPServer\u65f6\u671f<br>1.6.4\u3000\u6c34\u5230\u6e20\u6210\u7684ClickHouse\u65f6\u4ee3<br>1.7\u3000ClickHouse\u7684\u540d\u79f0\u542b\u4e49<br><span style=\"color:#a30000\" class=\"has-inline-color\">1.8\u3000ClickHouse\u9002\u7528\u7684\u573a\u666f<br>1.9\u3000ClickHouse\u4e0d\u9002\u7528\u7684\u573a\u666f<br><\/span>1.10\u3000\u6709\u8c01\u5728\u4f7f\u7528ClickHouse<br>1.11\u3000\u672c\u7ae0\u5c0f\u7ed3<\/p>\n\n\n\n<h5 class=\"wp-block-heading\">\u7b2c2\u7ae0\u3000ClickHouse\u67b6\u6784\u6982\u8ff0 &lt;*&gt;<\/h5>\n\n\n\n<p>2.1\u3000ClickHouse\u7684\u6838\u5fc3\u7279\u6027<br>2.1.1\u3000\u5b8c\u5907\u7684DBMS\u529f\u80fd<br><span style=\"color:#a30000\" class=\"has-inline-color\">2.1.2\u3000\u5217\u5f0f\u5b58\u50a8\u4e0e\u6570\u636e\u538b\u7f29<br>2.1.3\u3000\u5411\u91cf\u5316\u6267\u884c\u5f15\u64ce<br><\/span>2.1.4\u3000\u5173\u7cfb\u6a21\u578b\u4e0eSQL\u67e5\u8be2<br>2.1.5\u3000\u591a\u6837\u5316\u7684\u8868\u5f15\u64ce<br>2.1.6\u3000\u591a\u7ebf\u7a0b\u4e0e\u5206\u5e03\u5f0f<br>2.1.7\u3000\u591a\u4e3b\u67b6\u6784<br>2.1.8\u3000\u5728\u7ebf\u67e5\u8be2<br>2.1.9\u3000\u6570\u636e\u5206\u7247\u4e0e\u5206\u5e03\u5f0f\u67e5\u8be2<br>2.2\u3000ClickHouse\u7684\u67b6\u6784\u8bbe\u8ba1<br>2.2.1\u3000Column\u4e0eField<br>2.2.2\u3000DataType<br>2.2.3\u3000Block\u4e0eBlock\u6d41<br>2.2.4\u3000Table<br>2.2.5\u3000Parser\u4e0eInterpreter<br>2.2.6\u3000Functions \u4e0eAggregate Functions<br>2.2.7\u3000Cluster\u4e0eReplication<br><span style=\"color:#a30000\" class=\"has-inline-color\"><strong>2.3\u3000ClickHouse\u4e3a\u4f55\u5982\u6b64\u4e4b\u5feb<br><\/strong>2.3.1\u3000\u7740\u773c\u786c\u4ef6\uff0c\u5148\u60f3\u540e\u505a<br>2.3.2\u3000\u7b97\u6cd5\u5728\u524d\uff0c\u62bd\u8c61\u5728\u540e<br>2.3.3\u3000\u52c7\u4e8e\u5c1d\u9c9c\uff0c\u4e0d\u884c\u5c31\u6362<br>2.3.4\u3000\u7279\u5b9a\u573a\u666f\uff0c\u7279\u6b8a\u4f18\u5316<br>2.3.5\u3000\u6301\u7eed\u6d4b\u8bd5\uff0c\u6301\u7eed\u6539\u8fdb<\/span><br>2.4\u3000\u672c\u7ae0\u5c0f\u7ed3<\/p>\n\n\n\n<h5 class=\"wp-block-heading\">\u7b2c3\u7ae0\u3000\u5b89\u88c5\u4e0e\u90e8\u7f72<\/h5>\n\n\n\n<p>3.1\u3000ClickHouse\u7684\u5b89\u88c5\u8fc7\u7a0b<br>3.1.1\u3000\u73af\u5883\u51c6\u5907<br>3.1.2\u3000\u5b89\u88c5ClickHouse<br>3.2\u3000\u5ba2\u6237\u7aef\u7684\u8bbf\u95ee\u63a5\u53e3<br>3.2.1\u3000CLI<br>3.2.2\u3000JDBC<br>3.3\u3000\u5185\u7f6e\u7684\u5b9e\u7528\u5de5\u5177<br>3.3.1\u3000clickhouse-local<br>3.3.2\u3000clickhouse-benchmark<br>3.4\u3000\u672c\u7ae0\u5c0f\u7ed3<\/p>\n\n\n\n<h5 class=\"wp-block-heading\">\u7b2c4\u7ae0\u3000\u6570\u636e\u5b9a\u4e49<\/h5>\n\n\n\n<p>4.1\u3000ClickHouse\u7684\u6570\u636e\u7c7b\u578b<br>4.1.1\u3000\u57fa\u7840\u7c7b\u578b<br>4.1.2\u3000\u590d\u5408\u7c7b\u578b<br>4.1.3\u3000\u7279\u6b8a\u7c7b\u578b<br>4.2\u3000\u5982\u4f55\u5b9a\u4e49\u6570\u636e\u8868<br>4.2.1\u3000\u6570\u636e\u5e93<br>4.2.2\u3000\u6570\u636e\u8868<br>4.2.3\u3000\u9ed8\u8ba4\u503c\u8868\u8fbe\u5f0f<br>4.2.4\u3000\u4e34\u65f6\u8868<br>4.2.5\u3000\u5206\u533a\u8868<br>4.2.6\u3000\u89c6\u56fe<br>4.3\u3000\u6570\u636e\u8868\u7684\u57fa\u672c\u64cd\u4f5c<br>4.3.1\u3000\u8ffd\u52a0\u65b0\u5b57\u6bb5<br>4.3.2\u3000\u4fee\u6539\u6570\u636e\u7c7b\u578b<br>4.3.3\u3000\u4fee\u6539\u5907\u6ce8<br>4.3.4\u3000\u5220\u9664\u5df2\u6709\u5b57\u6bb5<br>4.3.5\u3000\u79fb\u52a8\u6570\u636e\u8868<br>4.3.6\u3000\u6e05\u7a7a\u6570\u636e\u8868<br>4.4\u3000\u6570\u636e\u5206\u533a\u7684\u57fa\u672c\u64cd\u4f5c<br>4.4.1\u3000\u67e5\u8be2\u5206\u533a\u4fe1\u606f<br>4.4.2\u3000\u5220\u9664\u6307\u5b9a\u5206\u533a<br>4.4.3\u3000\u590d\u5236\u5206\u533a\u6570\u636e<br>4.4.4\u3000\u91cd\u7f6e\u5206\u533a\u6570\u636e<br>4.4.5\u3000\u5378\u8f7d\u4e0e\u88c5\u8f7d\u5206\u533a<br>4.4.6\u3000\u5907\u4efd\u4e0e\u8fd8\u539f\u5206\u533a<br>4.5\u3000\u5206\u5e03\u5f0fDDL\u6267\u884c<br>4.6\u3000\u6570\u636e\u7684\u5199\u5165<br>4.7\u3000\u6570\u636e\u7684\u5220\u9664\u4e0e\u4fee\u6539<br>4.8\u3000\u672c\u7ae0\u5c0f\u7ed3<\/p>\n\n\n\n<h5 class=\"wp-block-heading\">\u7b2c5\u7ae0\u3000\u6570\u636e\u5b57\u5178<\/h5>\n\n\n\n<p>5.1\u3000\u5185\u7f6e\u5b57\u5178<br>5.1.1\u3000\u5185\u7f6e\u5b57\u5178\u914d\u7f6e\u8bf4\u660e<br>5.1.2\u3000\u4f7f\u7528\u5185\u7f6e\u5b57\u5178<br>5.2\u3000\u5916\u90e8\u6269\u5c55\u5b57\u5178<br>5.2.1\u3000\u51c6\u5907\u5b57\u5178\u6570\u636e<br>5.2.2\u3000\u6269\u5c55\u5b57\u5178\u914d\u7f6e\u6587\u4ef6\u7684\u5143\u7d20\u7ec4\u6210<br>5.2.3\u3000\u6269\u5c55\u5b57\u5178\u7684\u6570\u636e\u7ed3\u6784<br>5.2.4\u3000\u6269\u5c55\u5b57\u5178\u7684\u7c7b\u578b<br>5.2.5\u3000\u6269\u5c55\u5b57\u5178\u7684\u6570\u636e\u6e90<br>5.2.6\u3000\u6269\u5c55\u5b57\u5178\u7684\u6570\u636e\u66f4\u65b0\u7b56\u7565<br>5.2.7\u3000\u6269\u5c55\u5b57\u5178\u7684\u57fa\u672c\u64cd\u4f5c<br>5.3\u3000\u672c\u7ae0\u5c0f\u7ed3<\/p>\n\n\n\n<h5 class=\"wp-block-heading\">\u7b2c6\u7ae0\u3000MergeTree\u539f\u7406\u89e3\u6790<\/h5>\n\n\n\n<p>6.1\u3000MergeTree\u7684\u521b\u5efa\u65b9\u5f0f\u4e0e\u5b58\u50a8\u7ed3\u6784<br>6.1.1\u3000MergeTree\u7684\u521b\u5efa\u65b9\u5f0f<br>6.1.2\u3000MergeTree\u7684\u5b58\u50a8\u7ed3\u6784<br>6.2\u3000\u6570\u636e\u5206\u533a<br>6.2.1\u3000\u6570\u636e\u7684\u5206\u533a\u89c4\u5219<br>6.2.2\u3000\u5206\u533a\u76ee\u5f55\u7684\u547d\u540d\u89c4\u5219<br>6.2.3\u3000\u5206\u533a\u76ee\u5f55\u7684\u5408\u5e76\u8fc7\u7a0b<br>6.3\u3000\u4e00\u7ea7\u7d22\u5f15<br>6.3.1\u3000\u7a00\u758f\u7d22\u5f15<br>6.3.2\u3000\u7d22\u5f15\u7c92\u5ea6<br>6.3.3\u3000\u7d22\u5f15\u6570\u636e\u7684\u751f\u6210\u89c4\u5219<br>6.3.4\u3000\u7d22\u5f15\u7684\u67e5\u8be2\u8fc7\u7a0b<br>6.4\u3000\u4e8c\u7ea7\u7d22\u5f15<br>6.4.1\u3000granularity\u4e0eindex_granularity\u7684\u5173\u7cfb<br>6.4.2\u3000\u8df3\u6570\u7d22\u5f15\u7684\u7c7b\u578b<br>6.5\u3000\u6570\u636e\u5b58\u50a8<br>6.5.1\u3000\u5404\u5217\u72ec\u7acb\u5b58\u50a8<br>6.5.2\u3000\u538b\u7f29\u6570\u636e\u5757<br>6.6\u3000\u6570\u636e\u6807\u8bb0<br>6.6.1\u3000\u6570\u636e\u6807\u8bb0\u7684\u751f\u6210\u89c4\u5219<br>6.6.2\u3000\u6570\u636e\u6807\u8bb0\u7684\u5de5\u4f5c\u65b9\u5f0f<br>6.7\u3000\u5bf9\u4e8e\u5206\u533a\u3001\u7d22\u5f15\u3001\u6807\u8bb0\u548c\u538b\u7f29\u6570\u636e\u7684\u534f\u540c\u603b\u7ed3<br>6.7.1\u3000\u5199\u5165\u8fc7\u7a0b<br>6.7.2\u3000\u67e5\u8be2\u8fc7\u7a0b<br>6.7.3\u3000\u6570\u636e\u6807\u8bb0\u4e0e\u538b\u7f29\u6570\u636e\u5757\u7684\u5bf9\u5e94\u5173\u7cfb<br>6.8\u3000\u672c\u7ae0\u5c0f\u7ed3<\/p>\n\n\n\n<h5 class=\"wp-block-heading\">\u7b2c7\u7ae0\u3000MergeTree\u7cfb\u5217\u8868\u5f15\u64ce<\/h5>\n\n\n\n<p>7.1\u3000MergeTree<br>7.1.1\u3000\u6570\u636eTTL<br>7.1.2\u3000\u591a\u8def\u5f84\u5b58\u50a8\u7b56\u7565<br>7.2\u3000ReplacingMergeTree<br>7.3\u3000SummingMergeTree<br>7.4\u3000AggregatingMergeTree<br>7.5\u3000CollapsingMergeTree<br>7.6\u3000VersionedCollapsingMergeTree<br>7.7\u3000\u5404\u79cdMergeTree\u4e4b\u95f4\u7684\u5173\u7cfb\u603b\u7ed3<br>7.7.1\u3000\u7ee7\u627f\u5173\u7cfb<br>7.7.2\u3000\u7ec4\u5408\u5173\u7cfb<br>7.8\u3000\u672c\u7ae0\u5c0f\u7ed3<\/p>\n\n\n\n<h5 class=\"wp-block-heading\">\u7b2c8\u7ae0\u3000\u5176\u4ed6\u5e38\u89c1\u7c7b\u578b\u8868\u5f15\u64ce<\/h5>\n\n\n\n<p>8.1\u3000\u5916\u90e8\u5b58\u50a8\u7c7b\u578b<br>8.1.1\u3000HDFS<br>8.1.2\u3000MySQL<br>8.1.3\u3000JDBC<br>8.1.4\u3000Kafka<br>8.1.5\u3000File<br>8.2\u3000\u5185\u5b58\u7c7b\u578b<br>8.2.1\u3000Memory<br>8.2.2\u3000Set<br>8.2.3\u3000Join<br>8.2.4\u3000Buffer<br>8.3\u3000\u65e5\u5fd7\u7c7b\u578b<br>8.3.1\u3000TinyLog<br>8.3.2\u3000StripeLog<br>8.3.3\u3000Log<br>8.4\u3000\u63a5\u53e3\u7c7b\u578b<br>8.4.1\u3000Merge<br>8.4.2\u3000Dictionary<br>8.4.3\u3000Distributed<br>8.5\u3000\u5176\u4ed6\u7c7b\u578b<br>8.5.1\u3000Live View<br>8.5.2\u3000Null<br>8.5.3\u3000URL<br>8.6\u3000\u672c\u7ae0\u5c0f\u7ed3<\/p>\n\n\n\n<h5 class=\"wp-block-heading\">\u7b2c9\u7ae0\u3000\u6570\u636e\u67e5\u8be2 &lt;*&gt;<\/h5>\n\n\n\n<p>9.1\u3000WITH\u5b50\u53e5<br>9.2\u3000FROM\u5b50\u53e5<br>9.3\u3000SAMPLE\u5b50\u53e5<br>9.4\u3000ARRAY JOIN\u5b50\u53e5<br>9.5\u3000JOIN\u5b50\u53e5<br>9.5.1\u3000\u8fde\u63a5\u7cbe\u5ea6<br>9.5.2\u3000\u8fde\u63a5\u7c7b\u578b<br>9.5.3\u3000\u591a\u8868\u8fde\u63a5<br>9.5.4\u3000\u6ce8\u610f\u4e8b\u9879<br>9.6\u3000WHERE\u4e0ePREWHERE\u5b50\u53e5<br>9.7\u3000GROUP BY\u5b50\u53e5<br>9.7.1\u3000WITH ROLLUP<br>9.7.2\u3000WITH CUBE<br>9.7.3\u3000WITH TOTALS<br>9.8\u3000HAVING\u5b50\u53e5<br>9.9\u3000ORDER BY\u5b50\u53e5<br>9.10\u3000LIMIT BY\u5b50\u53e5<br>9.11\u3000LIMIT\u5b50\u53e5<br>9.12\u3000SELECT\u5b50\u53e5<br>9.13\u3000DISTINCT\u5b50\u53e5<br>9.14\u3000UNION ALL\u5b50\u53e5<br>9.15\u3000\u67e5\u770bSQL\u6267\u884c\u8ba1\u5212<br>9.16\u3000\u672c\u7ae0\u5c0f\u7ed3<\/p>\n\n\n\n<h5 class=\"wp-block-heading\">\u7b2c10\u7ae0\u3000\u526f\u672c\u4e0e\u5206\u7247<\/h5>\n\n\n\n<p>10.1\u3000\u6982\u8ff0<br>10.2\u3000\u6570\u636e\u526f\u672c<br>10.2.1\u3000\u526f\u672c\u7684\u7279\u70b9<br>10.2.2\u3000ZooKeeper\u7684\u914d\u7f6e\u65b9\u5f0f<br>10.2.3\u3000\u526f\u672c\u7684\u5b9a\u4e49\u5f62\u5f0f<br>10.3\u3000ReplicatedMergeTree\u539f\u7406\u89e3\u6790<br>10.3.1\u3000\u6570\u636e\u7ed3\u6784<br>10.3.2\u3000\u526f\u672c\u534f\u540c\u7684\u6838\u5fc3\u6d41\u7a0b<br>10.4\u3000\u6570\u636e\u5206\u7247<br>10.4.1\u3000\u96c6\u7fa4\u7684\u914d\u7f6e\u65b9\u5f0f<br>10.4.2\u3000\u57fa\u4e8e\u96c6\u7fa4\u5b9e\u73b0\u5206\u5e03\u5f0fDDL<br>10.5\u3000Distributed\u539f\u7406\u89e3\u6790<br>10.5.1\u3000\u5b9a\u4e49\u5f62\u5f0f<br>10.5.2\u3000\u67e5\u8be2\u7684\u5206\u7c7b<br>10.5.3\u3000\u5206\u7247\u89c4\u5219<br>10.5.4\u3000\u5206\u5e03\u5f0f\u5199\u5165\u7684\u6838\u5fc3\u6d41\u7a0b<br>10.5.5\u3000\u5206\u5e03\u5f0f\u67e5\u8be2\u7684\u6838\u5fc3\u6d41\u7a0b<br>10.6\u3000\u672c\u7ae0\u5c0f\u7ed3<\/p>\n\n\n\n<h5 class=\"wp-block-heading\">\u7b2c11\u7ae0\u3000\u7ba1\u7406\u4e0e\u8fd0\u7ef4<\/h5>\n\n\n\n<p>11.1\u3000\u7528\u6237\u914d\u7f6e<br>11.1.1\u3000\u7528\u6237profile<br>11.1.2\u3000\u914d\u7f6e\u7ea6\u675f<br>11.1.3\u3000\u7528\u6237\u5b9a\u4e49<br>11.2\u3000\u6743\u9650\u7ba1\u7406<br>11.2.1\u3000\u8bbf\u95ee\u6743\u9650<br>11.2.2\u3000\u67e5\u8be2\u6743\u9650<br>11.2.3\u3000\u6570\u636e\u884c\u7ea7\u6743\u9650<br>11.3\u3000\u7194\u65ad\u673a\u5236<br>11.4\u3000\u6570\u636e\u5907\u4efd<br>11.4.1\u3000\u5bfc\u51fa\u6587\u4ef6\u5907\u4efd<br>11.4.2\u3000\u901a\u8fc7\u5feb\u7167\u8868\u5907\u4efd<br>11.4.3\u3000\u6309\u5206\u533a\u5907\u4efd<br>11.5\u3000\u670d\u52a1\u76d1\u63a7<br>11.5.1\u3000\u7cfb\u7edf\u8868<br>11.5.2\u3000\u67e5\u8be2\u65e5\u5fd7<br>11.6\u3000\u672c\u7ae0\u5c0f\u7ed3<\/p>\n\n\n\n<hr class=\"wp-block-separator\"\/>\n\n\n\n<h6 class=\"wp-block-heading\">\u63a8\u8350\u5e8f\u4e00<\/h6>\n\n\n\n<p>We released ClickHouse in open-source in 2016, four years ago. And as far as I know, this book is going to be the first published book on ClickHouse. Why do I appreciate that so much? When we released ClickHouse, we had only one goal in mind, to give people the fastest analytical DBMS in the world. But now, after a few years, I see many more opportunities. We can make ClickHouse an example of the most community and developers friendly open-source product.<\/p>\n\n\n\n<p>According to Eric S. Raymond, there are two models of software development\uff1athe \u201cCathedral\u201d and the \u201cBazaar\u201d model. In the first model, the software is developed by a closed team of a few developers who \u201cdo the right thing\u201d. An example of the \u201cCathedral\u201d model is SQLite that is developed mostly by a single person\u2014Richard Hipp. In contrast, the \u201cBazaar\u201d model is trying to benefit by invitation of as many independent developers as possible. An example of the \u201cBazaar\u201d model is the Linux kernel. For ClickHouse, we practice the \u201cBazaar\u201d model. But this model requires many efforts in building the community. These efforts are summarized in the following 8 points.<\/p>\n\n\n\n<p>According to Eric S. Raymond, there are two models of software development\uff1athe \u201cCathedral\u201d and the \u201cBazaar\u201d model. In the first model, the software is developed by a closed team of a few developers who \u201cdo the right thing\u201d. An example of the \u201cCathedral\u201d model is SQLite that is developed mostly by a single person\u2014Richard Hipp. In contrast, the \u201cBazaar\u201d model is trying to benefit by invitation of as many independent developers as possible. An example of the \u201cBazaar\u201d model is the Linux kernel. For ClickHouse, we practice the \u201cBazaar\u201d model. But this model requires many efforts in building the community. These efforts are summarized in the following 8 points.<\/p>\n\n\n\n<p>\uff081\uff09The development process must be as open as possible, no secrets should be kept; we should do everything in public.<\/p>\n\n\n\n<p>\uff082\uff09The codebase must be well documented and understandable even for amateur developers. And amateur developers should be able to learn good practices from ClickHouse.<\/p>\n\n\n\n<p>\uff083\uff09We should be eager to try experimental algorithms and libraries, to be on edge and invite more enthusiastic people. As an example, today is 2020, so we are using C++20 language standard.<\/p>\n\n\n\n<p>\uff084\uff09We should move fast. Try 10 algorithms, throw off 9 of 10, and keep moving forward.<\/p>\n\n\n\n<p>\uff085\uff09To keep the codebase sane, we should define high-quality standards. And enforce these standards by automated tools in a continuous integration process, not by arguing with people.<\/p>\n\n\n\n<p>\uff086\uff09We should maintain a high accept rate of contributions. Even if a contribution is not ready, we should actively help each other. Even if the code is wrong, we keep the idea and make it right. Contributors should feel their efforts well received, and they should be proud of their contributions.<\/p>\n\n\n\n<p>\uff086\uff09We should maintain a high accept rate of contributions. Even if a contribution is not ready, we should actively help each other. Even if the code is wrong, we keep the idea and make it right. Contributors should feel their efforts well received, and they should be proud of their contributions.<\/p>\n\n\n\n<p>\uff087\uff09 ClickHouse is for everyone. You can make a product on top of ClickHouse, and use it in your company, and we will welcome it. We love our users, and we are interested in ClickHouse widespread in any possible way.<\/p>\n\n\n\n<p>\uff088\uff09We need to provide good tutorials and educational materials for potential contributors. I hope that this book helps people to understand ClickHouse architecture.<\/p>\n\n\n\n<p>The Cathedral model is easier to manage, but the Bazaar model definitely gives more fun!<\/p>\n\n\n\n<p>We can make ClickHouse the best educational and research product in the area of database engineering.<\/p>\n\n\n\n<p>If you look at the architectural details of ClickHouse, you will find that most of them are nothing new. Most of them are already well researched and implemented in some other systems. What&#8217;s unique in ClickHouse is the combination of these choices, how well they are integrated together, and the attention to implementation details. There are multiple books on computer science, on managing data, and so on. But you will not find many that describe the internals, the guts, and low-level details that differentiate one system from another. ClickHouse can be considered as a collection of good choices in implementation and also as a playground for experiments. And I hope that this book will guide you through these details.<\/p>\n\n\n\n<p>If you look at the architectural details of ClickHouse, you will find that most of them are nothing new. Most of them are already well researched and implemented in some other systems. What&#8217;s unique in ClickHouse is the combination of these choices, how well they are integrated together, and the attention to implementation details. There are multiple books on computer science, on managing data, and so on. But you will not find many that describe the internals, the guts, and low-level details that differentiate one system from another. ClickHouse can be considered as a collection of good choices in implementation and also as a playground for experiments. And I hope that this book will guide you through these details.<\/p>\n\n\n\n<p>ClickHouse should become a standard of good usability among database management systems.<\/p>\n\n\n\n<p>A database management system is not an easy product to develop. And people get used to that it is neither easy to work with. Distributed systems are even harder. Working with a typical distributed system is a painful experience from the start. But we can try to break this stereotype. At least we can eliminate typical obstacles. ClickHouse is easy to set up and run, so you can start working in minutes. But what about further details like data replication, distributed set up, choosing of table engines, and indexes? Couldn&#8217;t they be so simple too? Probably not. But at least they can be understandable. This book covers these details, and you will understand what is under the hood of ClickHouse.<\/p>\n\n\n\n<p>Alexey Milovidov<br>Head of ClickHouse Development Team at Yandex<\/p>\n\n\n\n<hr class=\"wp-block-separator\"\/>\n\n\n\n<h6 class=\"wp-block-heading\">\u63a8\u8350\u5e8f\u4e00\uff08\u8bd1\u6587\uff09<\/h6>\n\n\n\n<p>\u6211\u4eec\u57282016\u5e74\u53d1\u5e03\u4e86ClickHouse\u7684\u5f00\u6e90\u7248\u672c\u3002\u636e\u6211\u6240\u77e5\uff0c\u8fd9\u672c\u4e66\u5c06\u662f\u5173\u4e8eClickHouse\u7684\u7b2c\u4e00\u672c\u6b63\u5f0f\u51fa\u7248\u7684\u56fe\u4e66\uff0c\u5bf9\u6b64\u6211\u975e\u5e38\u6fc0\u52a8\u3002\u56e0\u4e3a\u5f53\u6211\u4eec\u53d1\u5e03ClickHouse\u7684\u65f6\u5019\uff0c\u5fc3\u4e2d\u53ea\u6709\u4e00\u4e2a\u76ee\u6807\uff0c\u5373\u5411\u4eba\u4eec\u63d0\u4f9b\u4e16\u754c\u4e0a\u6700\u5feb\u7684\u5206\u6790\u578b\u6570\u636e\u5e93\u3002\u800c\u73b0\u5728\uff0c\u6211\u770b\u5230\u4e86\u66f4\u591a\u7684\u53ef\u80fd\u6027\u3002\u6211\u4eec\u53ef\u4ee5\u628aClickHouse\u6253\u9020\u6210\u9762\u5411\u793e\u533a\u4e0e\u5f00\u53d1\u8005\u7684\u6700\u53cb\u597d\u7684\u5f00\u6e90\u4ea7\u54c1\u3002<\/p>\n\n\n\n<p><strong>\u6839\u636eEric S.Raymond\u7684\u7406\u8bba\uff0c\u76ee\u524d\u4e3b\u8981\u6709\u4e24\u79cd\u8f6f\u4ef6\u5f00\u53d1\u6a21\u5f0f\u2014\u2014Cathedral\uff08\u5927\u6559\u5802\uff09\u6a21\u5f0f\u4e0eBazaar\uff08\u96c6\u5e02\uff09\u6a21\u5f0f\u3002\u5728Cathedral\u6a21\u5f0f\u4e2d\uff0c\u8f6f\u4ef6\u7531\u4e00\u4e2a\u5c01\u95ed\u7684\u5f00\u53d1\u8005\u5c0f\u7ec4\u8fdb\u884c\u5f00\u53d1\u3002\u4f7f\u7528\u8be5\u6a21\u5f0f\u5f00\u53d1\u7684\u5178\u578b\u4ea7\u54c1\u5c31\u662fSQLite\u6570\u636e\u5e93\uff0c\u5b83\u662f\u7531Richard Hipp\u4e00\u4e2a\u4eba\u5f00\u53d1\u7684\u3002\u800cBazaar\u6a21\u5f0f\u5219\u662f\u9080\u8bf7\u5c3d\u53ef\u80fd\u591a\u7684\u72ec\u7acb\u5f00\u53d1\u8005\u8fdb\u884c\u5f00\u53d1\uff0cLinux\u5185\u6838\u5c31\u662f\u91c7\u7528\u8fd9\u79cd\u6a21\u5f0f\u5f00\u53d1\u51fa\u6765\u7684\u3002<\/strong>\u5bf9ClickHouse\u800c\u8a00\uff0c\u6211\u4eec\u91c7\u7528\u4e86Bazaar\u6a21\u5f0f\u3002\u91c7\u7528Bazaar\u6a21\u5f0f\uff0c\u9700\u8981\u82b1\u8d39\u5f88\u5927\u7684\u7cbe\u529b\u6765\u7ef4\u62a4\u5f00\u53d1\u793e\u533a\u3002<strong>\u5bf9\u4e8e\u5728\u5f00\u53d1ClickHouse\u7684\u8fc7\u7a0b\u4e2d\u91c7\u7528Bazaar\u6a21\u5f0f\uff0c\u6211\u603b\u7ed3\u51fa\u4e86\u4ee5\u4e0b8\u70b9\u7ecf\u9a8c\u3002<\/strong><\/p>\n\n\n\n<p class=\"has-text-color\" style=\"color:#a30000\"><strong>\uff081\uff09\u6574\u4e2a\u5f00\u53d1\u6d41\u7a0b\u5b8c\u5168\u516c\u5f00\u900f\u660e\uff0c\u6ca1\u6709\u4efb\u4f55\u79d8\u5bc6\u3002<\/strong><\/p>\n\n\n\n<p class=\"has-text-color\" style=\"color:#a30000\"><strong>\uff082\uff09\u6709\u5e2e\u52a9\u7406\u89e3\u4ee3\u7801\u7684\u3001\u65b0\u624b\u5f00\u53d1\u8005\u4e5f\u53ef\u770b\u61c2\u7684\u8be6\u7ec6\u6587\u6863\uff0c\u8fd9\u6837\u65b0\u624b\u5f00\u53d1\u8005\u53ef\u4eceClickHouse\u4ee3\u7801\u4e2d\u5b66\u5230\u6709\u4ef7\u503c\u7684\u5b9e\u8df5\u7ecf\u9a8c\u3002<\/strong><\/p>\n\n\n\n<p class=\"has-text-color\" style=\"color:#a30000\"><strong>\uff083\uff09\u4e50\u4e8e\u5c1d\u8bd5\u65b0\u7684\u7b97\u6cd5\u4e0e\u7b2c\u4e09\u65b9\u5e93\uff0c\u4ee5\u4fdd\u6301ClickHouse\u7684\u5148\u8fdb\u6027\uff0c\u4e5f\u53ea\u6709\u8fd9\u6837\u624d\u80fd\u5438\u5f15\u66f4\u591a\u7684\u5f00\u53d1\u70ed\u7231\u8005\u3002\u4f8b\u5982\uff0c\u521a\u521a\u8fdb\u51652020\u5e74\uff0c\u6211\u4eec\u5c31\u5728ClickHouse\u4e2d\u5e94\u7528\u4e86C++20\u6807\u51c6\u3002<\/strong><\/p>\n\n\n\n<p class=\"has-text-color\" style=\"color:#a30000\">\uff084\uff09\u867d\u7136\u9700\u8981\u5feb\u901f\u8fed\u4ee3ClickHouse\uff0c\u4f46\u662f\u6211\u4eec\u4f9d\u7136\u4e0d\u4f1a\u653e\u4f4e\u8981\u6c42\uff0c\u6bd4\u5982\u6211\u4eec\u4e3a\u4e86\u4f7f\u75281\u4e2a\u7b97\u6cd5\uff0c\u5c31\u4f1a\u81f3\u5c11\u5c1d\u8bd510\u4e2a\u7b97\u6cd5\u3002\u800c\u4e14\u5728\u9009\u62e9\u4e86\u67d0\u4e2a\u7b97\u6cd5\u540e\uff0c\u540e\u7eed\u8fd8\u4f1a\u7ee7\u7eed\u5c1d\u8bd5\u5176\u4ed6\u66f4\u591a\u7b97\u6cd5\uff0c\u4ee5\u4fbf\u4e0b\u6b21\u8fed\u4ee3\u65f6\u4f7f\u7528\u3002<\/p>\n\n\n\n<p class=\"has-text-color\" style=\"color:#a30000\"><strong>\uff085\uff09\u4e3a\u4e86\u4fdd\u8bc1\u4ee3\u7801\u7684\u8d28\u91cf\uff0c\u6211\u4eec\u59cb\u7ec8\u5411\u9ad8\u6807\u51c6\u770b\u9f50\uff0c\u5e76\u4f7f\u7528\u5de5\u5177\u6765\u786e\u4fdd\u8fd9\u4e9b\u6807\u51c6\u5f97\u4ee5\u5b9e\u65bd\uff0c\u800c\u4e0d\u662f\u4eba\u4e3a\u5e72\u9884\u3002<\/strong><\/p>\n\n\n\n<p class=\"has-text-color\" style=\"color:#a30000\">\uff086\uff09\u5bf9\u4e8e\u8d21\u732e\u8005\u63d0\u4ea4\u7684\u8865\u4e01\uff0c\u6211\u4eec\u4fdd\u8bc1\u6709\u6bd4\u8f83\u9ad8\u7684\u63a5\u6536\u7387\u3002\u5373\u4f7f\u67d0\u4e2a\u8865\u4e01\u8fd8\u6ca1\u6709\u5b8c\u6210\uff0c\u6211\u4eec\u4e5f\u4f1a\u9002\u5f53\u53c2\u4e0e\uff0c\u4e3a\u8d21\u732e\u8005\u63d0\u4f9b\u5e2e\u52a9\u3002\u82e5\u8865\u4e01\u7684\u4ee3\u7801\u4e2d\u6709\u9519\u8bef\uff0c\u6211\u4eec\u4f1a\u5c1d\u8bd5\u4fee\u590d\u3002\u8fd9\u6837\u8865\u4e01\u7684\u8d21\u732e\u8005\u4f1a\u611f\u53d7\u5230\u4ed6\u4eec\u7684\u52aa\u529b\u83b7\u5f97\u4e86\u8ba4\u53ef\uff0c\u5e76\u56e0\u6b64\u611f\u5230\u81ea\u8c6a\u3002<\/p>\n\n\n\n<p class=\"has-text-color\" style=\"color:#a30000\">\uff087\uff09ClickHouse\u662f\u63d0\u4f9b\u7ed9\u6240\u6709\u4eba\u7684\uff0c\u4f60\u751a\u81f3\u53ef\u4ee5\u7528ClickHouse\u6765\u5b9e\u73b0\u5176\u4ed6\u4ea7\u54c1\uff0c\u4e5f\u53ef\u4ee5\u628a\u5b83\u90e8\u7f72\u5728\u81ea\u5df1\u7684\u516c\u53f8\u3002\u6211\u4eec\u7231\u6211\u4eec\u7684\u7528\u6237\uff0c\u6211\u4eec\u5bf9ClickHouse\u5728\u4efb\u4f55\u573a\u666f\u4e0b\u7684\u5e94\u7528\u90fd\u8868\u793a\u652f\u6301\uff0c\u5e76\u4e14\u6709\u5174\u8da3\u4e86\u89e3\u4f60\u7684\u4f7f\u7528\u60c5\u51b5\u3002<\/p>\n\n\n\n<p><span style=\"color:#a30000\" class=\"has-inline-color\">\uff088\uff09\u6211\u4eec\u5e0c\u671b\u4e3a\u6f5c\u5728\u7684\u8d21\u732e\u8005\u63d0\u4f9b\u9ad8\u8d28\u91cf\u7684\u6559\u7a0b\u548c\u53c2\u8003\u8d44\u6599\u3002<\/span>\u6211\u5f88\u9ad8\u5174\u770b\u5230\u8fd9\u672c\u4e66\u4e0a\u5e02\uff0c\u56e0\u4e3a\u5b83\u80fd\u591f\u5e2e\u52a9\u8bfb\u8005\u7406\u89e3ClickHouse\u7684\u67b6\u6784\u3002<\/p>\n\n\n\n<p>Cathedral\u6a21\u5f0f\u4fbf\u4e8e\u7ba1\u7406\uff0c\u4f46\u662fBazaar\u6a21\u5f0f\u663e\u7136\u66f4\u6709\u610f\u601d\uff01\u6211\u4eec\u53ef\u4ee5\u628aClickHouse\u6253\u9020\u4e3a\u6700\u9002\u5408\u7528\u4e8e\u6570\u636e\u5e93\u6559\u5b66\u4e0e\u7814\u7a76\u7684\u4ea7\u54c1\u3002<strong><span style=\"color:#a30000\" class=\"has-inline-color\">\u5982\u679c\u7ec6\u770bClickHouse\u7684\u67b6\u6784\uff0c\u4f60\u4f1a\u53d1\u73b0\u5176\u4e2d\u6ca1\u6709\u4ec0\u4e48\u65b0\u9896\u7684\u6280\u672f\uff0c\u5176\u4e2d\u4f7f\u7528\u7684\u5927\u90e8\u5206\u6280\u672f\u90fd\u662f\u7ecf\u8fc7\u4e86\u591a\u5e74\u7814\u7a76\u5e76\u5df2\u5728\u5176\u4ed6\u6570\u636e\u5e93\u4e2d\u5b9e\u73b0\u4e86\u7684\u6210\u719f\u6280\u672f\u3002ClickHouse\u72ec\u7279\u7684\u5730\u65b9\u5728\u4e8e\u5176\u9ad8\u6548\u5730\u5c06\u8fd9\u4e9b\u6280\u672f\u7ed3\u5408\u4e86\u8d77\u6765\u5e76\u7075\u6d3b\u5730\u52a0\u4ee5\u8fd0\u7528\uff0c\u5728\u6b64\u8fc7\u7a0b\u4e2d\u6211\u4eec\u5341\u5206\u6ce8\u91cd\u5177\u4f53\u7684\u5b9e\u73b0\u65b9\u5f0f\u4e0e\u7ec6\u8282\u3002<\/span><\/strong>\u8bb8\u591a\u56fe\u4e66\u5728\u4ecb\u7ecd\u8ba1\u7b97\u673a\u79d1\u5b66\u6216\u6570\u636e\u7ba1\u7406\u7684\u77e5\u8bc6\u65f6\u5e76\u4e0d\u4f1a\u5728\u7ec6\u8282\u65b9\u9762\u8fdb\u884c\u5c55\u5f00\uff0c\u4e5f\u4e0d\u4f1a\u5bf9\u4e0d\u540c\u7684\u7cfb\u7edf\u9488\u5bf9\u5e95\u5c42\u5b9e\u73b0\u8fdb\u884c\u5bf9\u6bd4\uff0c\u4e3a\u4e86\u5bf9\u6b64\u8fdb\u884c\u8865\u5145\uff0cClickHouse\u5728\u4e0a\u8ff0\u4e24\u65b9\u9762\u8fdb\u884c\u4e86\u5c1d\u8bd5\u3002\u4f5c\u4e3a\u4e00\u4e2a\u6bd4\u8f83\u597d\u7684\u6280\u672f\u5b9e\u73b0\u96c6\u5408\uff0cClickHouse\u7279\u522b\u9002\u5408\u7528\u6765\u5728\u7ec6\u8282\u65b9\u9762\u505a\u6027\u80fd\u4f18\u5316\u5b9e\u9a8c\u3002\u6211\u5e0c\u671b\u8fd9\u672c\u4e66\u80fd\u591f\u5f15\u5bfc\u4f60\u4e86\u89e3\u8fd9\u4e9b\u6280\u672f\u7ec6\u8282\u3002<\/p>\n\n\n\n<p>ClickHouse\u53ef\u4ee5\u4f5c\u4e3a\u6570\u636e\u5e93\u4e2d\u6613\u7528\u6027\u7684\u4ee3\u8868\u3002\u6570\u636e\u5e93\u7cfb\u7edf\u5e76\u4e0d\u662f\u4e00\u6b3e\u5bb9\u6613\u5f00\u53d1\u7684\u4ea7\u54c1\uff0c\u8fd9\u4e5f\u4f7f\u5f97\u4eba\u4eec\u8ba4\u4e3a\u6570\u636e\u5e93\u5f00\u53d1\u4e0a\u624b\u5f88\u96be\uff0c\u5206\u5e03\u5f0f\u6570\u636e\u5e93\u7684\u5f00\u53d1\u5c31\u66f4\u96be\u4e86\uff0c\u751a\u81f3\u5728\u521a\u5f00\u59cb\u4f7f\u7528\u5206\u5e03\u5f0f\u7cfb\u7edf\u65f6\u4f1a\u89c9\u5f97\u975e\u5e38\u70e6\u7410\u3002\u5728\u5f00\u53d1ClickHouse\u7684\u8fc7\u7a0b\u4e2d\uff0c\u6211\u4eec\u5c1d\u8bd5\u6253\u7834\u8fd9\u4e9b\u56fa\u6709\u7684\u8ba4\u8bc6\uff0c\u81f3\u5c11\u626b\u6e05\u4e86\u4e00\u4e9b\u5e38\u89c1\u7684\u969c\u788d\u3002<strong>ClickHouse\u4e0a\u624b\u975e\u5e38\u5bb9\u6613\uff0c\u4f60\u53ef\u4ee5\u5728\u51e0\u5206\u949f\u5185\u5b89\u88c5\u597d\u5e76\u5f00\u59cb\u4f7f\u7528\u3002\u7136\u800c\u5982\u679c\u4f60\u9700\u8981\u4f7f\u7528\u66f4\u591a\u7684\u529f\u80fd\uff0c\u5982\u6570\u636e\u526f\u672c\u3001\u5206\u5e03\u5f0f\u3001\u4e0d\u540c\u7684\u8868\u5f15\u64ce\u3001\u7d22\u5f15\u7b49\uff0c\u5c31\u4e0d\u4f1a\u90a3\u4e48\u7b80\u5355\u4e86\uff0c\u4f46\u8fd9\u4e9b\u529f\u80fd\u5728\u7406\u89e3\u4e0e\u5b66\u4e60\u4e0a\u76f8\u5bf9\u4e8e\u5176\u4ed6\u6570\u636e\u5e93\u8fd8\u662f\u7b80\u5355\u7684\u3002<\/strong>\u672c\u4e66\u4ecb\u7ecd\u4e86\u7406\u89e3\u548c\u5b66\u4e60ClickHouse\u7684\u65b9\u6cd5\uff0c\u4e5f\u4ecb\u7ecd\u4e86ClickHouse\u7684\u8bf8\u591a\u7ec6\u8282\u3002\u901a\u8fc7\u8fd9\u672c\u4e66\u4f60\u5c06\u4f1a\u900f\u5f7b\u7406\u89e3ClickHouse\u662f\u5982\u4f55\u8fd0\u884c\u7684\u3002<\/p>\n\n\n\n<p>Alexey Milovidov<br>Yandex\u516c\u53f8ClickHouse\u5f00\u53d1\u56e2\u961f\u8d1f\u8d23\u4eba<\/p>\n\n\n\n<p>\uff08\u90d1\u5929\u797a\u8bd1\uff09<\/p>\n\n\n\n<hr class=\"wp-block-separator\"\/>\n\n\n\n<h6 class=\"wp-block-heading\">\u524d\u8a00<\/h6>\n\n\n\n<p>\u751f\u751f\u4e0d\u606f\uff0c\u201c\u6298\u817e\u201d\u4e0d\u6b62\u3002<strong><span style=\"color:#a30000\" class=\"has-inline-color\">\u4e3a\u4ec0\u4e48\u65b0\u7684\u6280\u672f\u5c42\u51fa\u4e0d\u7a77\uff0c\u4e00\u76f4\u4f1a\u66f4\u66ff\u53d8\u6362\uff1f\u56e0\u4e3a\u4eba\u4eec\u603b\u662f\u4e50\u4e8e\u8ffd\u6c42\u66f4\u52a0\u7f8e\u597d\u7684\u4e8b\u7269\uff0c\u56e0\u6b64\u4e1a\u52a1\u603b\u4f1a\u4ea7\u751f\u65b0\u7684\u8bc9\u6c42\u3002<\/span><\/strong><\/p>\n\n\n\n<p><strong>\u5728\u8f6f\u4ef6\u9886\u57df\uff0c\u6280\u672f\u4e0e\u4e1a\u52a1\u72b9\u5982\u4e00\u5bf9\u4e0d\u53ef\u62c6\u5206\u7684\u53cc\u8f68\u8f66\u9053\uff0c\u627f\u8f7d\u7740\u4ea7\u54c1\u8fd9\u8f86\u706b\u8f66\u7a33\u6b65\u5411\u524d\u3002<\/strong>\u4e00\u65b9\u9762\uff0c\u4e1a\u52a1\u7684\u8bc9\u6c42\u5fc5\u987b\u5f97\u5230\u6ee1\u8db3\uff0c\u6240\u4ee5\u5b83\u5012\u903c\u6280\u672f\u63d0\u5347\uff1b\u53e6\u4e00\u65b9\u9762\uff0c\u6280\u672f\u7684\u63d0\u5347\u53c8\u4e3a\u4e1a\u52a1\u6a21\u5f0f\u5e26\u6765\u4e86\u65b0\u7684\u53ef\u80fd\u3002<\/p>\n\n\n\n<h6 class=\"wp-block-heading\">\u7b2c1\u7ae0\u3000ClickHouse\u7684\u524d\u4e16\u4eca\u751f<\/h6>\n\n\n\n<p>Google\u4e8e2003\uff5e2006\u5e74\u76f8\u7ee7\u53d1\u8868\u4e86\u4e09\u7bc7\u8bba\u6587\u201cGoogle File System\u201d\u201cGoogle MapReduce\u201d\u548c\u201cGoogle Bigtable\u201d\uff0c\u5c06\u5927\u6570\u636e\u7684\u5904\u7406\u6280\u672f\u5e26\u8fdb\u4e86\u5927\u4f17\u89c6\u91ce\u30022006\u5e74\u5f00\u6e90\u9879\u76eeHadoop\u7684\u51fa\u73b0\uff0c\u6807\u5fd7\u7740\u5927\u6570\u636e\u6280\u672f\u666e\u53ca\u7684\u5f00\u59cb\uff0c\u5927\u6570\u636e\u6280\u672f\u771f\u6b63\u5f00\u59cb\u8d70\u5411\u666e\u7f57\u5927\u4f17\u3002<\/p>\n\n\n\n<ol class=\"wp-block-list\"><li><span style=\"color:#a30000\" class=\"has-inline-color\">\u3010IT\u7cfb\u7edf\u4ece\u65e0\u5230\u6709\u3011\u5f97\u76ca\u4e8eIT\u6280\u672f\u7684\u8fc5\u731b\u53d1\u5c55\uff0c\u5404\u884c\u5404\u4e1a\u5f00\u59cb\u7f6e\u529eIT\u7cfb\u7edf\u4ee5\u63d0\u9ad8\u6548\u7387\u3002<\/span><\/li><li><span style=\"color:#a30000\" class=\"has-inline-color\">\u3010\u70df\u56f1\u5f0f\u53d1\u5c55\u2014\u2014\u4e92\u4e0d\u76f8\u901a\u3011\u65e9\u671f\u53d1\u5c55\u6ca1\u8003\u8651\u592a\u591a\uff0c\u591a\u5448\u70df\u56f1\u5f0f\u53d1\u5c55\uff0c\u6570\u636e\u6563\u843d\u5728\u5404\u4e2a\u72ec\u7acb\u7684\u7cfb\u7edf\u4e4b\u5185\uff0c\u76f8\u4e92\u5272\u88c2\u3001\u4e92\u4e0d\u76f8\u901a\u3002<\/span><\/li><li><span style=\"color:#a30000\" class=\"has-inline-color\">\u3010\u5f15\u5165\u6570\u636e\u4ed3\u5e93\u3011\u4e3a\u4e86\u89e3\u51b3\u6570\u636e\u5b64\u5c9b\u7684\u95ee\u9898\uff0c\u4eba\u4eec\u63d0\u51fa\u4e86\u6570\u636e\u4ed3\u5e93\u7684\u6982\u5ff5\u3002\u5373\u901a\u8fc7\u5f15\u5165\u4e00\u4e2a\u4e13\u95e8\u7528\u4e8e\u5206\u6790\u7c7b\u573a\u666f\u7684\u6570\u636e\u5e93\uff0c\u5c06\u5206\u6563\u7684\u6570\u636e\u7edf\u4e00\u6c47\u805a\u5230\u4e00\u5904\u3002<\/span><\/li><li><span style=\"color:#a30000\" class=\"has-inline-color\">\u3010BI\u6982\u5ff5\u7684\u8bde\u751f\u3011\u4e8e20\u4e16\u7eaa90\u5e74\u4ee3\uff0c\u6709\u4eba\u7b2c\u4e00\u6b21\u63d0\u51fa\u4e86BI\uff08\u5546\u4e1a\u667a\u80fd\uff09\u7cfb\u7edf\u7684\u6982\u5ff5\u3002\u81ea\u6b64\u4ee5\u540e\uff0c\u4eba\u4eec\u901a\u5e38\u7528BI\u4e00\u8bcd\u6307\u4ee3\u8fd9\u7c7b\u5206\u6790\u7cfb\u7edf\u3002\u76f8\u5bf9\u4e8e\u8054\u673a\u4e8b\u52a1\u5904\u7406\u7cfb\u7edf\uff0c\u6211\u4eec\u628a\u8fd9\u7c7bBI\u7cfb\u7edf\u79f0\u4e3a\u8054\u673a\u5206\u6790\uff08OLAP\uff09\u7cfb\u7edf\u3002<\/span><\/li><li><span style=\"color:#a30000\" class=\"has-inline-color\">\u3010\u4f20\u7edfBI\u7cfb\u7edf\u7684\u8bbe\u8ba1\u60f3\u6cd5\u5f88\u7f8e\u597d\uff0c\u5b9e\u9645\u5e94\u7528\u573a\u666f\u548c\u6548\u679c\u5374\u6709\u9650\u3011\u539f\u56e0\u5f88\u591a\u5728\u6b64\u4e0d\u8d58\u8ff0\u3002<\/span><\/li><li><span style=\"color:#a30000\" class=\"has-inline-color\">\u3010\u6280\u672f\u521b\u65b0\u8ba9\u90e8\u5206\u60f3\u6cd5\u53ef\u843d\u5730\u30112003\u5e74\u8d77\uff0cGoogle\u9646\u7eed\u53d1\u8868\u7684\u4e09\u7bc7\u8bba\u6587\u5f00\u542f\u4e86\u5927\u6570\u636e\u7684\u6280\u672f\u666e\u60e0\uff0cHadoop\u751f\u6001\u7531\u6b64\u5f00\u59cb\u4e00\u53d1\u4e0d\u53ef\u6536\u62fe\uff0c\u6570\u636e\u5206\u6790\u5f00\u542f\u4e86\u65b0\u7eaa\u5143\u3002<\/span><\/li><li><span style=\"color:#a30000\" class=\"has-inline-color\">\u3010ClickHouse\u7684\u6a2a\u7a7a\u51fa\u4e16\u8ba9BI\u4ea7\u54c1\u7684\u9009\u578b\u53c8\u591a\u4e86\u4e00\u4e2a\u9009\u62e9\u3011\u5929\u4e0b\u6b66\u529f\u552f\u5feb\u4e0d\u7834\u3002<\/span><\/li><\/ol>\n\n\n\n<p><strong>1.8\u3000ClickHouse\u9002\u7528\u7684\u573a\u666f<\/strong><\/p>\n\n\n\n<p>\u53ef\u4ee5\u8bf4ClickHouse\u5177\u5907\u4e86\u4eba\u4eec\u5bf9\u4e00\u6b3e\u9ad8\u6027\u80fdOLAP\u6570\u636e\u5e93\u7684\u7f8e\u597d\u5411\u5f80\uff0c\u6240\u4ee5\u5b83\u57fa\u672c\u80fd\u591f\u80dc\u4efb\u5404\u79cd\u6570\u636e\u5206\u6790\u7c7b\u7684\u573a\u666f\uff0c\u5e76\u4e14\u968f\u7740\u6570\u636e\u4f53\u91cf\u7684\u589e\u5927\uff0c\u5b83\u7684\u4f18\u52bf\u4e5f\u4f1a\u53d8\u5f97\u8d8a\u4e3a\u660e\u663e\u3002<\/p>\n\n\n\n<p>ClickHouse\u975e\u5e38\u9002\u7528\u4e8e\u5546\u4e1a\u667a\u80fd\u9886\u57df\uff08\u4e5f\u5c31\u662f\u6211\u4eec\u6240\u8bf4\u7684BI\u9886\u57df\uff09\uff0c\u9664\u6b64\u4e4b\u5916\uff0c\u5b83\u4e5f\u80fd\u591f\u88ab\u5e7f\u6cdb\u5e94\u7528\u4e8e\u5e7f\u544a\u6d41\u91cf\u3001Web\u3001App\u6d41\u91cf\u3001\u7535\u4fe1\u3001\u91d1\u878d\u3001\u7535\u5b50\u5546\u52a1\u3001\u4fe1\u606f\u5b89\u5168\u3001\u7f51\u7edc\u6e38\u620f\u3001\u7269\u8054\u7f51\u7b49\u4f17\u591a\u5176\u4ed6\u9886\u57df\u3002<\/p>\n\n\n\n<p><strong>1.9\u3000ClickHouse\u4e0d\u9002\u7528\u7684\u573a\u666f<\/strong><\/p>\n\n\n\n<p>ClickHouse\u4f5c\u4e3a\u4e00\u6b3e\u9ad8\u6027\u80fdOLAP\u6570\u636e\u5e93\uff0c\u867d\u7136\u8db3\u591f\u4f18\u79c0\uff0c\u4f46\u4e5f\u4e0d\u662f\u4e07\u80fd\u7684\u3002<strong>\u6211\u4eec\u4e0d\u5e94\u8be5\u628a\u5b83\u7528\u4e8e\u4efb\u4f55OLTP\u4e8b\u52a1\u6027\u64cd\u4f5c\u7684\u573a\u666f<\/strong>\uff0c\u56e0\u4e3a\u5b83\u6709\u4ee5\u4e0b\u51e0\u70b9\u4e0d\u8db3\u3002<\/p>\n\n\n\n<p><strong><span style=\"color:#a30000\" class=\"has-inline-color\">\u00b7\u4e0d\u652f\u6301\u4e8b\u52a1\u3002<br>\u00b7\u4e0d\u64c5\u957f\u6839\u636e\u4e3b\u952e\u6309\u884c\u7c92\u5ea6\u8fdb\u884c\u67e5\u8be2\uff08\u867d\u7136\u652f\u6301\uff09\uff0c\u6545\u4e0d\u5e94\u8be5\u628aClickHouse\u5f53\u4f5cKey-Value\u6570\u636e\u5e93\u4f7f\u7528\u3002<br>\u00b7\u4e0d\u64c5\u957f\u6309\u884c\u5220\u9664\u6570\u636e\uff08\u867d\u7136\u652f\u6301\uff09\u3002<\/span><\/strong><\/p>\n\n\n\n<p>\u8fd9\u4e9b\u5f31\u70b9\u5e76\u4e0d\u80fd\u89c6\u4e3aClickHouse\u7684\u7f3a\u70b9\uff0c\u4e8b\u5b9e\u4e0a\u5176\u4ed6\u540c\u7c7b\u9ad8\u6027\u80fd\u7684OLAP\u6570\u636e\u5e93\u540c\u6837\u4e5f\u4e0d\u64c5\u957f\u4e0a\u8ff0\u7684\u8fd9\u4e9b\u65b9\u9762\u3002\u56e0\u4e3a\u5bf9\u4e8e\u4e00\u6b3eOLAP\u6570\u636e\u5e93\u800c\u8a00\uff0c\u4e0a\u8ff0\u8fd9\u4e9b\u80fd\u529b\u5e76\u4e0d\u662f\u91cd\u70b9\uff0c\u53ea\u80fd\u8bf4\u8fd9\u662f\u4e3a\u4e86\u6781\u81f4\u67e5\u8be2\u6027\u80fd\u6240\u505a\u7684\u6743\u8861\u3002<\/p>\n\n\n\n<p><\/p>\n\n\n\n<p><\/p>\n\n\n\n<h5 class=\"wp-block-heading\">\u53c2\u8003\u94fe\u63a5\uff1a<\/h5>\n\n\n\n<p>ClickHouse\u539f\u7406\u89e3\u6790\u4e0e\u5e94\u7528\u5b9e\u8df5<br><a rel=\"noreferrer noopener\" href=\"https:\/\/book.douban.com\/subject\/35091211\/\" target=\"_blank\">https:\/\/book.douban.com\/subject\/35091211\/<\/a><br><a href=\"https:\/\/github.com\/nauu\/clickhousebook\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/github.com\/nauu\/clickhousebook<\/a><\/p>\n\n\n\n<p>\u300aclickhouse\u539f\u7406\u89e3\u6790\u4e0e\u5e94\u7528\u5b9e\u8df5\u300b\u8bfb\u4e66\u7b14\u8bb0<br><a href=\"https:\/\/blog.csdn.net\/lonelymanontheway\/article\/details\/108181649\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/blog.csdn.net\/lonelymanontheway\/article\/details\/108181649<\/a><\/p>\n\n\n\n<p><a href=\"https:\/\/clickhouse.tech\/#quick-start\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/clickhouse.tech\/#quick-start<\/a><\/p>\n\n\n\n<p><a href=\"https:\/\/clickhouse.tech\/docs\/zh\/\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/clickhouse.tech\/docs\/zh\/<\/a><\/p>\n\n\n\n<p>ClickHouse\u5927\u6570\u636e\u5206\u6790\u6280\u672f\u4e0e\u5b9e\u6218<br><a rel=\"noreferrer noopener\" href=\"https:\/\/www.jianshu.com\/p\/560bb382f91a\" target=\"_blank\">https:\/\/www.jianshu.com\/p\/560bb382f91a<\/a><\/p>\n\n\n\n<p>ClickHouse\u6df1\u5ea6\u89e3\u6790<br><a href=\"https:\/\/www.cnblogs.com\/zfwwdz\/p\/13151727.html\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/www.cnblogs.com\/zfwwdz\/p\/13151727.html<\/a><\/p>\n\n\n\n<p>=END=<\/p>\n","protected":false},"excerpt":{"rendered":"<p>=Start= \u7f18\u7531\uff1a \u4e4b\u524d\u603b\u662f\u7528Hive\/Presto\u505a\u79bb\u7ebf\u5206\u6790\uff0c\u73b0\u5728\u8981\u7528ClickHouse\u4e86\uff0c\u4e4b\u524d\u53ea\u662f\u542c [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[14,23],"tags":[1651,1652,1261,1649,1650,1191],"class_list":["post-4977","post","type-post","status-publish","format-standard","hentry","category-database","category-knowledgebase-2","tag-clickhouse","tag-etl","tag-hive","tag-olap","tag-oltp","tag-1191"],"views":9205,"_links":{"self":[{"href":"https:\/\/ixyzero.com\/blog\/wp-json\/wp\/v2\/posts\/4977","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/ixyzero.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/ixyzero.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/ixyzero.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/ixyzero.com\/blog\/wp-json\/wp\/v2\/comments?post=4977"}],"version-history":[{"count":1,"href":"https:\/\/ixyzero.com\/blog\/wp-json\/wp\/v2\/posts\/4977\/revisions"}],"predecessor-version":[{"id":4978,"href":"https:\/\/ixyzero.com\/blog\/wp-json\/wp\/v2\/posts\/4977\/revisions\/4978"}],"wp:attachment":[{"href":"https:\/\/ixyzero.com\/blog\/wp-json\/wp\/v2\/media?parent=4977"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/ixyzero.com\/blog\/wp-json\/wp\/v2\/categories?post=4977"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/ixyzero.com\/blog\/wp-json\/wp\/v2\/tags?post=4977"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}