一、ClickHouse简介

1. 什么是ClickHouse

ClickHouse是一个完全的列式数据库管理系统,主要用于在线分析处理查询(OLAP),能够使用SQL查询实时生成分析数据报告。

它在大数据领域没有走Hadoop生态,而是采用Local attached storage作为存储,所以没有依赖Hadoop的局限性。
在这里插入图片描述

2. 性能

2.1 优点

  • 数据按列式存储,按向量进行处理,高效的使用CPU;

  • 写入速度非常快,50-200M/s,对于大量的数据更新非常实用;

  • 索引非B树结构,不需要满足最左原则,并行处理机制,全表扫描速度很快;

  • 数据压缩空间大,较少IO;处理查询高吞吐量每台服务器每秒最多十亿条。

2.2 缺点

  • 不支持事务,不支持高并发,官方建议qps为100,可以通过修改配置文件增加连接数
  • 不支持真正的删除/更新支持
  • 不支持二级索引
  • 不支持窗口功能
  • 元数据管理需要人工干预维护
  • 支持SQL 80%以上的语法,最新版支持join但性能不好
  • 尽量做1000条以上的批量写入,因为ClickHouse底层会不断做异步数据合并,影响查询性能

3. 应用场景

  • 绝大多数请求都是用于读访问的
  • 数据需要以大批次(大于1000行)进行更新,而不是单行更新;或者根本没有更新操作
  • 数据只是添加到数据库,没有必要修改
  • 读取数据时,会从数据库中提取出大量的行,但只用到一小部分列
  • 表很“宽”,即表中包含大量的列
  • 查询频率相对较低(通常每台服务器每秒查询数百次或更少)
  • 对于简单查询,允许大约50毫秒的延迟
  • 列的值是比较小的数值和短字符串(例如,每个URL只有60个字节)
  • 在处理单个查询时需要高吞吐量(每台服务器每秒高达数十亿行)
  • 不需要事务
  • 数据一致性要求较低
  • 每次查询中只会查询一个大表。除了一个大表,其余都是小表
  • 查询结果显著小于数据源。即数据有过滤或聚合。返回结果不超过单个服务器内存大小

二、单点安装

  1. 取消打开文件数限制

    vi /etc/security/limits.conf

    vi /etc/security/limits.d/20-nproc.conf

    编辑该两个文件,在文末添加如下内容

* soft nofile 65536 
* hard nofile 65536 
* soft nproc 131072 
* hard nproc 131072
  1. 取消SELINUX

    vi /etc/selinux/config

    修改 SELINUX=disable

在这里插入图片描述

  1. 重启

    reboot

  2. 关闭防火墙

    systemctl stop firewalld
    systemctl disable firewalld

  3. 安装依赖

sudo yum install yum-utils libtool *unixODBC*
sudo rpm --import https://repo.clickhouse.tech/CLICKHOUSE-KEY.GPG
sudo yum-config-manager --add-repo https://repo.clickhouse.tech/rpm/stable/x86_64
  1. 安装

sudo yum install clickhouse-server clickhouse-client

  1. 修改配置,便于外部连接

vi /etc/clickhouse-server/config.xml

编辑内容,将<listen_host>::</listen_host>解开注释,并强制保存
在这里插入图片描述
8. 注意事项: gray注意改配置文件内tcp默认端口为9000,可能会与namenode端口发生冲突,建议修改

三、启动与本地连接

1. 前台启动

sudo -u clickhouse clickhouse-server --config-file=/etc/clickhouse-server/config.xml

2. 关闭

systemctl stop clickhouse-server

3. client本地连接server

clickhouse-client

该开启方式命令只能在一行写入,如果需要多行可以使用如下命令,便于层次清晰

clickhouse-client -m

四、 使用DBeaver连接

  1. 首先启动clickhouse

  2. 填写连接ip,并点击编辑驱动
    在这里插入图片描述

  3. 下载更新后,测试连接
    在这里插入图片描述

在这里插入图片描述

  1. 连接成功
    在这里插入图片描述

五、其他可视化界面

如果不想下载DBeaver,可以使用如下网址登陆,进行可视化展示,同时也可以进行sql编辑

浏览器中输入如下地址

http://ui.tabix.io/#!/login

登陆
在这里插入图片描述
展示如下
在这里插入图片描述

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐