Docker容器化急速部署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语法和函数
  • 吞吐能力强,官方测试支持,支持多种存储引擎,满足多数业务场景
  • 广泛应用:互联网电商、在线教育、金融等领域用,户行为数据记录和分析,搭建数据可视化平台
  • 0db813306d31488f977ed4e55a6b2b03.jpg
  • (5)整体架构

76ce3bb9c3394070a0e86632235defa1.jpg

2.Docker部署ClickHouse

(1)Docker部署ClickHouse

提前在有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

fa36bf51b18b4483ae6ddafa83df1fc2.jpg

  • 默认http端口是8123,tcp端口是9000, 同步端口9009
  • web可视化界面:http://ip:8123/play ip为你当前机器的ip地址

89b5ff81f93f4d2890d94dca5fba399e.jpg

注意:

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

3.DBeaver连接ClickHouse



accb31400869470d9360cb2502fd8256.jpg



6abf1b13edfd40e9ab053feb1b2bbf68.jpg


efb0e3e20b674ebfa1f31f824d90f527.jpg


相关文章
|
8月前
|
应用服务中间件 网络安全 nginx
手把手教你使用 Docker 部署 Nginx 教程
本文详解Nginx核心功能与Docker部署优势,涵盖镜像拉取、容器化部署(快速、挂载、Compose)、HTTPS配置及常见问题处理,助力高效搭建稳定Web服务。
3597 4
|
8月前
|
监控 Kubernetes 安全
还没搞懂Docker? Docker容器技术实战指南 ! 从入门到企业级应用 !
蒋星熠Jaxonic,技术探索者,以代码为笔,在二进制星河中书写极客诗篇。专注Docker与容器化实践,分享从入门到企业级应用的深度经验,助力开发者乘风破浪,驶向云原生新世界。
784 51
还没搞懂Docker? Docker容器技术实战指南 ! 从入门到企业级应用 !
|
9月前
|
存储 Docker Python
docker 部署 sftp
本文介绍SFTP服务的部署与配置,包括users.conf用户配置规则、Docker容器运行命令及上传目录权限说明,重点解析atmoz/sftp镜像的chroot机制与子目录映射,确保用户登录后正确访问/upload目录,并提供Python脚本实现文件上传示例。
751 12
docker 部署 sftp
|
8月前
|
应用服务中间件 Linux nginx
在虚拟机Docker环境下部署Nginx的步骤。
以上就是在Docker环境下部署Nginx的步骤。需要注意,Docker和Nginix都有很多高级用法和细节需要掌握,以上只是一个基础入门级别的教程。如果你想要更深入地学习和使用它们,请参考官方文档或者其他专业书籍。
376 5
|
8月前
|
存储 NoSQL Redis
手把手教你用 Docker 部署 Redis
Redis是高性能内存数据库,支持多种数据结构,适用于缓存、消息队列等场景。本文介绍如何通过Docker快速拉取轩辕镜像并部署Redis,涵盖快速启动、持久化存储及docker-compose配置,助力开发者高效搭建稳定服务。
2521 8
|
8月前
|
NoSQL 算法 Redis
【Docker】(3)学习Docker中 镜像与容器数据卷、映射关系!手把手带你安装 MySql主从同步 和 Redis三主三从集群!并且进行主从切换与扩容操作,还有分析 哈希分区 等知识点!
Union文件系统(UnionFS)是一种**分层、轻量级并且高性能的文件系统**,它支持对文件系统的修改作为一次提交来一层层的叠加,同时可以将不同目录挂载到同一个虚拟文件系统下(unite several directories into a single virtual filesystem) Union 文件系统是 Docker 镜像的基础。 镜像可以通过分层来进行继承,基于基础镜像(没有父镜像),可以制作各种具体的应用镜像。
851 6