clickhouse学习之路----clickhouse的特点及安装

news2025/1/16 21:11:05

clickhouse学习笔记

反正都有学不完的技术,不如就学一学clickhouse吧


文章目录

  • clickhouse学习笔记
  • clickhouse的特点
    • 1.列式存储
    • 2. DBMS 的功能
    • 3.多样化引擎
    • 4.高吞吐写入能力
    • 5.数据分区与线程级并行
  • clickhouse安装
    • 1.关闭防火墙
    • 2.CentOS 取消打开文件数限制
    • 3.安装依赖
    • 4. CentOS 取消 SELINUX
    • 5.上传文件
    • 5.安装
    • 6.修改配置文件
    • 7.启动服务
    • 8.client 连接 server


clickhouse的特点

1.列式存储

以下面表为例

idnameage
1张三18
2李四22
3王五30

1.采用行式存储时,数据在磁盘上的组织结构为
在这里插入图片描述
2.采用列式存储时,数据在磁盘上的组织结构为1
在这里插入图片描述
显而易见的优点是:
1)对于列的聚合,计数,求和等统计操作原因优于行式存储。
2)由于某一列的数据类型都是相同的,针对于数据存储更容易进行数据压缩,每一列选择更优的数据压缩算法,大大提高了数据的压缩比重。
3)由于数据压缩比更好,一方面节省了磁盘空间,另一方面对于 cache 也有了更大的发挥空间。

2. DBMS 的功能

几乎覆盖了标准 SQL 的大部分语法,包括 DDL 和 DML,以及配套的各种函数,用户管理及权限管理,数据的备份与恢复。

3.多样化引擎

ClickHouse 和 MySQL 类似,把表级的存储引擎插件化,根据表的不同需求可以设定不同的存储引擎。目前包括合并树、日志、接口和其他四大类 20 多种引擎

4.高吞吐写入能力

ClickHouse 采用类 LSM Tree的结构,数据写入后定期在后台 Compaction。通过类 LSM tree的结构,ClickHouse 在数据导入时全部是顺序 append 写,写入后数据段不可更改,在后台compaction 时也是多个段 merge sort 后顺序写回磁盘。顺序写的特性,充分利用了磁盘的吞吐能力,即便在 HDD 上也有着优异的写入性能。
官方公开 benchmark 测试显示能够达到 50MB-200MB/s 的写入吞吐能力,按照每行100Byte 估算,大约相当于 50W-200W 条/s 的写入速度。

5.数据分区与线程级并行

ClickHouse 将数据划分为多个 partition,每个 partition 再进一步划分为多个 index granularity(索引粒度),然后通过多个 CPU核心分别处理其中的一部分来实现并行数据处理。在这种设计下,单条 Query 就能利用整机所有 CPU。极致的并行处理能力,极大的降低了查询延时。
所以,ClickHouse 即使对于大量数据的查询也能够化整为零平行处理。但是有一个弊端就是对于单条查询使用多 cpu,就不利于同时并发多条查询。所以对于高 qps 的查询业务,ClickHouse 并不是强项。

clickhouse安装

此安装为虚拟机安装

1.关闭防火墙

关闭防火墙:systemctl stopfirewalld
禁用防火墙:systemctl disabled firewalld
查看防火墙状态:systemctl status firewalld

在这里插入图片描述

2.CentOS 取消打开文件数限制

列出所有的参数选项 ulimt -a

在这里插入图片描述
ulimit的作用:
假设一台机器现在有10人登陆,在系统资源没有限制的情况下,一个人又打开500个文件,每个文件有10m,那这个时候系统内存的资源就收到严重的挑战
而实际应用的环境要比这种假设复杂的多,例如在一个嵌入式开发环境中,各方面的资源都是非常紧缺的,对于开启文件描述符的数量,分配堆栈的大小,CPU 时间,虚拟内存大小,等等,都有非常严格的要求。资源的合理限制和分配,不仅仅是保证系统可用性的必要条件,也与系统上软件运行的性能有着密不可分的联系。这时,ulimit 可以起到很大的作用,它是一种简单并且有效的实现资源限制的方式。
常用参数:

ulimit -a 列出所有的参数选项
ulimit -H 设置硬件资源限制
ulimit -S 设置软件资源限制
ulimit -n 设置应许打开文件数

格式:

domain:可以是用户或者用户组 *代表所有
type:可以有两个值,soft 和 hard
item:表示要限定的资源 可以有很多候选值,如 stack(最大堆栈大小),cpu(占用cpu的时间),nofile(最大打开文件数),nproc(最大开的进程数)
例:* hard nofile 100 该行配置语句限定了任意用户所能创建的最大文件数是 100。

修改ulimit参数,配置文件是:/etc/security/limits.conf
[root@hadoop ~]# sudo vim /etc/security/limits.conf

在这里插入图片描述

[root@hadoop ~]# sudo vim /etc/security/limits.d/20-nproc.conf
可能会覆盖/etc/security/limits.conf,所以在该文件中也配置一份

在这里插入图片描述

3.安装依赖

[root@hadoop ~]# yum install -y libtool
[root@hadoop ~]# yum install -y *unixODBC*

4. CentOS 取消 SELINUX

[root@hadoop ~]# vim /etc/selinux/config
SELINUX=disabled

在这里插入图片描述
查看是否生效
因为没有重启,所以默认是生效的
在这里插入图片描述
若在生产环境中需要改变状态,则可以启用临时生效
假设状态为开,可以临时关闭。若现状态为关,想要开启必须重启!

setenforce 0 # 0表示关闭 1 表示开启

上述安装前工作准备好之后,虚拟机重启
官网下载安装包这里选择手动下载安装
链接: https://packages.clickhouse.com/rpm/stable/

5.上传文件

在/opt/install目录下创建ck文件夹来存放clickhouse四个安装包
在这里插入图片描述
将安装包上传至/opt/install/ck
在这里插入图片描述

5.安装

切换目录至opt/install/ck下安装

[root@hadoop ck]# sudo rpm -ivh *.rpm

在这里插入图片描述

6.修改配置文件

[root@hadoop ck]# vim /etc/clickhouse-server/config.xml 
使用 /isten 来查找关键字
将<listen_host>::</listen_host> 的注释打开,这样的话才能让ClickHouse 被除本机以外的服务器访问

在这里插入图片描述

7.启动服务

[root@hadoop ck]# systemctl start clickhouse-server
[root@hadoop ck]# ps -ef|grep clickhouse #查看进程

在这里插入图片描述

8.client 连接 server

[root@hadoop ck]# clickhouse-client --password 

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1031533.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

IDEA回滚代码

1、查看提交日志&#xff0c;选择回滚到指定提交 2、选择Hard&#xff0c;点击reset Reset Type 有三种&#xff1a; mixed 默认方式&#xff0c;只保留源码&#xff0c;回退commit和index信息 soft 回退到某个版本&#xff0c;只回退了commit的信息&#xff0c;不会恢复到in…

有效的网络带宽监控策略

世界各地的企业正在采用多种策略来减少瓶颈、增强网络性能并最大限度地提高投资回报率&#xff0c;以跟上不断发展的混合基础架构的步伐。虽然这些策略因组织而异&#xff0c;并提供了自己的好处&#xff0c;但它们可能会使 IT 基础架构的监控方式复杂化。在设计有效的监控策略…

博弈论——连续产量古诺模型

连续产量古诺模型 连续产量古诺模型是博弈论中非常经典的模型&#xff0c;以两厂商连续产量古诺博弈为例&#xff1a; 1、模型建立 Player&#xff1a;两个供应相同产品的厂商 产量&#xff1a;厂商1的产量为q1&#xff0c;厂商2的产量为q2&#xff0c;市场总供给为Qq1q2。…

【二、安装centOS】

下载 地址&#xff1a;https://mirrors.aliyun.com/centos/ 地址 1、https://mirrors.aliyun.com/centos/7.9.2009/ 2、https://mirrors.aliyun.com/centos/7.9.2009/isos/ 3、https://mirrors.aliyun.com/centos/7.9.2009/isos/x86_64/ 选哪一个 可以选择第一个&#xff0…

知识图谱基本工具Neo4j使用笔记 五 :APOC插件安装及简单应用

文章目录 一、使用场景二、系统说明三、配置安装1. 插件下载2. 文件下载说明3. 版本对应4. 安装位置5. 修改配置文件6. 注意问题7. web端启动&#xff1a;测试 四、简单应用1. 编辑距离2. 基于编辑距离的相似度3. 模糊匹配 一、使用场景 APOC&#xff08;Awesome Procedures o…

等差数列和等比数列 常用公式

等差数列 定义 通项公式 &#xff0c; 公差 &#xff0c; 前n项和公式 中项公式 下标&#xff1a;mnpq&#xff0c;则 等比数列 定义 通项公式 &#xff0c; 公比 &#xff0c; 前n项和公式 &#xff0c; 中项公式 下标&#xff1a;mnpq&#xff0c;则

数据库JDBC编程

JDBC JDBC是干啥的呢&#xff1f; 简单来说就是用java代码操作数据库 各种数据库&#xff0c;在开发的时候&#xff0c;就会提供一组编程接口&#xff08;API&#xff09; API&#xff1a;Application Program Interface 简单来说就是有个软件&#xff0c;这个软件给你一些功能…

Arduino程序设计(十三)触摸按键实验(TTP223)

触摸按键实验 前言一、TTP223触摸按键模块二、触摸按键控制LED二、触摸按键状态检测 前言 本文介绍触摸按键控制LED的原理及实验&#xff0c;主要内容有&#xff1a;1、介绍TTP223触摸按键模块&#xff1b;2、触摸按键控制LED&#xff1b;3、触摸按键状态检测。 一、TTP223触摸…

竞赛选题 基于深度学习的植物识别算法 - cnn opencv python

文章目录 0 前言1 课题背景2 具体实现3 数据收集和处理3 MobileNetV2网络4 损失函数softmax 交叉熵4.1 softmax函数4.2 交叉熵损失函数 5 优化器SGD6 最后 0 前言 &#x1f525; 优质竞赛项目系列&#xff0c;今天要分享的是 &#x1f6a9; **基于深度学习的植物识别算法 ** …

腾讯云cvm云硬盘扩容

过去一直记得腾讯云的系统盘扩容,关于系统盘的扩容直接点资源调整-云硬盘扩容 系统盘扩容后就可以直接使用的&#xff1f; 但是现在操作了发现vda 200G 但是现在vda1不能自动扩容了&#xff1f; 腾讯云cvm云硬盘扩容 先看一眼官方文档吧&#xff1a;在线扩展系统盘分区及文…

全套办公软件Office 2019 mac专业版功能

Microsoft office 2019 Beta for Mac 是一款办公软件套装&#xff0c;它包含常用的办公应用程序&#xff0c;如 Word、Excel、PowerPoint 和 Outlook 等。office 2019 Beta 版本是一个测试版本&#xff0c;旨在让用户提前体验下一个版本的 office 套件&#xff0c;以便用户可以…

能进大厂?阿里云ACE认证到底有多香!

中国云计算火爆的当下&#xff0c;阿里云一枝独秀&#xff0c;市场占有率比排名后5名的总和还要多。在全球的云计算市场上&#xff0c;阿里云也是排名第三&#xff0c;超过谷歌云。这足以说明了市场对于阿里云产品解决方案的需求之大。 而阿里云云计算架构师ACE认证是针对云架构…

记录一次DLL分析实战

记录一次DLL分析实战 1.VT查看分析报告2.判断文件是否加壳3.查看导入函数4.查看是否有任何其他文件或基于主机的迹象5.使用工具IDA Pro进行字符串分析 1.VT查看分析报告 virustotal 全绿&#xff0c;没有报毒&#xff1a; 可以看到这个dll是32位的&#xff1a; 下面可以看它调…

如何在SOLIDWORKS PDM中快速导出BOM表

在SOLIDWORKS PDM中&#xff0c;选择装配体后&#xff0c;下方就可以直接看到该装配体的材料明细表&#xff0c;并直接导出CSV文件&#xff0c;在材料明细表里我们可以去定义我们要输出哪些属性信息&#xff0c;但是不能定义BOM表格的表头样式&#xff0c;所以导出材料明细表之…

Java中this关键字的常见用法

一、this 使用方法 总结下来就是&#xff0c;在Java中&#xff0c;this是一个关键字&#xff0c;用于引用当前对象的引用&#xff0c;可以用于引用对象的实例变量和方法。主要用于以下几个方面&#xff1a; 1、在构造函数中使用this关键字来调用同一个类中的其他构造函数。这种…

【c语言】贪吃蛇

当我们不想学习新知识的时候&#xff0c;并且特别无聊&#xff0c;就会突然先看看别人怎么写游戏的&#xff0c;今天给大家分享的是贪吃蛇&#xff0c;所需要的知识有结构体&#xff0c;枚举&#xff0c;以及easy-x图形库的一些基本函数就完全够用了&#xff0c;本来我想插入游…

7.1 实现进程内存块枚举

在Windows操作系统中&#xff0c;每个进程的虚拟地址空间都被划分为若干内存块&#xff0c;每个内存块都具有一些属性&#xff0c;如内存大小、保护模式、类型等。这些属性可以通过VirtualQueryEx函数查询得到。 该函数可用于查询进程虚拟地址空间中的内存信息的函数。它的作用…

【C++】STL之适配器---用deque实现栈和队列

目录 前言 一、deque 1、deque 的原理介绍 2、deque 的底层结构 3、deque 的迭代器 4、deque 的优缺点 4.1、优点 4.2、缺点 二、stack 的介绍和使用 1、stack 的介绍 2、stack 的使用 3、stack 的模拟实现 三、queue 的介绍和使用 1、queue 的介绍 2、queue 的使用 3、qu…

​专业图像处理软件 Photoshop 2023 mac版本更新(ps2023中文)

​Photoshop 2023 mac是一款图像编辑和图形设计软件&#xff0c;广泛应用于专业人士和爱好者。它提供了许多工具和功能&#xff0c;用于创建、编辑和增强数字图像&#xff0c;包括图层、蒙版、滤镜和各种选择工具。Photoshop还支持多种文件格式&#xff0c;包括psD、JPEG、PNG和…

APP开发者如何运用积分墙广告,提升APP应用下载和用户留存?

“积分墙”移动广告通过在应用内展示各种积分任务&#xff0c;鼓励用户完成任务以获得积分奖励&#xff0c;从而增加应用的曝光度和下载量。 一、什么是积分墙&#xff1f; 积分墙是一种第三方移动广告平台。开发者可以在这类平台上发布任务&#xff08;如下载安装 App、注册…