统计系统技术方案-clickhouse


前言

随着系统的增多与功能的增多,在运营与功能优化的决策上面需要通过数据来进行选择。所以会衍生出统计系统出来,当然现在有很多可以通过接入就能统计的服务。但是如果需要搭建属于自己的统计系统,就可以选择clickhouse来进行统计数据的保存,用grafana来进行数据的展示。

一、为什么选择clickhouse存数据?

列式存储

mysql为行式存储,优点:

想查找某个人所有的属性时,可以通过一次磁盘查找加顺序读取就可以;但是当想查所有人的年龄时,需要不停的查找,或者全表扫描才行,遍历的很多数据都是不需要的。

clickhouse为列式存储,优点:

1、 对于列的聚合、计数、求和等统计操作优于行式存储
2、由于某一列的数据类型都是相同的,针对于数据存储更容易进行数据压缩,每一列选择更优的数据压缩算法,大大提高了数据的压缩比重
3、数据压缩比更好,一方面节省了磁盘空间,另一方面对于cache也有了更大的发挥空间
4、列式存储不支持事务

DBMS功能

clickhouse的语法和mysql的语法非常相似,会mysql的基本上能够直接上手clickhouse,进行增删改查的操作,所以学习的成本很少

表引擎多样化

在使用clickhouse表时,有很多结构的表引擎,针对不同的需求存放不同的数据,然后查询想要的结果。目前有合并树、日志、接口和其他四大类20多种引擎。

高吞吐写入能力:

ClickHouse采用类LSM Tree的结构,数据写入后定期在后台Compaction。通过类 LSM tree的结构, ClickHouse在数据导入时全部是顺序append写,写入后数据段不可更改,在后台compaction时也是多个段merge sort后顺序写回磁盘。顺序写的特性,充分利用了磁盘的吞吐能力。

数据分区与线程及并行:

ClickHouse将数据划分为多个partition,每个partition再进一步划分为多个index granularity(索引粒度),然后通过多个CPU核心分别处理其中的一部分来实现并行数据处理。在这种设计下, 单条 Query 就能利用整机所有 CPU。 极致的并行处理能力,极大的降低了查询延时。

所以, ClickHouse 即使对于大量数据的查询也能够化整为零平行处理。但是有一个弊端就是对于单条查询使用多cpu,就不利于同时并发多条查询。所以对于高 qps 的查询业务并不是强项。

数据格式高程度自定义

能够根据自己的业务情况,自定义要统计的任何数据,所以使用很方便。

二、安装运行步骤

1.安装

下载地址:下包地址
需要在这个页面中下载四个版本对应的文件包,分别是:
clickhouse-client-xxx.noarch.rpm
clickhouse-common-static-xxx.rpm
clickhouse-common-static-dbg-xxx.rpm
clickhouse-server-xxx.noarch.rpm
在这里插入图片描述
然后将这些包全部放到服务器的目录下,运行sudo rpm -ivh *.rpm进行安装,默认账户为default,密码在安装的过程中会让你输入。

2. 启动服务

相关文件路径

安装成功之后,配文文件分别在以下路径:
bin/ ===>/usr/bin/
conf/ ===>/etc/clickhouse-server/ 服务配置与用户配置
lib/ ===>/var/lib/clickhouse 数据存储 可修改
log/ ===>/var/log/clickhouse 日志存储 可修改

启动服务

运行clickhouse start就可以启动服务了。
在这里插入图片描述

连接clickhouse

安装时,未设置密码,运行clickhouse-client -m,-m代表可以多行输入命令。
设置了密码,就运行clickhouse-client --user default --password xxxxx -m
在这里插入图片描述

操作clickhouse

在这里插入图片描述
是不是和mysql语法非常的像?具体的语法就不一一介绍了,去官网看吧。语法文档

记得在文档右上角切换成中文
在这里插入图片描述

附带

需要远程访问clickhouse的话,需要讲配置文件中的listen_host打开
在这里插入图片描述

总结

在我的调研里面,clickhouse是学习成本最低,数据处理又快的一个技术,而且安装与使用很简单。
后续介绍怎么保存数据,并且在grafana中展示。

文章引用:知乎

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值