环境: CentOS 7
一、ClickHouse的安装
1. 安装
- 1、这里学习,我用的是单机版的ClickHouse,rpm包安装,包的链接地址在(packages.clickhouse.com/rpm/lts/) 四个包,下载好放在同一个目录下。
- 2、使用 rpm 命令安装
sudo rpm -i *.rpm, 中间需要输入密码。
2. 配置文件修改
- 修改 server 默认配置。监听主机(仅本地)和tcp端口(9000 和hdfs冲突),文件在
/etc/clickhouse-server/config.xml
<tcp_port>9001</tcp_port>
<http_port>8123</http_port>
<listen_host>0.0.0.0</listen_host>
3. 启动
- 启动服务
systemctl start clickhouse-server.service - 查看服务状态
systemctl status clickhouse-server.service - 重启服务
systemctl restart clickhouse-server.service - 查看 端口占用情况
netstat -lnpt | grep 9001 - 使用命令行进入clickhouse客户端
clickhouse-client --port 9001 --password 123456(密码改成你自己设置的)
4. datagrip 连接
- 需要两个驱动包 (可以用datagrip自带的,也可以自己去maven仓库自己下载)
- 用户名是
default,密码是在安装ClickHouse时设置的
二、ClickHouse的基础学习
1. 特点
- 两个名词
- OLTP(联机事务处理系统) 例如mysql等关系型数据库,在对于存储小数据量的时候,查询数据并分析速度很快,OLTP本身其实是一个逻辑上的概念,指的是某个数据库,主要是针对增删改操作的。 里面的数据会经常的发生变化。
- OLAP(联机分析处理系统) 指的是数据库中的数据长期不变,有着大量的历史数据,并且可以随时的做分析,而增删改操作很少。
OLAP 种类数据库的特点
1、绝大多数是读请求
2、数据以相当大的批次(> 1000行)更新,而不是单行更新;或者根本没有更新。
3、已添加到数据库的数据不能修改。
4、对于读取,从数据库中提取相当多的行,但只提取列的一小部分。
5、宽表,即每个表包含着大量的列
6、查询相对较少(通常每台服务器每秒查询数百次或更少)
7、对于简单查询,允许延迟大约50毫秒
8、列中的数据相对较小:数字和短字符串(例如,每个URL 60个字节)
9、处理单个查询时需要高吞吐量(每台服务器每秒可达数十亿行)
10、事务不是必须的
11、对数据一致性要求低
12、每个查询有一个大表。除了他以外,其他的都很小。
13、查询结果明显小于源数据。换句话说,数据经过过滤或聚合,因此结果适合于单个服务器的RAM中