原文地址:https://clickhouse.yandex/docs/en/development/architecture/

集群中的所有节点都是彼此独立的,当你在集群中的一个节点或者多个节点创建分布式表时候,分布式表本身并不存储数据,而是仅仅提供一个该分布式表底层所有local table的一个视图。当初对一个分布式表进行查询时候,ck会重写你的查询,具体过程如下:

首先根据负载均衡设置选择一些节点,然后将查询语句发送给这些节点,分布式表的查询是通过请求远程的节点,远程节点对local table进行查询,然后每一个节点的中间结果进行merge,最后将所有节点的结果进行merge。分布式表会尽可能的分发查询,并且尽可能避免查询中间数据通过网络传递。

对于分布式表的in、join查询比较复杂,ck还有不同的执行策略来处理该种查询。

CK目前没有一个针对分布式表的全局的查询计划,分发到每一个节点的查询都是该查询的一个部分job,每一个节点有自己的local query plan,对于join以及group by等查询很难有一个全局的执行计划,因此目前CK还没有执行计划!

转载于:https://www.cnblogs.com/leodaxin/p/9803233.html

ClickHouse之Distributed Query Execution相关推荐

  1. Morsel-Driven Parallelism: 一种NUMA感知的并行Query Execution框架

    本作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可. 本作品 (李兆龙 博文, 由 李兆龙 创作),由 李兆龙 确认,转载请注明版权. 引言 一段时间前看到OSAPP中p ...

  2. Adaptive Query Execution: Speeding Up Spark SQL at Runtime

    This is a joint engineering effort between the Databricks Apache Spark engineering team - Wenchen Fa ...

  3. Query execution was interrupted

    MYSQL Error Error number: 1317; Symbol: ER_QUERY_INTERRUPTED; SQLSTATE: 70100Message: Query executio ...

  4. CMU 15-445/645-Note6-执行篇-Query Execution

    0.写在前面 based on CMU 15-445/645 2020fall, Lecture #12-Lecture #13. 1:执行模型(PROCESSING MODEL) DBMS 的执行模 ...

  5. Filter Representation in Vectorized Query Execution论文笔记

    概览 这篇文章向我们展示了在向量化查询执行引擎里的两种filter representation(bitmap以及select vectors)和两种执行策略:1. Full, 不管有多少active ...

  6. 执行引擎(Query Execution Engine),返回结果

    OK,存储引擎分析完了,它是我们存储数据的形式,继续第二个问题,是谁使用执行计划去操作存储引擎呢? 这就是我们的执行引擎,它利用存储引擎提供的相应的API 来完成操作. 为什么我们修改了表的存储引擎, ...

  7. 2021 CMU-15445/645 Project #3 : Query Execution

    0 介绍 21年秋季的15445第3个Project是要完成一些执行器(executor)来实现一些数据库操作比如遍历.插入.更新.删除.连接等等.虽然算法难度上不如Project2,但是需要阅读大量 ...

  8. 【论文研读】-DiPETrans: A Framework for Distributed Parallel Execution of Transactions of Blocks in BLC

    属于静态分析智能合约的方法,采取的方法类似于raft算法. 摘要 比特币和以太坊等当代区块链由矿工和验证者连续执行交易,并确定工作量证明 (PoW).这种串行执行无法有效利用现代多核资源,从而限制了系 ...

  9. Comparison of Big Data OLAP DB : ClickHouse, Druid, and Pinot

    In this post I want to compare ClickHouse, Druid, and Pinot, the three open source data stores that ...

最新文章

  1. 聊聊企业级 Java 应用最重要的4个性能指标
  2. oc之mac开发 - NSButton - 勾选框(NSButtonTypeSwitch)
  3. HDFS数据迁移解决方案之DistCp工具的巧妙使用
  4. BaseControl按钮合集
  5. Android踩坑日记:自定义水平和圆形ProgressBar样式
  6. 使用Sublime text 3打造一个小巧但强大的Go语言开发IDE
  7. CSS背景颜色转换(自动生成IE8以下的filter,兼容IE9)
  8. CFile读写文件 实现复制文件功能
  9. loj 1251(2-sat + 输出一组可行解)
  10. Android -- DragDrop
  11. 一文弄懂EnumMap和EnumSet
  12. NET问答: 如何迭代 Enum ?
  13. C#开发笔记之14-如何用C#计算闰年?
  14. 排序算法浅析(一)比较排序算法
  15. 秀米的对话框格子可以变大吗_如何使用秀米进行排版(对外版)课件.ppt
  16. Python使用APP Inventor网络微数据库TinyWebDB
  17. 公众号丶服务号丶订阅号三者间的区别
  18. Unirech阿里云国际版云服务器代充-使用Python批量创建实例
  19. NetBeans 界面美化与字体设置
  20. Python爬取京东任意商品数据实战总结

热门文章

  1. Ubuntu 17.4下如何安装和配置flash player
  2. HttpClient连接池抛出大量ConnectionPoolTimeoutException: Timeout waiting for connection异常排查...
  3. 使用AndroidStudio编译NDK的方法及错误解决方案
  4. Express.js 3.0 发布,Node.js 的高性能封装
  5. Cisco交换机端口安全介绍
  6. 3.7 PPP协议和HDLC协议
  7. 时序约束,STA的QA
  8. VS调试技巧之附加进程
  9. C++获取当前时间和计算程序运行时间的方法
  10. 三线压力传感器原理_弹性式压力表、弹簧管压力表、压阻式压力传感器的原理、选型、安装...