Clickhouse

news2025/3/12 10:20:50

目录

Clickhouse简介

整体架构

数据接入层

数据存储层

数据服务层

数据应用层


Clickhouse简介

目前企业用户行为日志每天百亿量级,虽然经过数仓的分层以及数据汇总层通用维度指标的预计算,有些个性化的分析场景还是需要直接编写程序或sql查询,这种情况下hive sql和spark sql的查询性能已无法满足用户需求,需要一个OLAP引擎来支持快速的查询。BI存储库主要采用的是Infobright,在千万量级能很快的响应BI的查询请求,但随着时间推移和业务的发展,Infobright的并发量与查询瓶颈日益凸显,尝试将大数据量级的表导入TiDB、Hbase、ES等存储库,虽然对查询有一定的提速,但是也存在着相应的问题,这时考虑到Clickhouse。Clickhouse社区活跃度高、版本迭代快,几乎几天到十几天更新一个小版本,看好它以后的发展。

Clickhouse是俄罗斯yandex公司于2016年开源的一个列式数据库管理系统,在OLAP领域像一匹黑马一样,以其超高的性能受到业界的青睐。特性:

  • 基于shard+replica实现的线性扩展和高可靠

  • 采用列式存储,数据类型一致,压缩性能更高

  • 硬件利用率高,连续IO,提高了磁盘驱动器的效率

  • 向量化引擎与SIMD提高了CPU利用率,多核多节点并行化大查询

  • 不支持事务、异步删除与更新

  • 不适用高并发场景

整体架构

将Clickhouse的应用架构划分为4个层级:

数据接入层

提供了数据导入相关的服务及功能。

数据存储层

数据存储层这里我们采用双副本机制来保证数据的高可靠,同时用nginx代理clickhouse集群,通过域名的方式进行读写操作,实现了数据均衡及高可靠写入,且对于域名的响应时间及流量有对应的实时监控,一旦响应速度出现波动或异常我们能在第一时间收到报警通知。

  • nginx_one_replication:代理集群一半节点即一个完整副本,常用于写操作,在每次提交数据时由nginx均衡路由到对应的shard表,当某一个节点出现异常导致写入失败时,nginx会暂时剔除异常节点并报警,然后另选一台节点重新写入。

  • nginx_two_replication:代理集群所有节点,一般用作查询和无副本表数据写入,同时也会有对于异常节点的剔除和报警机制。

数据服务层

  • 对外:将集群查询统一封装为scf服务(RPC),供外部调用。

  • 对内:提供了客户端工具直接供分析师及开发人员使用。

数据应用层

  • 埋点系统:对接实时clickhouse集群,提供秒级别的OLAP查询功能。

  • 用户分析平台:通过标签筛选的方式,从用户访问总集合中根据特定的用户行为捕获所需用户集。

  • BI:提供数据应用层的可视化展示,对接单分片多副本Clickhouse集群,可横向扩展。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/89176.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

python人工智能学习需要学什么?

前言 如果要从科技领域找出最大的变化和革新,那么我们很难不说到“人工智能”这个关键词。人工智能催生了大量新技术、新企业和新业态,为个人、企业、国家乃至全球提供了新的经济增长点,上到谷歌、苹果、百度等巨头,下到各类创业…

发布-订阅模式解读

发布-订阅模式 先简单说一下发布订阅模式各个组件的定义: 发布者 Publisher : 状态改变时 , 向 消息中心 发送事件 ; 订阅者 Subscriber : 到 消息中心 订阅自己关心的事件 ; 消息中心 : 负责维护一个 消息队列 , 根据 消息类型 将 消息 转发给 对应的 订阅者 ; 下面按照该…

差错控制方法----循环冗余码计算

差错控制方法----循环冗余码计算 循环冗余码,又称为多项式码。CRC的工作方法是在发送端产生一个冗余码,附加在信息位后面一起发送到接收端,接收端收到的信息按发送端形成循环冗余码同样的算法进行校验,如果发现错误,则…

(附源码)php校园电子图像信息采集系统 毕业设计 010930

目 录 摘要 1 1 绪论 1 1.1 研究背景 1 1.2研究内容 1 1.3论文结构与章节安排 1 2 校园电子图像信息采集系统 系统分析 3 2.1 可行性分析 3 2.2 系统流程分析 3 2.2.1 数据增加流程 3 2.2.2 数据修改流程 4 2.3.3数据删除流程 4 2.3 系统功能分析 4 2.3.1 功能性分析 4 2.3.2 …

多态——C++第三大特性

目录 一、多态的概念 1、概念 二、多态的定义及实现 1、构成条件 2、虚函数 3、虚函数的重写 4、C11提供了override和final两个关键字,可以帮助用户检测是否重写 5、重载、覆盖(重写)、隐藏(重定义)的对比 三、…

pytorch环境配置

pytorch环境配置pytorch环境配置1.NVIDIA驱动安装与更新1.查看自己的电脑显卡版本2.下载显卡驱动3.安装与验证2.pytorch环境安装1.打开anaconda的终端2. 创建虚拟环境3.换源4.安装5.验证3.pycharm项目的pytorch环境设置pytorch环境配置 使用Anacondapycharm搭建pytorch环境 提…

常见的四大搜索引擎区别

一般应用或网站的信息会存储在数据库中,而随着时间的推移,数据库中的信息量达到一个量级后会出现访问速度变慢的情况,例如用户在客户端搜索一个商品名称,系统可能加载了好几秒才显示数据,这个时候就需要进行一些优化处…

ET框架(三)

Model》数据 HotFix》行为 ET框架中的ECS和Unity的ECS无关 hotfix 静态类静态方法>行为 可以控制组件 Model》数据 继承Entity IAwake初始化 Scene实体的子实体类型 特殊: Unity.hotfixView : Unity相关的行为 Unity .modeView: Unity相关的数据 代码公用&a…

WSL_01 Windows WSL 安装并配置镜像与SSH

文章目录1 WSL介绍2 安装步骤2.1 启用适用于 Linux 的 Windows 子系统2.2 检查运行 WSL 2 的要求2.3 启用虚拟机功能2.4 下载 Linux 内核更新包2.5 将 WSL 2 设置为默认版本2.6 安装所选的Linux 分发解决无法打开微软商店2.6.1 配置网络2.6.2 使用官方教程的链接2.6.3 使用命令…

Redis实战——达人探店

目录 1、发布笔记 1.1 上传图片 1.2. 发表博文功能: 2. 查看探店笔记 3. 点赞功能的实现 4. 点赞排行榜的实现 1、发布笔记 笔记类似点评网站的评价,往往是图文结合。 对应的表有两个 tb_blog:探店笔记表,包含笔记中的…

java计算机毕业设计springboot+vue高校本科学生综评系统

项目介绍 通篇文章的撰写基础是实际的应用需要,然后在架构系统之前全面复习大学所修习的相关知识以及网络提供的技术应用教程,以远程教育系统的实际应用需要出发,架构系统来改善现高校本科学生综评系统工作流程繁琐等问题。不仅如此以操作者的角度来说,该系统的架构能够对多媒…

网络流量回溯分析助力企业实现高效率运维(二)

背景 汽车配件电子图册系统是某汽车集团的重要业务系统。业务部门反映,汽车配件电子图册调用图纸时,出现访问慢现象。 某汽车总部已部署NetInside流量分析系统,使用流量分析系统提供实时和历史原始流量。本次分析重点针对汽车配件电子图册系…

在Python里使用ChatGPT

前言 近来chatGPT挺火的,也试玩了一下,确实挺有意思。这里记录一下在Python中如何去使用chatGPT。 本篇文章的实现100%基于 chatGPT,我是搬运工无疑了!!! 本片文章比较简单,下一篇基于本文章来写…

景联文科技:推动智慧医疗进程,浅谈运用到的数据标注技术

“近年来,人工智能蓬勃发展,不断赋能医疗健康领域,改善患者的就医体验,有效提高医疗质量。智能医疗的实现需要许多专业且精准的标注数据不断对智慧医疗技术中包含的算法模型进行训练调优。” 从2015年至今,我国急性脑梗…

java+MySQL 002ssm病人健康档案管理系统#毕业设计

随着时代的发展,人们对健康越来越重视。如何呢能够更好的对病人的健康档案信息进行管理是当前很多人关心的一个问题。本期系统也是出于这样的目的而进行开发的。 研究内容 1.不同用户的登录问题:根据用户的类别;超级管理员、普通用户;实现用户操作权限的区分并显示不…

三、数据链路层(四)流量控制和可靠传输机制

目录 4.1流量控制和可靠传输机制 4.2三种传统ARQ方式 4.2.1单帧滑动窗口与停止-等待协议 4.2.2多帧滑动窗口与后退N帧协议(GBN) 4.2.3多帧滑动窗口与选择重传协议(SR) 4.2.4三种ARQ协议窗口大小问题 4.2.5信道利用率、信道…

视频号怎么做呢?如何发视频号?

视频号怎么做呢?如何发视频号? 视频号怎么做呢?如何发视频号? 1、明确方向 首先明确自己要做什么类型的账号,下面是常见的一些账号属性: 商品带货号美食号知识号影视号游戏号书单号音乐号家庭生活号医疗号…

JAVA开发(Redis中key的设计)

在使用redis存储数据中,我们可以使用任何限定长度的字符串。但是还是需要注意点规范。一般是使用树形结构 一、redis中key的设计 我总结一下几种: 1、使用系统结构命名法 会员系统: 如:member:service:save:user member:servi…

[附源码]Node.js计算机毕业设计高校党建信息平台Express

项目运行 环境配置: Node.js最新版 Vscode Mysql5.7 HBuilderXNavicat11Vue。 项目技术: Express框架 Node.js Vue 等等组成,B/S模式 Vscode管理前后端分离等等。 环境需要 1.运行环境:最好是Nodejs最新版,我…

2022年电商年,电商企业怎么从抖音直播带货的包围网中脱颖而出

对于电商企业来说,2022年是非常重要的一年。多元的内容创作、多平台的发展、建立内容矩阵等方面都在时刻考验着电商企业的决策智慧,如何获得确定性的增长和追求长期价值,才是电商企业们做出正确选择的关键所在。 11月23日, 2022抖…