目录

1. ClickHouse简介

1.1 ClickHouse优点:

1.2 ClickHouse缺点:

1.3 ClickHouse引擎:

1.3.1 数据库引擎

1.3.2 表引擎

2. ClickHouse下载安装

2.1 ClickHouse下载安装

2.2 ClickHouse使用


1. ClickHouse简介

        ClickHouse是俄罗斯的Yandex于2016年开源的一个用于联机分析(OLAP:Online Analytical Processing)的列式数据库管理系统(DBMS:Database Management System) , 主要用于在线分析处理查询(OLAP),能够使用SQL查询实时生成分析数据报告。 ClickHouse的全称是Click Stream,Data WareHouse,简称ClickHouse

​ ClickHouse是一个完全的列式分布式数据库管理系统(DBMS),允许在运行时创建表和数据库,加载数据和运行查询,而无需重新配置和重新启动服务器,支持线性扩展,简单方便,高可靠性,容错。它在大数据领域没有走 Hadoop 生态,而是采用 Local attached storage 作为存储,这样整个 IO 可能就没有 Hadoop 那一套的局限。它的系统在生产环境中可以应用到比较大的规模,因为它的线性扩展能力和可靠性保障能够原生支持 shard + replication 这种解决方案。它还提供了一些 SQL 直接接口,有比较丰富的原生 client。

1.1 ClickHouse优点:

1.灵活的MPP架构,支持线性扩展,简单方便,高可靠性

2.多服务器分布式处理数据 ,完备的DBMS系统

3.底层数据列式存储,支持压缩,优化数据存储,优化索引数据 优化底层存储

4.容错跑分快:比Vertica快5倍,比Hive快279倍,比MySQL快800倍,其可处理的数据级别已达到10亿级别

5.功能多:支持数据统计分析各种场景,支持类SQL查询,异地复制部署

6.海量数据存储,分布式运算,快速闪电的性能,几乎实时的数据分析 ,友好的SQL语法,出色的函数支持。

1.2 ClickHouse缺点:

1.不支持事务,不支持真正的删除/更新;

2.不支持高并发,官方建议qps为100,可以通过修改配置文件增加连接数,但是在服务器足够好的情况下;

3.SQL满足日常使用80%以上的语法,join写法比较特殊;最新版已支持类似SQL的join,但性能不好;

4.尽量做1000条以上批量的写入,避免逐行insert或小批量的insert,update,delete操作,因为ClickHouse底层会不断的做异步的数据合并,会影响查询性能,这个在做实时数据写入的时候要尽量避开;

5.Clickhouse快是因为采用了并行处理机制,即使一个查询,也会用服务器一半的CPU去执行,所以ClickHouse不能支持高并发的使用场景,默认单查询使用CPU核数为服务器核数的一半,安装时会自动识别服务器核数,可以通过配置文件修改该参数。

1.3 ClickHouse引擎:

表引擎是 ClickHouse 的一大特色。可以说, 表引擎决定了如何存储表的数据。包括:

  • 数据的存储方式和位置
  • 支持哪些查询以及如何支持
  • 并发数据访问
  • 索引的使用
  • 是否可以执行多线性请求
  • 数据复制参数

引擎决定了数据的存储位置、存储结构、表的特征(是否修改操作DDL、DDL、是否支持并发操作)

1.3.1 数据库引擎

目前支持的数据库引擎有5种:

Ordinary:默认引擎,在绝大多数情况下我们都会使用默认引擎,使用时无须刻意声明。在此数据库下可以使用任意类型的表引擎。
Dictionary:字典引擎,此类数据库会自动为所有数据字典创建它们的数据表
Memory:内存引擎,用于存放临时数据。此类数据库下的数据表只会停留在内存中,不会涉及任何磁盘操作,当服务重启后数据会被清除
Lazy:日志引擎,此类数据库下只能使用Log系列的表引擎
MySQL:MySQL引擎,将远程的MySQL服务器中的表映射到ClickHouse中,常用语数据的合并。
MaterializeMySQL:MySQL数据同步;将MySQL数据全量或增量方式同步到clickhouse中,解决mysql服务并发访问压力过大的问题。

1.3.2 表引擎

2. ClickHouse下载安装

2.1 ClickHouse下载安装

官方下载地址:https://packages.clickhouse.com/tgz/stable
阿里云下载地址:https://mirrors.aliyun.com/clickhouse/tgz/stable

一共需要下载4个文件:
clickhouse-client-22.2.2.1.tgz
clickhouse-common-static-22.2.2.1.tgz
clickhouse-common-static-dbg-22.2.2.1.tgz
clickhouse-server-22.2.2.1.tgz

将下载后的四个安装文件上传到服务器,这里是上传到linux/opt/software/下。

依次将这四个安装包解压,并且每解压一个,执行一下解压文件夹下的install下的doinst.sh脚本。

1. clickhouse-common-static-22.2.2.1.tgz

tar -zxvf /opt/software/clickhouse-common-static-22.2.2.1.tgz

./clickhouse-common-static-22.2.2.1/install/doinst.sh

2. clickhouse-common-static-dbg-22.2.2.1.tgz

tar -zxvf /opt/software/clickhouse-common-static-dbg-22.2.2.1.tgz

./clickhouse-common-static-dbg-22.2.2.1/install/doinst.sh

3. clickhouse-server-22.2.2.1.tgz

注意:在运行doinst.sh时,clickhouse会默认创建一个default的用户,让你设置密码,不设置密码可以按回车。

tar -zxvf /opt/software/clickhouse-server-22.2.2.1.tgz

./clickhouse-server-22.2.2.1/install/doinst.sh

4. clickhouse-client-22.2.2.1.tgz

tar -zxvf /opt/software/clickhouse-client-22.2.2.1.tgz

./clickhouse-client-22.2.2.1/install/doinst.sh

#查看 clickhouse 命令 

clickhouse --help

#启动clickhouse服务

clickhouse start

启动结果:

2.2 ClickHouse使用

连接clickhouse

clickhouse-client -u default --password 199511

连接成功结果

 clickhouse相关目录

#  命令目录
/usr/bin
ll |grep clickhouse
-------------------------------------------
# 配置文件目录
cd /etc/clickhouse-server/
-------------------------------------------
# 日志目录
cd /var/log/clickhouse-server/
-------------------------------------------
# 数据文件目录
cd /var/lib/clickhouse/

允许远程访问

clickhouse 默认不允许远程访问,需要修改配置文件:

cd /etc/clickhouse-server/
 
vi config.xml

注意:只需要把 <listen_host>::</listen_host> 这一个的注释放开即可。

重启clickhouse服务:

clickhouse restart

在浏览器输入服务器ip:8123验证一下,显示OK即代表可远程连接。

使用客户端连接clickhouse

 第一次连接需要安装驱动,根据提示操作即可安装成功。

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐