随笔分类 - ClickHouse
摘要:分析完成了聚合以及向量化过滤,向量化的函数计算之后。本篇,笔者将分析数据库的一个重要算子:排序。让我们从源码的角度来剖析ClickHouse作为列式存储系统是如何实现排序的。 本系列文章的源码分析基于ClickHouse v19.16.2.2的版本。 1.执行计划 老规矩,咱们还是先从一个简单的查询
阅读全文
摘要:笔者在源码笔记1之中分析过ClickHouse的聚合函数的实现,但是对于各个接口函数的实际如何共同工作的源码,回头看并没有那么明晰,**主要原因是没有结合Aggregator的类来一起分析聚合函数的是如果工作起来的。**所以决定重新再完成一篇聚合函数的源码梳理的文章,帮助大家进一步的理解ClickH
阅读全文
摘要:书接上文,本篇继续分享ClickHouse源码中一个重要的流,FilterBlockInputStream的实现,重点在于分析Clickhouse是如何在执行引擎实现向量化的Filter操作符,而利用这个Filter操作符的,就可以实现where, having的数据过滤。 话不多说,准备发车~~
阅读全文
摘要:分享一下笔者研读ClickHouse源码时分析函数调用的实现,重点在于分析Clickhouse查询层实现的接口,以及Clickhouse是如何利用这些接口更好的实现向量化的。本文的源码分析基于ClickHouse v19.16.2.2的版本。 1.举个栗子 下面是一个简单的SQL语句 SELECT
阅读全文
摘要:上篇笔记讲到了聚合函数的实现并且带大家看了聚合函数是如何注册到ClickHouse之中的并被调用使用的。这篇笔记,笔者会续上上篇的内容,将剖析一把ClickHouse聚合流程的整体实现。 第二篇文章,我们来一起看看聚合流程的实现~~ 上车! 1.基础知识的梳理 ClickHouse的实现接口 Blo
阅读全文
摘要:由于工作的需求,后续笔者工作需要和开源的OLAP数据库ClickHouse打交道。ClickHouse是Yandex在2016年6月15日开源了一个分析型数据库,以强悍的单机处理能力被称道。 笔者在实际测试ClickHouse和阅读ClickHouse的源码过程之中,对"战斗民族"开发的数据库十分欣
阅读全文

浙公网安备 33010602011771号