首页 > 其他分享 >Docker容器化急速部署ClickHouse

Docker容器化急速部署ClickHouse

时间:2023-01-18 15:05:19浏览次数:45  
标签:容器 存储 8123 查询 ClickHouse Docker 数据 clickhouse

文章目录

1.ClickHourse入门简介

(1)什么是行存储

  • 传统的OLTP关系型数据库 都是行存储
  • 一行中的数据在存储介质中以连续存储形式存在
  • 适合随机的增删改查操作 或者 在行中选取所有属性的查询操作,结合索引提升性能
  • 缺点
    • 查询的全部记录的某几个字段,但由于这些字段在各行数据单元中,而整个行特别大(字段特别多),程序必须不断读取每一条的行记录取对应的字段,使得读取效率大大降低
    • 例子:找某个订单的话,就很方便,订单的全部信息都能获取; 但找全部订单总金额就需要遍历多个数据
user_name product_name order_id tatal_amount
李祥 六位地黄丸 20220123343485 4999
张三 苹果13手机 20220121347880 1699

(2)什么是列式存储

  • 存储结构化数据时,在底层的存储介质上,数据是以列的方式来组织的
  • 存储完若干条记录的首个字段后,再存储这些记录的第二个字段,然后再第三个字段、第四个字段…
  • 查询时只有涉及到的列会被读取,而不需要全表扫描,可以显著减少IO消耗,并降低查询响应时间
  • 例子:查询全部成交额,只需要把订单金额拿出来即可
李祥 张三
六味地黄丸 苹果13手机
20220123343485 20220121347880
4999 1699
  • 总结
    • 描述的是底层存储介质上,数据的组织形式,哪种组织对应哪种业务需求
    • 列存储在聚合、统计等操作性能会优于行存储
    • 列存储将多行记录的列连续存储在一起,一列接着一列
    • 列式存储是同个数据类型,会进行数据压缩率更高,更省空间
    • 列存储数据更新成本较高,一般适合读多写少的场景,适合 OLAP 分析型系统

(3)什么是ClickHouse

  • ClickHouse 是俄罗斯的 Yandex 于 2016 年开源的用于在线分析处理查询(OLAP :Online Analytical Processing)MPP架构列式存储数据库(DBMS:Database Management System),能够使用 SQL 查询实时生成分析数据报告。ClickHouse的全称是Click Stream,Data WareHouse。
  • clickhouse可以做用户行为分析,流批一体。
  • 线性扩展和可靠性保障能够原生支持 shard + replication。
  • clickhouse没有走hadoop生态,采用 Local attached storage 作为存储。

(4)ClickHouse的特点和应用场景

  • 不依赖Hadoop 生态、安装和维护简单
  • 擅长对列的聚合、计数等统计操作性能强劲
  • 对列存储和压缩的采用更好的算法,更好节省成本
  • 拓展性强,在生产中经过实战测试,从单服务器部署到具有数千个节点的集群的线性水平可扩展性
  • 具有企业级安全功能和故障安全机制,可防止数据因应用程序错误和人为错误而损坏
  • 支持主流的大部分SQL语法和函数
  • 吞吐能力强,官方测试支持,支持多种存储引擎,满足多数业务场景
  • 广泛应用:互联网电商、在线教育、金融等领域用,户行为数据记录和分析,搭建数据可视化平台

Docker容器化急速部署ClickHouse_docker

(5)整体架构

Docker容器化急速部署ClickHouse_字段_02

2.Docker部署ClickHouse

(1)Docker部署ClickHouse

  • docker的官网:https://hub.docker.com/
提前在有docker环境的centos7系统下执行命令:
docker run -d --name clickhouse --ulimit nofile=262144:262144 \
-p 8123:8123 -p 9000:9000 -p 9009:9009 --privileged=true \
-v /usr/local/clickhouse/log:/var/log/clickhouse-server \
-v /usr/local/clickhouse/data:/var/lib/clickhouse clickhouse/clickhouse-server:22.2.3.5

Docker容器化急速部署ClickHouse_字段_03

  • 默认http端口是8123,tcp端口是9000, 同步端口9009

  • web可视化界面:http://ip:8123/play ip为你当前机器的ip地址

Docker容器化急速部署ClickHouse_clickhouse_04

注意:

  • 在任何其他情况下不能将ClickHouse服务器暴露给公共互联网
  • ClickHouse体验平台界面实际上是通过ClickHouse 的HTTP API接口实现的
  • 确保它只在私有网络上侦听,并由正确配置的防火墙监控

3.DBeaver连接ClickHouse

Docker容器化急速部署ClickHouse_clickhouse_05

Docker容器化急速部署ClickHouse_docker_06

Docker容器化急速部署ClickHouse_docker_07

标签:容器,存储,8123,查询,ClickHouse,Docker,数据,clickhouse
From: https://blog.51cto.com/u_15646271/6019232

相关文章

  • ClickHouse常见数据类型以及常用SQL语法
    文章目录1.数值类型(整形,浮点数,定点数)2.字符串类型3.时间类型4.枚举类型5.布尔值6.其他数据类型7.ClickHouse与Mysql数据类型对比8.常见SQL语法和注意事项1.......
  • 五 docker安全 & 底层实现
    docker的安全主要有三个方面,内核的namespace和控制组机制提供的容器内在安全,程序本身的安全,内核的加强机制内核命名空间通过dockerrun启动一个容器时,在后台docker为......
  • minio-docker
    docker安装启动minio用最新版的minio总感觉有问题推荐使用dockerpullminio/minio下面的演示都是用的这个无法连接外网安装启动dockersearchminio/minio#搜不......
  • Gitlab集成jenkins及docker自动化部署教程
    Gitlab集成jenkins及docker自动化部署教程能实现提交代码到gitlab后,我们只需要合并代码到指定分支就可以上Jenkins自动拉取最新代码并重新构建部署1、登录Jenkins点击如......
  • Docker下安装MySQL8与开启root远程访问
    1.dockersearchmysql#查询mysql版本2.dockerpullmysql:8.0.15#拉取mysql3.创建mysql容器dockerstopmysql_8dockerrmmysql_8dockerrun-d-eTZ=“Asia/Shan......
  • Docker下部署Rabbitmq
    1.查询Rabbitmqdockersearchrabbitmq2.拉取Rabbitmqdockerpullrabbitmq:management3.停止、删除、运行dockerstoprabbitmqdockerrmrabbitmqdockerrun-d-p......
  • docker部署Tomcat时指定时区
    dockerstoptomcat#停止服务dockerrmtomcat#删除服务dockerrun-d-p8080:8080--restart=always--nametomcat-yefeng-eTZ=“Asia/Shanghai”-v/var/tomcat/......
  • 通过Docker启动Solace,并在Spring Boot通过JMS整合Solace
    1简介Solace是一个强大的实时性的事件驱动消息队列。本文将介绍如何在Spring中使用,虽然代码使用的是SpringBoot,但并没有使用相关starter,跟Spring的整合一样,可通用。JMS......
  • Docker
    组成:镜像image容器container仓库repository1个镜像可以创建多个容器,相当于一个root文件系统容器是镜像创建的运行实例,每个容器相互独立仓库是用来存档镜像Docker本......
  • 通过Docker启动DB2,并在Spring Boot整合DB2
    1简介DB2是IBM的一款优秀的关系型数据库,简单学习一下。2Docker安装DB2为了快速启动,直接使用Docker来安装DB2。先下载镜像如下:dockerpullibmcom/db2:11.5.0.0启动......