clickhouse
文章平均质量分 73
普普通通程序猿
做人要知足,做事要知不足,做学问要不知足。
展开
-
关于文件系统对clickhouse写入性能的影响
文件系统对clickhouse性能的影响原创 2022-11-19 23:56:29 · 444 阅读 · 1 评论 -
CentOS卸载LVM磁盘的方法
Clickhosue服务器使用LVM遇性能问题,在CentOS下如何卸载LVM原创 2022-10-02 17:47:12 · 2384 阅读 · 0 评论 -
如何排查clickhouse的使用过程中zookeeper出现的问题
clickhouse中遇到的关于zookeeper的问题原创 2022-07-18 00:16:48 · 1187 阅读 · 0 评论 -
clickhouse里如何对数组类型进行聚合操作并且拍平成字符串呢?
clickhouse数组去重,拍平,聚合操作原创 2022-05-25 00:01:24 · 5360 阅读 · 2 评论 -
为什么写入ReplicatedMergeTree引擎表里的数据少了?
clickhouse ReplicatedMergeTree引擎 数据丢失原创 2022-04-26 00:27:41 · 1544 阅读 · 2 评论 -
ClickHouse聚合函数(下):性能探索和调试
聚合函数性能分析;提升性能的实用技巧。翻译 2022-04-16 00:33:01 · 1871 阅读 · 0 评论 -
ClickHouse聚合函数(上):内部实现原理以及便捷小工具
对于分析型数据库而言,将数据汇总成容易理解的报表是其关键能力之一。人们在面对数十亿条网页访问记录的时候其实很难得出什么结论性的东西,但是比如我们说平均访问时长从上个月的25秒提升到了本月的32秒,这就很容易理解了。在ClickHouse中我们将这个过程称之为聚合(译者注:事实上,在其它数据库或数据分析软件中也是这么叫的)。这是从翻译 2022-04-11 00:28:49 · 1159 阅读 · 0 评论 -
在clickhouse中使用正则表达式提取字段信息的方法
clickhouse使用正则表达式提取URL内容关键字原创 2022-03-25 00:52:23 · 8519 阅读 · 0 评论 -
如何在clickhouse数据库中模拟慢查询
clickhouse模拟生成慢查询的方法原创 2022-03-17 00:43:56 · 2230 阅读 · 1 评论 -
clickhouse之常用系统表整理
介绍了一些clickhouse常用的系统表,并将其进行了分类。原创 2022-03-05 00:26:24 · 3860 阅读 · 0 评论 -
clickhouse常见问题之Too many simultaneous queries
解决clickhouse当前查询数过多的问题原创 2022-03-01 00:35:08 · 8318 阅读 · 9 评论 -
不小心把clickhouse的数据文件删了,还可以恢复吗?
ReplicatedMergeTree引擎+zookeeper帮你自动恢复丢失的数据~~原创 2022-02-12 00:45:43 · 2152 阅读 · 2 评论 -
clickhouse之数据存储:JBOD vs RAID
JBOD vs RAIDClickhouse支持使用JBOD的方式配置多块磁盘为一个卷轴,达到扩展存储的目的,那么和我们常用的RAID相比有哪些区别呢?1. JBODRAID我们比较熟悉,JBOD是什么意思呢?其实看JBOD的英文全称就知道了,Just a Butch of Disks,其实它就是指一种存储架构,可以把一堆盘圈在一起提供服务。在写入JBOD卷组的过程中,其实还是按照轮询的方式挨个写入,写完一块儿盘写一块儿,顺序由配置JBOD时的顺序决定,至于数据粒度可以由应用程序指定,像Click原创 2022-01-25 13:14:50 · 2596 阅读 · 0 评论 -
clickhouse浮点数保留固定小数位的方法
在进行SQL查询时,我们经常会遇到需要保留小数点后固定几位的需求,其他传统关系型数据库借助round函数很容易实现,那么clickhouse行不行呢?答案是当然可以。1. round函数顾名思义,四舍五入,使用方法:round(num,precision) ,举例:1.2357想要小数点 后保留2位,则使用round(1.2357,2),结果为1.24。如下图:2. floor函数向下取整,不止可以取整哦,也可以指定精度来取小数后固定位数。 还是1.2357想要小数点 后保留2位,使用floor原创 2021-12-24 22:57:29 · 11897 阅读 · 0 评论 -
Grafana制作clickhouse监控仪表盘(三)-柱状图的使用
在新版的grafana8.x里,和柱状图表现形式相关的图形类型包括:Time Series、Bar chart、Bar Gauge、以及Histogram(直方图),使用的时候不知道选哪个是好,笔者结合例子给大家总结一下吧~~1. Time Series适用场景:时间序列数据的柱状图,将会取代之前版本里的Graph类型绘制内容:zookeeper集群的收发速率统计难点:Y轴分正负,分别显示接收和发送速率制作方法效果图2. 各个分片数据量的分布...原创 2021-12-18 22:59:53 · 4759 阅读 · 0 评论 -
浅谈zookeeper在clickhouse中的使用
对于大多数分布式软件而言,数据的一致性问题是其必须要考虑的内容,zookeeper是最常见的也是使用最广泛的一个解决数据一致性问题的工具,clickhouse在其分布式方案的设计中也引入了zookeeper的使用,并强依赖于此。本文根据最近的一些项目经验,从原理和实践上来简单总结一下zookeeper在clickhouse中的使用吧~~1. zookeeper的用途zookeeper从存储的角度来看类似于一颗文件树,每个节点称之为znode,基本的工作原理类似于消息的发布订阅模式,客户端程序通过watc原创 2021-12-13 00:31:13 · 9939 阅读 · 6 评论 -
Grafana制作clickhouse监控仪表盘(一)-节点状态的监控
由于项目需要监控clickhouse集群的状态,首先想到的便是需要监控各个分片的状态,有多少active的,有多少失联的,但是苦苦搜寻发现clickhouse本身并没有提供这样的监控指标,只能寄希望于一些外部程序,其实自己写一个脚本去实现也是可以的,但是意外发现了Prometheus官方开源的blackbox-exporter程序,一番验证之后决定采用该方法,这样可以与我们其他监控指标使用的Prometheus + Grafana的方案保持一致。1. blackbox-exporter简介如同常用的no原创 2021-11-21 23:42:27 · 1523 阅读 · 0 评论 -
clickhouse之数据写入问题
文章目录1. 写入方法方法一:文件导入方法二:插入语句方法三:JDBC接口2. 性能瓶颈3. 其它注意事项4. 总结众所周知,在精心设计的索引(见前文:clickhouse之索引)以及极致压制硬件物理性能(见前文clickhouse之向量执行引擎)的作用下,clickhouse单机表现出卓越的查询和计算性能。但是有些使用场景,对数据库的写性能要求同样很高,那么clickhouse在写数据上的表现究竟如何呢?因为最近我们的小伙伴因为项目需要有做过一些测试,我简单总结一下吧~~1. 写入方法方法一:文件导原创 2021-11-14 22:35:47 · 6386 阅读 · 0 评论 -
clickhouse之主键不具有唯一性约束的问题
和之前的传统关系型数据库不同,clickhouse的主键不具有唯一性约束,那如果有一些需要数据去重的场景我们该咋办呢?别急,我们通过问答的方式来了解一下吧~~Q:为什么clickhouse在设计的时候主键不具有唯一性约束呢?A: 坦白讲,我也不清楚,因为我没看到过对此有官方的说明,我的理解是因为clickhouse采用的是稀疏索引,如果在插入的时候还要进行唯一性检查,将会额外的耗费一些时间,不像使用稠密索引的方式能够更快定位到重复,毕竟clickhouse的设计理念是为了一个“快”字,而且使用的场景更多原创 2021-11-11 00:48:22 · 5178 阅读 · 0 评论 -
clickhouse之常用函数整理(官网)--持续更新
根据clickhouse官网资料进行整理、汇总,方便日常查询使用。1. 算术类型函数说明参数返回值plus(a, b)加法运算a,b可以是数值类型,也可以一个是数值类型,另一个是日期类型如果a,b均为数值类型,则返回数值;如果a为日期类型,则a+b表示在日期a之后添加b天;如果a为时间类型,则a+b表示在时间a之后添加b秒minus(a, b)计算差值a,b可以是数值类型,也可以一个是数值类型,另一个是日期类型同plus函数multiply(a, b).原创 2021-10-31 23:38:10 · 759 阅读 · 0 评论 -
clickhouse之监控系列1-系统表
前言不像其他的数据库产品由外部工具来提供监控功能,秉持“万物皆表”设计理念的Clickhouse自己内嵌了监控自己状态的工具,而且是以表的形式提供的,涉及system.metrics, system.events, system.asynchronous_metrics三张系统表。本文将首先来对这三张表来做一个说明,不管最终的监控是通过Prometheus还是Grafana来呈现,这三张表都是最终监控数据的来源。system.metrics该表记录的是一些即时计算出来的指标,显示的总是当前值,包括了三原创 2021-09-27 00:09:35 · 760 阅读 · 0 评论 -
clickhouse之HDFS云存储
文章目录测试环境配置方法底层实现零拷贝总结导读:看官方文档说clickhouse现在支持HDFS和AWS S3作为数据存储的仓库,如果是这样的话,那就意味着基于clickhouse也可以实现"存储与计算分离"的架构设计了,那自然对于整个系统的可靠性和可扩展性是有极大帮助的。本文尝试着对这一新功能一探究竟~~测试环境clickhouse版本:21.8, 我们的环境之前有一个20.6的版本,尝试后发现并不支持,于是装了一个较新的版本。云存储:HDFS。我们自己的很多产品都是基于Hadoop生态来原创 2021-09-01 00:56:50 · 2414 阅读 · 0 评论 -
clickhouse之bitmap
1. bitmap知多少2. clickhouse中的bitmap函数3. clickhouse+bitmap的使用场景原创 2021-08-29 01:06:30 · 6015 阅读 · 2 评论 -
clickhouse之HDFS引擎(支持kerberos环境)
翻译自官网文档:https://clickhouse.tech/docs/en/engines/table-engines/integrations/hdfs/文章目录用法实现细节通配符举例配置配置选项kerberos支持Clickhouse通过HDFS引擎可以实现对HDFS上数据的管理,从而实现了与Apache Hadoop生态圈的集成。该引擎和File以及URL类型的引擎十分相似,不同之处在于提供了一些Hadoop相关的功能。用法ENGINE = HDFS(URI, format)UR.翻译 2021-08-19 00:51:46 · 2270 阅读 · 4 评论 -
clickhouse之物化视图
文章目录1. 何为物化视图?2. 幕后英雄-AggregatingMergeTree3. 如何使用物化视图?用空间换时间是编程世界的指导思想之一。1. 何为物化视图?“视图(view)”是传统关系型数据库设计中的一个基本概念,其根本目的是为了简化查询,那么在clickhouse的设计中也借鉴了这一概念。视图分为普通和物化两种:普通视图的话只是一层简单的查询代理,其本身不会占用任何存储空间,当然也不会带来查询性能的提升;而物化视图则具有独立的存储,在原表写入数据的时候,物化视图的数据也会跟着更新,原创 2021-08-12 01:03:05 · 1749 阅读 · 0 评论 -
clickhouse之向量执行引擎
clickhouse作为一款OLAP类型的数据库为什么快?可以列出来的原因有很多,比如:列式存储、多级索引优化、算法优化等等,其中对硬件性能的极致压榨也是其中一个很重要的原因,引入向量化执行引擎就是一个代表性的操作。所谓向量化执行引擎其实就是利用了CPU的SIMD指令来处理计算。1. SIMDSIMD:Single Instruction Multiple Data,即单条指令操作多条数据。SSE: Streaming SIMD Extensions,是一种SIMD指令集。SSE有8个128位寄存原创 2021-08-08 00:25:52 · 3211 阅读 · 2 评论 -
clickhouse之JDBC表引擎
clickhouse相比其他数据库的一个特点就是提供了丰富的外部表引擎,其中JDBC引擎允许clickhouse直接通过JDBC接口与外部数据库对接。借助这个特点,clickhouse的一个使用场景就是作为跨数据源的查询引擎。本文主要介绍如何在clickhouse中使用JDBC表引擎。1. clickhouse-jdbc-bridge要想实现JDBC表引擎的功能,clickhouse需要借助clickhouse-jdbc-bridge来提供查询代理服务。clickhouse-jdbc-bridge的gi原创 2021-08-03 23:37:08 · 2205 阅读 · 1 评论 -
clickhouse之索引
索引技术是一款数据库产品的核心,那么clickhouse是如何来使用索引的呢?我们试着来一窥究竟吧~~注意:本文所说的索引是指MergeTree引擎下的索引技术。1. 稀疏索引首先,clickhouse的一级索引使用了一种叫做稀疏索引的技术,那么何为稀疏索引呢?既然有稀疏索引,是不是相对的也有稠密索引呢?没错,确实有。二者的区别如下:稠密索引: 每行数据记录都会对应一行索引标记。稀疏索引: 每隔若干行记录对应一条索引标记。既然概念清楚了,那么使用稀疏索引带来的好处也是显而易见的,那就是可以大幅减原创 2021-08-01 00:59:28 · 9515 阅读 · 4 评论 -
clickhouse之partition
文章目录1. partition初体验2. partition原理3. 再看partition4. TTL设置1. partition初体验项目中有张400亿条记录的表,建表时用partition by date_time按天做了分区,同样查一天的数据,对某个字段做汇聚,如果按非partition的字段做范围查询,查询耗时1164秒,见下图:但如果按分区字段查询,查询时间则缩短到了4秒钟,简直天壤之别~~:2. partition原理3. 再看partition4. TTL设置...原创 2021-07-29 00:50:37 · 3591 阅读 · 0 评论 -
clickhouse文件导入导出
文章目录1. csv文件2. sql文件1. csv文件导出命令clickhouse-client -h 127.0.0.1 --database="db" --port 9100 --passwowrd=xxxx --query="select * from db_name.table_name FORMAT CSV" > table_name.csv注:127.0.0.1为clickhouse数据库的IP,本例中数据库在本地,所以使用127.0.0.1的地址database选项原创 2021-07-22 00:14:26 · 2861 阅读 · 0 评论