程序员的故乡

 

随笔分类 -  clickhouse

clickhouse
ClickHouse性能调优 - 当磁盘IO是瓶颈的时候
摘要:引言 ClickHouse的性能调优问题是一个大的话题。虽然ClickHouse以其高速的数据处理能力而闻名,但在实际使用中,磁盘IO常常成为影响系统性能的瓶颈。本文将探讨在磁盘IO成为瓶颈时,如何通过一系列优化措施来提升ClickHouse的整体性能。 磁盘IO瓶颈 磁盘IO瓶颈指的是在数据读写过 阅读全文

posted @ 2024-10-08 15:55 程鑫 阅读(344) 评论(0) 推荐(0) 编辑

ClickHouse的向量处理能力
摘要:ClickHouse的向量处理能力ClickHouse通过其强大的向量数据库功能,实现了高效的高维向量数据处理和搜索。这些功能包括支持余弦距离和欧几里得距离的相似度计算,以及近似最近邻搜索(如Annoy索引),极大地提升了性能和效率。通过将非结构化数据转换为向量,ClickHouse在推荐系统、问答系统、图像和视频搜索等领域展现了显著的应用价值。这种能力不仅提高了数据处理的精确度,还在大规模数据处理中实现了良好的性能与精确度平衡。 阅读全文

posted @ 2024-07-30 20:25 程鑫 阅读(496) 评论(2) 推荐(1) 编辑

关于ClickHouse的一些小技巧
摘要:关于ClickHouse的一些小技巧 设置变量 set param_name='Alex'; select {name:String}; projection的使用 基于projection(投影)的优化需要打开开关optimize_use_projections。ClickHouse里的proje 阅读全文

posted @ 2024-03-17 22:28 程鑫 阅读(111) 评论(0) 推荐(0) 编辑

ClickHouse中“大列”造成的JOIN的内存超限问题
摘要:“大列”是指单行数据量非常大的列,通常是100KiB以上。这样的列会导致JOIN(通常LEFT JOIN 和 INNER JOIN)出现内存超限的异常。本文讨论如何解决这个问题。 阅读全文

posted @ 2024-01-21 19:00 程鑫 阅读(601) 评论(1) 推荐(1) 编辑

ClickHouse的JOIN算法选择逻辑以及auto选项
摘要:Setting配置join_algorithm用于指定JOIN算法,它可以设置为多个值,例如join_algorithm='direct,hash,partial_merge'。在选择最终JOIN算法的时候是根据setting配置join_algorithm, 以及JOIN操作的Strictness、Kind和参与JOIN的右表表引擎类型共同决定。 阅读全文

posted @ 2024-01-08 17:59 程鑫 阅读(228) 评论(0) 推荐(0) 编辑

ClickHouse的Join算法
摘要:即使在ClickHouse中对超大的数据表做JOIN连接运算,我们也可以通过精心选择连接算法和调优相关设置,从而得到非常良好的性能。虽然可以让ClickHouse更加聪明地帮用户做选择,但是目前效果毕竟有限,而且真正高级的性能调优是离不开人的,因为人能掌握更全面的情况,以及实际业务特点和需求。本文可以帮助你理解ClickHouse内部连接的工作方式,从而帮助你做相关的优化。 阅读全文

posted @ 2023-09-10 21:59 程鑫 阅读(736) 评论(0) 推荐(0) 编辑

ClickHouse的WITH-ALIAS是如何实现的
摘要:ClickHouse的WITH-ALIAS是如何实现的 WITH-ALIAS包含相似但不同的两个特性: WITH <表达式> as <别名> WITH <别名> as <子查询> WITH <表达式> as <别名> 特性 以下SQL展示了 WITH <表达式> as <别名> 特性的用法。 wit 阅读全文

posted @ 2023-09-10 21:41 程鑫 阅读(190) 评论(0) 推荐(0) 编辑

Clickhouse上用Order By保证绝对正确结果但代价是性能
摘要:一些聚合函数的结果跟流入数据的顺序有关,CH文档明确说明这样的函数的结果是不确定的。这是为什么呢?让我们用explain pipeline来一探究竟。 以一个很简单的查询为例: select any( step ) from events group by request_id; events表的定 阅读全文

posted @ 2022-03-25 16:54 程鑫 阅读(488) 评论(0) 推荐(0) 编辑

Clickhouse执行处理查询语句(包括DDL,DML)的过程
摘要:Clickhouse执行处理查询语句(包括DDL,DML)的过程 总体过程 启动线程处理客户端接入的TCP连接; 接收请求数据,交给函数executeQueryImpl()处理; executeQueryImpl()处理查询的SQL语句字符串; 生成QueryPipeline实例,QueryPipe 阅读全文

posted @ 2022-02-27 21:11 程鑫 阅读(1198) 评论(0) 推荐(0) 编辑

Clickhouse的MergeTree表引擎存储结构
摘要:MergeTree存储的文件结构 一张数据表被分成几个data part,每个data part对应文件系统中的一个目录。通过以下SQL可以查询data parts的信息。 select table, name, path, active, * from `system`.parts where t 阅读全文

posted @ 2022-01-08 23:41 程鑫 阅读(572) 评论(0) 推荐(0) 编辑

导航

统计

点击右上角即可分享
微信分享提示