架构篇26:高可用存储架构-集群和分区

文章目录

    • 数据集群
    • 数据分区
    • 小结

上一篇我们讨论了高可用存储架构中常见的双机架构,分别为主备复制、主从复制、双机切换和主主复制,并分析了每类架构的优缺点以及适应场景。

今天我们一起来看看另外两种常见的高可用存储架构:数据集群和数据分区。

数据集群

主备、主从、主主架构本质上都有一个隐含的假设:主机能够存储所有数据,但主机本身的存储和处理能力肯定是有极限的。以 PC 为例,Intel 386 时代服务器存储能力只有几百 MB,Intel 奔腾时代服务器存储能力可以有几十 GB,Intel 酷睿多核时代的服务器可以有几个 TB。单纯从硬件发展的角度来看,似乎发展速度还是挺快的,但如果和业务发展速度对比,那就差得远了。早在 2013 年,Facebook 就有 2500 亿张上传照片,当时这些照片的容量就已经达到了 250 PB 字节(250 × 1024TB),平均一天上传的图片有 3 亿 5000 万张。如此大量的数据,单台服务器肯定是无法存储和处理的,我们必须使用多台服务器来存储数据,这就是数据集群架构。

简单来说,集群就是多台机器组合在一起形成一个统一的系统,这里的“多台”,数量上至少是 3 台;相比而言,主备、主从都是 2 台机器。根据集群中机器承担的不同角色来划分,集群可以分为两类:数据集中集群、数据分散集群。

  1. 数据集中集群

数据集中集群与主备、主从这类架构相似,我们也可以称数据集中集群为 1 主多备或者 1 主多从。无论是 1 主 1 从、1 主 1 备,还是 1 主多备、1 主多从,数据都只能往主机中写,而读操作可以参考主备、主从架构进行灵活多变。下图是读写全部到主机的一种架构:

img

虽然架构上是类似的,但由于集群里面的服务器数量更多,导致复杂度整体更高一些,具体体现在:

  • 主机如何将数据复制给备机

主备和主从架构中,只有一条复制通道,而数据集中集群架构中,存在多条复制通道。多条复制通道首先会增大主机复制的压力,某些场景下我们需要考虑如何降低主机复制压力,或者降低主机复制给正常读写带来的压力。

其次&#

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

金额格式化,三位数逗号分隔 vue2(借鉴)

在main.js全局注册 import Vue from vue;Vue.filter(currencyFormat, function(value) {if (!isNaN(parseFloat(value))) { // 判断输入值是否为有效数字value parseFloat(value);const parts value.toFixed(2).split(.); // 将小数点后两位转换为字符串并按小数点切割parts…

什么是servlet

什么是servlet 什么是servlet Servlet(Server Applet)是 Java Servlet 的简称,称为小服务程序或服务连接器,用 Java 编写的服务器端程序,具有独立于平台和协议的特性,主要功能在于交互式地浏览和生成数据…

如何使用Flutter构建高质量的用户界面

Flutter 是一种比较流行的移动应用开发框架,可以让开发者使用一个代码库构建高质量的 iOS 和 Android 应用。Flutter 以其快速、美观、高度可定制等优点吸引了开发社区的广泛关注。但如何使用 Flutter 构建高质量的用户界面呢?下面分为以下几个部分简单的…

安全防御第三次作业

作业:拓扑图及要求如下图 注:server1是ftp服务器,server2是http服务器 lsw1: 其中g0/0/0口为trunk 实现 1,生产区在工作时间内可以访问服务器区,仅可以访问http服务器 验证: 2,办公…

使用python写一个比Windows系统自带浏览器更好用的计算器

【介绍】 比Windows系统自带的还好用的计算器,感兴趣的可以试用一下。 1.支持括号优先级运算和平方、立方计算; 2.支持计算历史记录功能; 3.支持界面缩放和拖动; 4.支持钉在界面(界面最前置顶)&#xff0c…

Higress 开源一周年:新版本,新标准,新工具,新征程

作者:Higress 团队 历程回顾 Higress 开源一年时间,一共发布了 18 个 release 版本,收获了 40 多位社区贡献者和 1800 star,上图是这一年过来达成的一些关键的里程碑。 前面半年通过集成开源生态,打磨开源版本稳定性…

【技术分享】Ubuntu 20.04如何更改用户名

产品简介 本文适用于所有RK3568/RK3588平台产品在Ubuntu 20.04系统上如何更改用户名,本文以IDO-EVB3588开发板为例,在ubuntu20.04系统上修改用户名industio为usernew。 IDO-EVB3588开发板是一款基于RK3588平台的产品。该开发板集成了四核Cortex-A76和四…

使用自有数据集微调ChatGLM2-6B

1 ChatGLM2-6B介绍 ChatGLM是清华技术成果转化的公司智谱AI研发的支持中英双语的对话机器人。ChatGLM基于GLM130B千亿基础模型训练,它具备多领域知识、代码能力、常识推理及运用能力;支持与用户通过自然语言对话进行交互,处理多种自然语言任…

线性代数基础【6】二次型

第一节、二次型的基本概念及其标准型 一、基本概念 ①二次型 含n个变量x1,x2,…,xn,且每项都是2次的齐次多项式 ②标准二次型 只含有平方项不含交叉项的二次型称为标准二次型 ③二次型的标准化 设f(X)X^TAX 为一个二次型,经过可逆的线性变换XPY(即P为可逆矩阵)把二次型…

简述云原生基础定义及关键技术

云原生是什么 云原生是面向“云”而设计的应用,因此技术部分依赖于传统云计算的 3 层概念,基础设施即服务(IaaS)、平台即服务(PaaS)和软件即服务(SaaS)。 例如,敏捷的不可变基础设施交付类似于 IaaS,用来提供计算网络存储等基础资源,这些资源是可编程且不可变的,直…

Web后端开发-原理篇(1)

hello啊各位,我们前期一直在讲解web后端开发都是面向应用层面的,而我们今天讲解的是Web后端开发的最后一个篇章——springboot原理篇,即springboot的原理。 那我们今天讲解的内容包括三个部分,分别是配置优先级、Bean管理、Sprin…

[Python] 机器学习 - 常用数据集(Dataset)之鸢尾花(Iris)数据集介绍,数据可视化和使用案例

鸢(yuān)尾花(Iris)数据集介绍 鸢【音:yuān】尾花(Iris)是单子叶百合目花卉,是一种比较常见的花,而且鸢尾花的品种较多,在某个公园里你可能不经意间就能碰见它。 鸢尾花数据集最初由Edgar Anderson 测量…

Linux第1课 Linux系统简介

1.操作系统介绍 操作系统(Operating System, OS )是一组主管并控制计算机操作、运用和运行硬件、软 件资源和提供公共服务来组织用户交互的相互关联的系统软件程序。它是硬件基础上的第一 层软件,是硬件和其它软件沟通的桥梁(或者…

mapstruct自定义转换,怎样将String转化为List

源码&#xff1a;https://gitee.com/cao_wen_bin/test 最近在公司遇到了这样一个为题&#xff0c;前端传过来的是一个List<Manager>,往数据库中保存到时候是String&#xff0c;这个String使用谷歌的json转化器。 当查询的时候在将这个数据库中String的数据以List<Mana…

第14章_数据结构与集合源码(一维数组,链表,栈,队列,树与二叉树,List接口分析,Map接口分析,Set接口分析,HashMap的相关问题)

文章目录 第14章_数据结构与集合源码本章专题与脉络1. 数据结构剖析1.1 研究对象一&#xff1a;数据间逻辑关系1.2 研究对象二&#xff1a;数据的存储结构&#xff08;或物理结构&#xff09;1.3 研究对象三&#xff1a;运算结构1.4 小结 2. 一维数组2.1 数组的特点2.2 自定义数…

用k8s私有化部署docsify做开放API平台

文章目录 1、API开放平台2、实现思路3、用docsify实现4、一些坑坑1&#xff1a;nginx转发实现跳转坑2&#xff1a;点击跳转不能精准跳坑3&#xff1a;md文档页内跳转与跨文档跳转坑4&#xff1a;插件做目录的折叠收起坑5&#xff1a;统一目录 做完了一个API开放平台的需求&…

jar手动上传到Nexus私服

jar手动上传到Nexus私服 一简介二上传方法1.登录nexus,打开nexus控制台。upload---maven-release2.上传jar3.验证jar包是否上传成功4、注意事项 一简介 在maven项目中我们可以通过相关配置可以将项目打包成jar&#xff0c;然后deploy上传到私服中。要是别人提供的第三方jar&am…

HCIA-HarmonyOS设备开发认证-2.设备开发入门

目录 HarmonyOS设备开发学习路径一、开发项目与工具介绍1.1、设备开发环境准备1.2、设备开发流程1.3、Huawei DevEco Device Tool 二、OpenHarmony介绍OpenHarmony目录结构详细介绍 待续... HarmonyOS设备开发学习路径 一、开发项目与工具介绍 1.1、设备开发环境准备 Window、…

【python题解17】给你一个有符号整数x,返回将x中的数字部分反转后的结果。输入的整数不超过int类型的最大范围。

1. 题目&#xff1a;给你一个有符号整数x&#xff0c;返回将x中的数字部分反转后的结果。输入的整数不超过int类型的最大范围。 输入样例&#xff1a;-123 输出样例&#xff1a;-321 2. 源代码 n int(input()) flag True #代表正数 if n < 0: #当n是负数时候&#xff…

大数据开发之Spark(spark streaming)

第 1 章&#xff1a;SparkStreaming概述 1.1 spark streaming是什么 spark streaming用于流式数据的处理。 spark streaming支持的数据源很多&#xff0c;例如&#xff1a;kafka、flume、hdfs等。 数据输入后可以用spark的高度抽象原语如&#xff1a;map、reduce、join、wind…