Clickhouse (一)

一. Clickhouse简介

Clickhouse  是开源的列式存储数据库 (DBMS) 源码是使用 C++语言编写 主要用于 在线分析处理查询 能使用SQL查询实时生成分析数据报告 (分析型数据库 特点就是方便增删查改)

二.Clickhouse特点

1 . 列式存储  (Hbase 也是列式存储)

列式存储的好处:

( 1.对于列的聚合,计数,求和等统计操作原因优于行式存储

2.由于每一列的数据类型都是相同的,针对数据存储更容易进行数据压缩

3.由于数据压缩比更好,所以相对了节省了磁盘空间,对于缓存(cache)也有更好的发挥空间)

2.DBMS的功能

是运用sql语法,包括了DDL 建表语句 字段名和DML 查询语句 以及配套的各种函数 (count sum ),用户管理及权限管理,数据的备份和恢复

3.多样化引擎

Clickhouse 和MySQL (innodb:提供了事务 mariadb :没有事务)类似,把表级的存储引擎插件化 合并树,日志,接口和其他四大类的20种引擎 最常用的是合并树 (Merge Tree 这是一个家族 里面有很多引擎)

4.高吞吐的写入能力

Clickhouse 采用类 LSM Tree (hbase 也是这个 写入的时候先写入到缓存  然后进行合并(定期合并) 然后才会进行缓存上的数据操作 根据时间戳 只有合并的时候才会把老数据真正的删除替代掉)的结构 顺序追加写 (kafka 高效是因为它是顺序写 对比随机写高 6000倍) 写入后数据不可更改 然后进行规定排序 写入到磁盘 所以总结 1 采用了LSM Tree 这个结构 2 定期合并 3 顺序写

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

 数据分区(之前在 hive 的时候也有学习 分区的主要目的是为了避免全表搜索 从而提升搜索效率) 

线程级 (单条的查询 就能利用本机所有的CPU 所有它才快 所有也导致了它的缺陷 多数查询的时候就会变慢 所有高 qps不是它的强项) 后续使用的时候  这一点会导致一些问题 也就是在一些情况下 会不好使用 费CPU  所以它不适合做初始的储存 适合做后期已经处理过的大量的字段多的宽表查询

6.性能对比

单表查询的情况下 Clickhouse 是最具有优势的选择

关联查询的情况下 在设计到join的情况下 虐式就比较明显了

 两张表查询的时候 它会把 右表存到缓存 然后跟左表挨个对比 这也是导致它慢的原因

虚拟机操作:

 ulimit -a

Open files  表示打开的文件数

Max user processes 进程数

用ES 调整这两个数值

从上往下一次为:

"*"  所有的用户所有的组  给单个用户

Soft 软状态 当前生效的

Hard 硬 状态 最大生效的 (上限)

在设置的时候 软的要 小于或等于硬的

还有一个 -配值 表示软硬一起配

nofile    用户能打开的文件数   65536最大数

Nproc  打开文件数  用户能打开的进程数  131072最大数

设置完后 需要重新登录 就会生效  (所有的虚拟机都要配)

安全系统 查看和临时关闭

 0 是开启 1 是关闭

版本差异:

服务端的配置 (集群的配置): config

参数配置(cpu,最大内存使用):  users

数据路径  (可以修改 存储数据的路径  但是不推荐修改)

日志存储路径 上面是进程日志  下面是报错的日志

更改完配置后需要刷新重启 :sudo clickhouse restart

因为之前设置了 密码所以在使用的时候后面需要加上--password  然后回车输入密码

然后我们就可以正常的进行各种SQL操作

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值