ClickHouse基础学习

328 阅读2分钟

环境: CentOS 7

一、ClickHouse的安装

1. 安装

  • 1、这里学习,我用的是单机版ClickHouserpm包安装,包的链接地址在(packages.clickhouse.com/rpm/lts/) 四个包,下载好放在同一个目录下。

image.png

  • 2、使用 rpm 命令安装 sudo rpm -i *.rpm, 中间需要输入密码。

image.png

2. 配置文件修改

  • 修改 server 默认配置。监听主机(仅本地)和tcp端口(9000hdfs冲突),文件在 /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仓库自己下载) image.png
  • 用户名是 default ,密码是在安装ClickHouse时设置的

image.png

二、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中