• 大数据存储ClickHouse


    clickhouse简介

    ClickHouse 是俄罗斯的 Yandex 于 2016 年开源的用于在线分析处理查询(OLAP :Online Analytical Processing)MPP架构的列式存储数据库(DBMS:Database Management System),能够使用 SQL 查询实时生成分析数据报告。ClickHouse的全称是Click Stream,Data WareHouse。

    clickhouse特点

    • 列式存储

      行式存储的好处:

      • 想查找某个人所有的属性时,可以通过一次磁盘查找加顺序读取就可以;但是当想查所有人的年龄时,需要不停的查找,或者全表扫描才行,遍历的很多数据都是不需要的。

      列式存储的好处:

      • 对于列的聚合、计数、求和等统计操作优于行式存储
      • 由于某一列的数据类型都是相同的,针对于数据存储更容易进行数据压缩,每一列选择更优的数据压缩算法,大大提高了数据的压缩比重
      • 数据压缩比更好,一方面节省了磁盘空间,另一方面对于cache也有了更大的发挥空间
      • 列式存储不支持事务
    • 高吞吐写入能力
      ClickHouse采用类LSM Tree的结构,数据写入后定期在后台Compaction。通过类 LSM tree的结构, ClickHouse在数据导入时全部是顺序append写,写入后数据段不可更改,在后台compaction时也是多个段merge sort后顺序写回磁盘。顺序写的特性,充分利用了磁盘的吞吐能力。

    • 数据分区与线程及并行
      ClickHouse将数据划分为多个partition,每个partition再进一步划分为多个index granularity(索引粒度),然后通过多个CPU核心分别处理其中的一部分来实现并行数据处理。在这种设计下, 单条 Query 就能利用整机所有 CPU。 极致的并行处理能力,极大的降低了查询延时。

      所以, ClickHouse 即使对于大量数据的查询也能够化整为零平行处理。但是有一个弊端就是对于单条查询使用多cpu,就不利于同时并发多条查询。所以对于高 qps 的查询业务并不是强项。

    clickhouse安装

    clickhouse官网地址:https://clickhouse.com/
    官网安装部署地址:https://clickhouse.com/docs/zh/getting-started/install

    1. 下载tgz安装包

    安装包地址:https://packages.clickhouse.com/tgz/stable/
    在这里插入图片描述
    执行解压安装:

    tar -zxvf clickhouse-common-static-21.1.9.41.tgz
    ./clickhouse-common-static-21.1.9.41/install/doinst.sh
    
    tar -zxvf clickhouse-common-static-dbg-21.1.9.41.tgz
    ./clickhouse-common-static-dbg-21.1.9.41/install/doinst.sh
    
    tar -zxvf clickhouse-server-21.1.9.41.tgz
    ./clickhouse-server-21.1.9.41/install/doinst.sh
    
    tar -zxvf clickhouse-client-21.1.9.41.tgz
    ./clickhouse-client-21.1.9.41/install/doinst.sh
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11

    查看clickhouse命令:

    clickhouse --help
    
    • 1

    启动clickhouse

    clickhouse start
    
    • 1

    连接clickhouse 客户端

    clickhouse-client
    
    • 1

    在这里插入图片描述

    查看数据库

    show databases;
    
    • 1

    在这里插入图片描述
    退出客户端

    quit;
    
    • 1

    在这里插入图片描述

    clickhouse 核心配置文件目录
    在这里插入图片描述
    clickhouse 日志路径
    在这里插入图片描述
    clickhouse 数据目录
    在这里插入图片描述

    clickhouse 连接

    修改config.xml 配置文件
    在这里插入图片描述
    然后重启服务

    clickhouse restart
    
    • 1

    连接其它虚拟机

    clickhouse-client -h hadoop03
    
    • 1
    # 查看防火墙规则
    firewall-cmd --list-all    # 查看全部信息
    firewall-cmd --list-ports  # 只看端口信息
    
    # 开启端口
    开端口命令:firewall-cmd --zone=public --add-port=8123/tcp --permanent
    重启防火墙:systemctl restart firewalld.service
    
    命令含义:
    --zone #作用域
    --add-port=8123/tcp  #添加端口,格式为:端口/通讯协议
    --permanent   #永久生效,没有此参数重启后失效
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    http://192.168.241.128:8123/
    
    • 1

    clickhouse 修改表字段名称、类型

    • 修改字段名称
    ALTER TABLE db_name.table_name RENAME COLUMN regionId to region;
    
    • 1
    • 修改字段类型
    ALTER TABLE db_name.table_name MODIFY COLUMN endTimestamp Int64;
    
    • 1
    • 添加字段
    ALTER TABLE db_name.table_name ADD COLUMN `$user_id` Nullable(String); 
    
    • 1
    • 删除字段
    ALTER TABLE db_name.table_name DROP COLUMN `$user_id`;
    
    • 1
  • 相关阅读:
    Xib添加scrollView再添加subView约束不报错的两种方式
    领域驱动设计:分布式架构关键设计10问
    算法系列-链表操作总结
    卷积神经网络的基本操作,卷积神经网络百度百科
    异步复位同步释放在实际项目中的应用
    5G工业网关的科技治超应用 超限超重超速非现场联合执法
    csdn最新最全pytest系列——pluggy插件源码解读(一)HookspecMarker类和HookimplMarker类分析
    【CVPR2020】DEF:Seeing Through Fog Without Seeing Fog论文阅读分析与总结
    《Unix系统编程手册》第三章系统编程概念学习
    Gstreamer应用开发实战指南(五)
  • 原文地址:https://blog.csdn.net/AliEnCheng/article/details/126776042