Clickhouse副本和分片的概念

副本
https://clickhouse.com/docs/zh/engines/table-engines/mergetree-family/replication
副本是表级别的,不是整个服务器级的。所以,服务器里可以同时有复制表和非复制表。
副本不依赖分片。每个分片有它自己的独立副本。
ClickHouse 使用 Apache ZooKeeper 存储副本的元信息。请使用 ZooKeeper 3.4.5 或更高版本。
要使用副本,需在 Zookeeper 服务器的配置部分设置相应参数。

ClickHouse提供了本地表(Local Table)与分布式表(Distributed Table)的概念。一张本地表等同于一份数据的分片。而分布式表本身不存储任何数据,它是本地表的访问代理,其作用类似分库中间件。借助分布式表,能够代理访问多个数据分片,从而实现分布式查询。这种设计类似数据库的分库和分表,十分灵活。例如在业务系统上线的初期,数据体量并不高,此时数据表并不需要多个分片。所以使用单个节点的本地表(单个数据分片)即可满足业务需求,待到业务增长、数据量增大的时候,再通过新增数据分片的方式分流数据,并通过分布式表实现分布式查询。

只有 MergeTree 系列里的表可支持副本:
ReplicatedMergeTree
ReplicatedSummingMergeTree
ReplicatedReplacingMergeTree
ReplicatedAggregatingMergeTree
ReplicatedCollapsingMergeTree
ReplicatedVersionedCollapsingMergeTree
ReplicatedGraphiteMergeTree

分片
https://clickhouse.com/docs/zh/engines/table-engines/special/distributed
一,自已指定要将哪些数据写入哪些服务器,并直接在每个分片上执行写入。换句话说,在分布式表上«查询»,在数据表上 INSERT。 这是最灵活的解决方案 – 你可以使用任何分片方案,对于复杂业务特性的需求,这可能是非常重要的。 这也是最佳解决方案,因为数据可以完全独立地写入不同的分片。

二,在分布式表上执行 INSERT。在这种情况下,分布式表会跨服务器分发插入数据。 为了写入分布式表,必须要配置分片键(最后一个参数)。当然,如果只有一个分片,则写操作在没有分片键的情况下也能工作,因为这种情况下分片键没有意义。每个分片都可以在配置文件中定义权重。默认情况下,权重等于1。数据依据分片权重按比例分发到分片上。例如,如果有两个分片,第一个分片的权重是9,而第二个分片的权重是10,则发送 9 / 19 的行到第一个分片, 10 / 19 的行到第二个分片。

对于分布式表的 INSERT,数据块只写本地文件系统。之后会尽快地在后台发送到远程服务器。发送数据的周期性是由distributed_directory_monitor_sleep_time_ms和distributed_directory_monitor_max_sleep_time_ms设置。分布式引擎会分别发送每个插入数据的文件,但是你可以使用distributed_directory_monitor_batch_inserts设置启用批量发送文件。该设置通过更好地利用本地服务器和网络资源来提高集群性能。你应该检查表目录/var/lib/clickhouse/data/database/table/中的文件列表(等待发送的数据)来检查数据是否发送成功。执行后台任务的线程数可以通过background_distributed_schedule_pool_size设置。

Clickhouse github上有一段总结
https://github.com/ClickHouse/ClickHouse/issues/2161
To have an extra copy (replica) of your data you need to use ReplicatedMergeTree engine. It can be used instead of MergeTree engine, and you can always upgrade from MergeTree to ReplicatedMergeTree (and downgrade back) if you need.
1、start with MergeTree
2、to have several copies of data use ReplicatedMergeTree
3、if your data is too big to fit/ to process on one server - use sharding
4、to balance the load between replicas and to combine the result of selects from different shards - use Distributed table.

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

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

相关文章

专业和学校到底怎么选,兴趣和知名度到底哪个重要?

前言 2024高考已经落下帷幕,再过不久就到了激动人心的查分和填报志愿的时刻,在那天到来,小伙伴们就要根据自己的分数选取院校和专业,接下来我就以参加22年(破防年)河南高考的大二生来讲述一下我自己对于如何选取院校和专业的看法以…

香港电讯高可用网络助力企业变革金融计算

客户背景 客户是一家金融行业知名的量化私募对冲基金公司,专注于股票、期权、期货、债券等主要投资市场,在量化私募管理深耕多年,目前资管规模已达数百亿级,在国内多个城市均设有办公地点。 客户需求 由于客户业务倚重量化技术…

从“野人饭”走红,探索品牌户外化营销趋势丨小红书内容分析

wildeat,户外是人的天性的回归 近来,“wildeat(户外野吃)”的风潮在小红书逐渐兴起。越来越多的人选择到户外吃一顿,做一次“野人”,主打一个只要氛围到了,就地开饭,不愁吃什么&…

Ubuntu中防火墙的使用 和 开放 关闭 端口

目录 1.查看防火墙的状态 2.开启ufw防火墙 3.重启ufw防火墙 4.关闭ufw防火墙 5.设置外来访问默认权限 6.开放普通端口 7.关闭普通端口 8.开放规定协议的端口 9.关闭指定协议端口 10.重启防火墙,是配置生效 1.查看防火墙的状态 sudo ufw status 2.开启uf…

屏蔽房是做什么用的?为什么需要定期检测?

屏蔽房对于不了解的人来说,可能光看名字不知道是做什么的,但是对于一些企业或者机构,却是再熟悉不过的了。和名字一样,屏蔽房是对空间内的信号以及一些外界环境条件进行隔绝,在一些有特殊要求的企业机构中,…

睿治数据治理平台焕新升级,推出全新建模与调度平台

在数据治理的浩瀚征途中,企业常常面临着数据冗余如同连绵山峦,使得关键信息的获取变得困难重重;在数据检索的海洋中,有时迷失方向,消耗大量时间精力,严重影响了运营效率;特别是在处理大规模数据…

assertJ-db 科普

前言 今日我们看看 java 大名鼎鼎的 assertj 是怎么做断言的 数据库断言 在实际的测试中我们总是跟业务打交道的。跟业务打交道一般很难避免验证数据库中的东西。尤其在接口测试中,一个常见的例子是你测试一个下单的接口。 接口返回可能就是成功过或者失败。你无…

AI换脸实践

1.windows版本 解压即用,2024最简单好用AI开源换脸应用,整合包已备好,快试试吧!_哔哩哔哩_bilibili 2.linux版本 1)克隆roop项目 git clone https://github.com/s0md3v/roop 创建虚拟环境 python -m venv venv 激…

安装 Fedora CoreOS 操作系统

首发日期 2024-06-16, 以下为原文内容: 有一台吃灰几年的 e5-26v3 古老机器, 最近翻出来用一下. 首先从安装操作系统开始. 目录 1 FCOS 简介2 安装过程 2.1 下载 iso 镜像文件并制作安装 U 盘2.2 编写安装配置文件2.3 编译安装配置文件2.4 从 U 盘启动并安装 3 SSH 连接并测试…

直播平台美颜技术分析:视频美颜SDK功能实现原理

本篇文章,笔者将深入分析视频美颜SDK的功能实现原理,探讨其在直播平台中的应用。 一、视频美颜技术概述 通过这些功能,用户可以在直播过程中呈现更加理想的自己,从而提高观众的观看体验和互动积极性。 二、视频美颜SDK的功能 1…

不“卷”低价,品牌如何让客户愿意“留下”?

天猫取消预售制度,满减力度大于往年,京东直接将“又便宜又好”定为大促主题。今年的618,离不开两大关键词:拼低价 和 回归用户。 价格“内卷”,消费者可以花更少的钱买到商品,但对商家来说,意味…

6月19日(周三)A股行情总结:A股震荡收跌,恒生科技指数大涨3%,10年期国债期货转涨续创新高

内容提要 车路云概念延续昨日涨势,华铭智能20CM 3连板。贵金属及PEEK材料概念全日走强;港股有色金属及能源股走强,紫金矿业涨超3%,中石油涨超3%。国债期货午后全线转涨,10年期主力合约涨0.05%报104.925元,…

6.17继承

面向对象的特征:封装,继承,多态 使用背景:比如说在动物类底下可以有带毛的动物,带毛的动物符合所有的动物的特征,只是在这个基础上再继续添加一些特征 命名:原有类型称为“基类”或“父类”&a…

Clickhouse集群create drop database可删除集群数据库或只删除本地数据库

集群环境下,在任意一个节点创建数据库,如果加上了ON CLUSTER clustername,则在集群环境的所有节点上都创建了该数据库,并在集群环境的所有节点上都创建了该数据库对应的目录,且数据库的metadata_path对应的目录路径在所…

微信小程序使用vant 组件 (双向绑定)

<van-cell-group><van-fieldmodel:value"{{ username }}"label"用户名"placeholder"请输入用户名"/><van-fieldmodel:value"{{ phone }}"label"手机号"placeholder"请输入手机号"/><van-but…

计算机网络(1) OSI七层模型与TCP/IP四层模型

一.OSI七层模型 OSI 七层模型是国际标准化组织ISO提出的一个网络分层模型&#xff0c;它的目的是使各种不同的计算机和网络在世界范围内按照相同的标准框架实现互联。OSI 模型把网络通信的工作分为 7 层&#xff0c;从下到上分别是物理层、数据链路层、网络层、传输层、会话层、…

类加载器、反射、注解

1、类加载器 1.1类加载器作用 负责将.class文件&#xff08;存储的物理文件&#xff09;加载在到内存中。 1.2类加载的过程 类加载时机 创建类的实例&#xff08;对象&#xff09;调用类的类方法访问类或者接口的类变量&#xff0c;或者为该类变量赋值使用反射方式来强制创建…

Java学习 (一) 环境安装及入门程序

一、安装java环境 1、获取软件包 https://www.oracle.com/java/technologies/downloads/ .exe 文件一路装过去就行&#xff0c;最好别装c盘 &#xff0c;我这里演示的时候是云主机只有C盘 2、配置环境变量 我的电脑--右键属性--高级系统设置--环境变量 在环境变量中添加如下配…

数字孪生涉及到的9大技术栈,都是难啃骨头呀。

数字孪生涉及到多个技术栈&#xff0c;包括但不限于以下几个方面&#xff1a; 数据采集和传感器技术&#xff1a; 数字孪生需要实时获取物理世界的数据&#xff0c;因此需要使用各种传感器技术&#xff08;如温度传感器、压力传感器、运动传感器等&#xff09;来采集数据&…

RedHat运维-Linux文本操作基础-GREP,AWK,SED基础

你不用整理&#xff0c;跟着敲一遍&#xff0c;有个印象&#xff0c;然后把它保存到本地&#xff0c;以后要用再去看&#xff0c;如果有了新东西&#xff0c;你自个再添加。这是我参考同行的&#xff0c;只不过换成了问答的方式而已。不用背&#xff0c;就算是我自己亲自敲&…