• ClickHouse快速安装-可视化工具连接-创建第一个ck库表(一)


    一、先看看数据库架构演变历史

    二、OLTP和OLAP是什么?

    三、数据库里面行存储和列式存储

     四、为什么用ClickHouse

     五、Linux 快速安装ClickHouse

    5.1  Docker安装

    5.2 Linux服务器容器化部署ClickHouse 

     5.3 可视化工具DBeaver下载使用

     5.4 创建第一个ClickHouse数据库和表


    本博文主要讲了OLAP是什么,以及快速安装ClickHouse(容器化部署),CK可视化工具的下载链接使用以及创建第一个CK数据库和表,然后新增数据,浏览3分钟即可快速掌握这些知识。

    一、先看看数据库架构演变历史

    单机-->请求量大查询慢,单机故障导致业务不可用

     主从-->数据库主从同步,从库可以水平扩展,满足更大读需求,但单服务器TPS,内存,IO都是有限的

     双主-->用户量级上来后,写请求越来越多
    一个Master是不能解决问题的,添加多了个主节点进行写入,
    多个主节点数据要保存一致性,写操作需要2个master之间同步更加复杂

     分库和分表

    基本业务量到达这个分库分表量级,则离不开数据大屏、推荐系统、画像系统等搭建
    需要搭建上面的系统,则离不开海量数据进行存储-分析-统计
    海量数据下 TB、PB级别数据存储,靠Mysql进行存储-分析-统计无疑是灾难

     那应该怎么办?使用OLAP数据处理技术!

    二、OLTP和OLAP是什么?

    什么是OLTP
    全称 OnLine Transaction Processing,联机事务处理系统, 就是对数据的增删改查等操作
    存储的是业务数据,来记录某类业务事件的发生,比如下单、支付、注册、等等
    典型代表有Mysql、 Oracle等数据库
    面向群体:业务人员

    什么是OLAP
    OnLine Analytical Processing,联机分析处理系统
    存储的是历史数据,对应的风控平台、BI平台、数据可视化等系统就属于
    OLAP是数据仓库系统的主要应用,支持复杂的分析操作,侧重决策,并且提供直观易懂的查询结果
    典型代表有 Hive、ClickHouse
    针对基于查询的分析系统,基础数据来源于生产系统中的操作数据,数据量非常大,常规是TB级别的
    面向群体:分析决策人员 

    三、数据库里面行存储和列式存储

    什么是行存储?
    传统的OLTP关系型数据库 都是行存储,适合随机的增删改查操作 或者 在行中选取所有属性的查询操作,结合索引提升性能

    缺点:
    查询的全部记录的某几个字段,但由于这些字段在各行数据单元中,而整个行特别大(字段特别多),程序必须不断读取每一条的行记录取对应的字段,使得读取效率大大降低
    例子:找某个订单的话,就很方便,订单的全部信息都能获取; 但找全部订单总金额就需要遍历多个数据

    什么是列式存储
    存储结构化数据时,在底层的存储介质上,数据是以列的方式来组织的
    存储完若干条记录的首个字段后,再存储这些记录的第二个字段,然后再第三个字段、第四个字段...
    查询时只有涉及到的列会被读取,而不需要全表扫描,可以显著减少IO消耗,并降低查询响应时间
    例子:查询全部成交额,只需要把订单金额拿出来即可

     四、为什么用ClickHouse

    特点和应用场景:

    不依赖Hadoop 生态、安装和维护简单,支持主流的大部分SQL语法和函数,擅长对列的聚合、计数等统计操作性能强劲
    对列存储和压缩的采用更好的算法,更好节省成本
    应用:互联网电商、在线教育、金融等领域用,户行为数据记录和分析,搭建数据可视化平台

     五、Linux 快速安装ClickHouse

    5.1  Docker安装

    #安装并运行Docker。
    yum install docker-io -y
    systemctl start docker

    #检查安装结果。
    docker info

    #启动使用Docker
    systemctl start docker     #运行Docker守护进程
    systemctl stop docker      #停止Docker守护进程
    systemctl restart docker   #重启Docker守护进程

    docker ps查看容器
    docker stop 容器id

    #修改镜像仓库
    vim /etc/docker/daemon.json
    #改为下面内容,然后重启docker
    {
    "debug":true,"experimental":true,
    "registry-mirrors":["https://pb5bklzr.mirror.aliyuncs.com","https://hub-mirror.c.163.com","https://docker.mirrors.ustc.edu.cn"]
    }

    #查看信息
    docker info

    5.2 Linux服务器容器化部署ClickHouse 

    运行:

    docker run -d --name wnn_clickhouse(容器名称) --ulimit nofile=262144:262144(最大文件进程数) \
    -p 8123:8123(宿主机和容器的端口映射) -p 9000:9000 -p 9009:9009 --privileged=true(登录权限) \
    -v /mydata/docker/clickhouse/log:/var/log/clickhouse-server(容器内部和宿主机映射,将后者容器映射到前者宿主机) \
    -v /mydata/docker/clickhouse/data:/var/lib/clickhouse clickhouse/clickhouse-server:22.2.3.5(仓库和版本) 

    执行的时候,去掉括号和文字描述

     默认http端口是8123,tcp端口是9000, 同步端口9009 .注意:阿里云的话,网络安全组记得开放

     安装后,通过浏览器访问  web可视化界面:http://阿里云公网IP:8123/play
    查看数据库 SHOW DATABASES
    查看某个库下面的全部表 SHOW TABLES IN system
    系统数据库是 ClickHouse 存储有关 ClickHouse 部署的详细信息的地方
    默认数据库最初为空,用于执行未指定数据库的命令

     

     在任何其他情况下不能将ClickHouse服务器暴露给公共互联网!

     5.3 可视化工具DBeaver下载使用

    可视化工具下载:https://dbeaver.io/download/

    双击进行安装 一直下一步 跟安装QQ差不多

    安装后打开:

     建立数据库连接:

     然后就可以连接上啦

     5.4 创建第一个ClickHouse数据库和表

     在DBserver的连接上右键,进入sql编辑器

    先创建数据库:CREATE DATABASE wnn_shop

     再创建数据表

       ClickHouse 有自己的数据类型,每个表都必须指定一个Engine引擎属性来确定要创建的表的类型
      引擎决定了数据的存储方式和存储位置、支持哪些查询、对并发的支持

     数据类型的说明:

    String类型替换来自其他数据库的 VARCHAR、BLOB、CLOB 和其他类似字符串的数据类型
    UInt64是一个 64 位无符号整数
    日期是在 ClickHouse 中存储日期的几种方法之一
    知道列中所有字符串的精确长度,则使用FixedString( n )数据类型,类似MySQL的Char类型,属于定长字符,固定长度 N 的字符串(N 必须是严格的正自然数)

     新增一条数据(语法跟mysql没什么区别):

    INSERT INTO wnn_shop.clickstream
    VALUES ('customer01', '2022-07-21', 'add_to_cart', 'home_enter', 568239 ) 

     查询数据:

  • 相关阅读:
    地铁机电设备健康管理现状及改善方法
    高性能零售IT系统的建设06-当应对大量HTTP请求时兼顾性能、处理速度的架构设计
    数据在内存中的存储(2)
    设计模式-工厂方法模式
    电脑重装系统 Win11 后如何打开任务栏管理器
    买卖股票的最佳时机 II
    linux相关指令
    【Hyperledger Fabric 学习】部署智能合约到通道上
    Jtti:Ubuntu下如何创建XFS文件系统的LVM
    Pytorch 多卡并行(2)—— 使用 torchrun 进行容错处理
  • 原文地址:https://blog.csdn.net/wnn654321/article/details/125837194