大数据系列——ClickHouse表引擎与分布式查询

news2024/11/25 0:50:02

目录

一、ClickHouse的表引擎

1、MergeTree的创建方式与存储结构

2、ReplacingMergeTree

二、数据分片与分布式查询

三、Clickhouse-ETL常见业务使用


一、ClickHouse的表引擎

表引擎体系,包括合并树、外部存储、内存、文件、接口和其他6大类20多种表引擎。而在这众多的表引擎中,又属合并树(MergeTree)表引擎及其家族系列(*MergeTree)最为强大。

1、MergeTree的创建方式与存储结构

MergeTree在写入一批数据时,数据总会以数据片段的形式写入磁盘,且数据片段不可修改。为了避免片段过多,ClickHouse会通过后台线程,定期合并这些数据片段,属于相同分区的数据片段会被合成一个新的片段。

        MergeTree拥有主键,但是它的主键却没有唯一键的约束,因此即便多行数据的主键相同,它们还是能够被正常写入

2、ReplacingMergeTree

ReplacingMergeTree就是为了数据去重而设计的,它能够在合并分区时删除重复的数据。但是只能在一定程度上去重,这是因为ReplacingMergeTree是以分区为单位删除重复数 据的。只有在相同的数据分区内重复的数据才可以被删除,而不同数据分区之间的重复数据依然不能被剔除。

二、数据分片与分布式查询

为了解决数据表容量的问题,引入了数据分片,一张分片表有两部分组成:本地表和分布式表

本地表通常以_local为后缀进行命名,一张本地表对应一个数据分片。与传统关系型数据库不同的是,ClickHouse 是分布式系统,如何创建分布式表呢?

ClickHouse 的设计是:

  • 先在每个 Shard 每个节点上创建本地表(即 Shard 的副本),本地表只在对应节点内可见
  • 然后再创建分布式表,映射到前面创建的本地表。

这样用户在访问分布式表时,ClickHouse 会自动根据集群架构信息,把请求转发给对应的本地表。

三、Clickhouse-ETL常见业务使用

业务中常见的ETL使用场景举例:

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

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

相关文章

全流量回溯分析为您解决应用性能问题(一)

前言 信息中心老师反应,用户反馈办公系统有访问慢的情况,需要通过流量分析系统来了解系统的运行情况,此报告专门针对系统的性能数据做了分析。 信息中心已部署NetInside流量分析系统,使用流量分析系统提供实时和历史原始流量&am…

【网络安全篇】浅谈web应用程序的安全风险

🏆今日学习目标: 🍀浅谈web应用程序的安全风险 ✅创作者:贤鱼 ⏰预计时间:25分钟 🎉个人主页:贤鱼的个人主页 🔥专栏系列:网络安全 🍁贤鱼的个人社区&#xf…

使用FastJson进行驼峰下划线相互转换写法及误区

PropertyNamingStrategy 有四种序列化方式。 CamelCase策略,Java对象属性:personId,序列化后属性:persionId – 实际只改了首字母 大写变小写 PascalCase策略,Java对象属性:personId,序列化后属…

说透IO多路复用模型

在说IO多路复用模型之前,我们先来大致了解下Linux文件系统。在Linux系统中,不论是你的鼠标,键盘,还是打印机,甚至于连接到本机的socket client端,都是以文件描述符的形式存在于系统中,诸如此类&…

springboot项目打war包 部署到Tomcat

1、SpringBoot项目Pom文件修改 <!-- 打war包配置 --><packaging>war</packaging><!-- 打war包配置 --><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-war-plugin</artifactId><version>…

英美TOP名校对IB的申请要求汇总

英美TOP名校对IB的申请要求汇总 英国大学剑桥大学 IB要求 40-42分&#xff08;满分45&#xff09;&#xff0c;HL要求为776分。 学校可能要求申请者的某些科目成绩为7&#xff0c;视不同专业和学院而定。 对任何要求数学的专业&#xff0c;申请者需选Analysis and Approaches&a…

Google SEM和谷歌SEO的区别

很多人对Google SEM和Google SEO概念很模糊。米贸搜整理如下。看图: Google SEM和SEO的关系 在上图中&#xff0c; 最上面的部分属于Google SEM&#xff0c;即Google Ads广告推广&#xff0c;是一种按效果付费的广告&#xff1b; 底层属于Google SEO&#xff0c;也就是Googl…

前端基础_配置IIS服务器

配置IIS服务器 在应用程序完全离线之前&#xff0c;还需要正确地提供清单文件。清单文件必须有扩展名.manifest和正确的mime-type。 如果使用Apache这样的通用Web服务器&#xff0c;需要找到在AppServ/Apache2.2/conf文件夹中的mine.types文件并向其添加“text/cache-manifes…

React学习02-React面向组件编程

React 开发者工具 推荐使用Chrome或Edge浏览器&#xff0c;安装React Developer Tools&#xff08;Facebook出品&#xff09;。 安装完成后&#xff0c;访问使用React编写的页面时&#xff0c;图标会高亮&#xff08;开发环境为红色有debug标识&#xff0c;生产环境为蓝色&…

如何高效阅读一篇论文

如何阅读一篇论文&#xff08;做好阅读笔记&#xff09;阅读步骤第一遍第二遍第三遍上哪里找论文paperswithcodeconnectedpaperslabml.ai 深度学习论文实现labml.ai 热门研究论文阅读步骤 第一遍 第一次通过的目的是大致了解论文。 阅读作者姓名、标题、摘要、简介、小节标题…

create first django

django-admin startproject first 1. 运行第一个django.py文件 python manage.py runserver 2. 建立第一个app python manage.py startapp first_app 修改settings.py&#xff0c;将first_app加入到下面中 然后修改views.py 然后修改urls.py配置导入view文件 前面是一个正则表达…

一文速学-Pandas处理时间序列数据-时间/日期操作详解

前言 关于Pandas处理时间序列数据我已经有写过两篇处理文章了&#xff1a; 一文速学-Pandas中DataFrame转换为时间格式数据与处理 一文速学-Pandas处理时间序列数据操作详解 日常处理一些数据和业务上需求&#xff0c;其实还是十分常用到时序数据的&#xff0c;一些处理方…

堆排序,建初始堆以及优先队列(priority_queue)

1.堆&#xff1a; 如果有一个关键码的集合K {k0&#xff0c;k1&#xff0c; k2&#xff0c;…&#xff0c;kn-1}&#xff0c;把它的所有元素按完全二叉树的顺序存储方式存储在一个一维数组中&#xff0c;并满足&#xff1a;Ki < K2i1 且 Ki<K2i2 &#xff0c;则称为小堆…

Docker部署jenkins配置公私钥拉取代码

容器内配置公私钥 先进入部署Jenkinns中的容器&#xff0c;在docker容器内生成公私钥 ssh-keygen -t rsajenkins 配置私钥信息 在Dashbord->凭据->系统->全局凭据中新增一个凭据 将公钥配置在gitlab 正常这么配制就可以了&#xff0c;但是在jenkins上发现使用ssh…

如何快速掌握代币经济学

如何研究加密世界里的Token? 先看一组数据&#xff1a;截至2022年&#xff0c;市面上大约有6000种加密货币(或者更多&#xff09;。这对投资者来说当然是一个很大的机会。然而&#xff0c;在2021年&#xff0c;投资者在Crypto项目遇到欺诈&#xff0c;损失的金额120亿美元。因…

2022年河北沃克金属制品有限公司助力河北石家庄电子商务资源对接暨电商直播选品大会圆满落幕!

会议主题&#xff1a;聚合电商直播优势资源 赋能产业发展消费增长 主题活动&#xff1a;2022河北•石家庄电子商务资源对接暨电商直播选品大会 承办日期&#xff1a;2022年12月26日至2022年12月27日 主办单位&#xff1a;石家庄市商务局 指导单位&#xff1a;河北省商务厅 …

基于K8s的DevOps平台实践(一)

文章目录前言1. DevOps介绍&#x1f351; 瀑布式流程&#x1f351; 敏捷开发&#x1f351; DevOps2. Jenkins初体验&#x1f351; K8s环境中部署jenkins&#x1f351; 安装汉化插件3. Jenkins基本使用演示&#x1f351; 演示目标&#x1f351; 演示准备&#x1f351; 演示过程4…

04贪心算法

文章目录背包问题活动安排问题最优装载问题删数问题最优服务次序贪心算法 在对问题求解时&#xff0c;总是做出在当前看来是最好的选择。也就是说&#xff0c;不从整体最优上加以考虑&#xff0c;他所做出的是在某种意义上的局部最优解。 过程&#xff1a; 建立数学模型来描述问…

奖励视频 — Verasity 的最新专利意味着什么?

目录 Verasity 的最新专利涵盖哪些内容&#xff1f; 美国专利审批流程——拒绝和批准 主张我们的专利并寻求许可费 这对 Verasity 意味着什么&#xff1f; 近日&#xff0c;我们宣布Verasity 已在全球最大的广告和媒体市场美国获得奖励视频专利。 该专利及其全部内容可在此…

Vue--》超详细教程——vite脚手架的搭建与使用

目录 vite 创建 vite 项目 目录文件的构成 vite项目的运行流程 开发者工具安装 vite vue官方提供了两种快速创建工程化的SPA项目的方式&#xff0c;一种是基于 vue-cli 创建的SPA项目&#xff0c;另一种就是基于 vite 创建的SPA项目。两者的区别如下&#xff1a; 说明v…