首页 > 其他分享 >分布式系统复习

分布式系统复习

时间:2023-05-05 21:23:18浏览次数:37  
标签:顺序 复习 分区 哈希 分布式系统 一致性 数据 节点

这啥玩意都没讲的课要考了。。。

1. 云计算与大数据

1.1 云计算的3个服务模型

IaaS,基础设施即服务

PaaS,平台即服务

SaaS,软件即服务

云计算的3中服务模型之间的关系:IaaS提供虚拟化的硬件资源,支撑PaaS对平台的虚拟化,而PaaS又支撑了SaaS对软件的虚拟化。

1.2 DIKW体系

Data(数据)、Information(信息)、Knowledge(知识)、Wisdom(智慧)

数据:对客观事物性质、状态等特点进行记录的可识别抽象物理符号;

信息:数据在传递过程中的形态;

知识:对数据进行挖掘,有价值的事物沉淀下来后形成的部分;

智慧:针对已有知识进行分析,获得的找出解决问题的能力。

1.3 数据思维

处理全部数据,关注相关性,而非因果性。

3. 分布式一致性算法

3.1 分区

垂直分区:按列分割

水平分区:按行分割,假设所有数据以键值对形式存储。

范围分区:根据key将数据分为若干连续范围

哈希分区:根据key的哈希值分区

一致性哈希:将所有哈希值排成一个环,将机器均匀放在上面,新来的哈希值找最近的机器,即将机器与哈希值解耦。

3.2 复制

单主复制:主从复制。

同步复制、异步复制、半同步复制:根据回复时有没有同步全部节点分类。

多主复制:多个节点处理写请求

无主复制:将写请求发给多个不固定的节点。

基于Quorum(法定人数)的数据冗余机制:用于决定究竟向几个节点发送请求。假设有3台机器,每次往里写2台,从2台读,考虑加入时间戳,总能读到最新数据。

在一个由N个节点组成的系统中,我们要求至少W个节点写入成功,并且需要同时从R个节点中读取数据,只要W+R>N且W>N/2,则读取的R个返回值中至少包含一个最新的值。

证明:W+R>N,读写有交集。第一条规则保证了一个数据不会被同时读写。当一个写操作请求过来的时候,它必须要获得Vw个冗余拷贝的许可。而剩下的数量是V-Vw 不够Vr,因此不能再有读请求过来了。同理,当读请求已经获得了Vr个冗余拷贝的许可时,写请求就无法获得许可了。第二条规则保证了数据的串行化修改。一份数据的冗余拷贝不可能同时被两个写请求修改。

W值越大R值越小,系统的读操作性能就越好。反之写操作的性能越好。

3.3 CAP定理

Consistency(一致性)、Availability(可用性)、Partition Tolerance(分区容错性)

CAP不能同时满足。

证明用反证法。

3.4 一致性

以下一致性由强到弱。

线性一致性:给定一个执行历史(若干读写操作),执行历史根据并发操作可以扩展为多个顺序历史,只要从中找到一个合法的(读写值对的上)顺序历史,那么该执行历史就是线性一致性。

注:执行历史是并行的,并不知道具体前后;顺序历史根据约束将其排成一条线。

约束:在将执行历史转变成顺序历史的过程中,如果两个操作是顺序关系,那么它们的先后关系必须保持相同;如果两个操作是并发关系,则它们可以按任何顺序排列。

顺序一致性:顺序一致性只要求同一个客户端(或进程)的操作在排序后保持先后顺序不变,但不同客户端(或进程)之间的先后顺序是可以任意改变的。即,两条时间线不必有全局时钟。

有时候顺序一致性更有用。例如,在一个社交网络应用中,一个人通常不关心他看到的所有朋友的帖子的顺序,但对于具体的某个朋友,仍然以正确的顺序显示该朋友发的贴子会更符合逻辑。

因果一致性:因果一致性要求,必须以相同的顺序看到因果相关的操作,而没有因果关系的并发操作可以被不同的进程以不同的顺序观察到。

最终一致性:最后能返回一个相同、最新的结果就很厉害了。

3.5 隔离级别

脏读幻读不可重复读略。

更新丢失:x=10;   A:x+=1;  B:x+=2;  res:x=11

读偏斜:假设数据的约束是X+Y=100,并发事务B一开始读到了X的值为50,同时事务A将X和Y的值分别修改为30和70,接着事务B读到Y的值为70。在事务B看来,X+Y=50+70,这显然违反了数据约束,这破坏了事务的一致性。

4. 分布式系统协调管理

4.1 原子提交

所有的操作要么都执行,要么都不执行。

--TBC--

标签:顺序,复习,分区,哈希,分布式系统,一致性,数据,节点
From: https://www.cnblogs.com/capterlliar/p/17375387.html

相关文章

  • 2024届雷达专业秋招找工作复习指南
    公众号【调皮连续波】2023年度会员内容更新公告(04.09)序号类别内容文件路径1雷达书籍雷达数据处理专项(21+本)根目录\雷达书籍库2雷达书籍雷达技术百科全书根目录\雷达书籍库【正文】编辑|  调皮哥的小助理     审核|调皮哥声明:本文为调皮哥个人见解,仅供参考,产生的一切......
  • 1159 Structure of a Binary Tree + 根据前序和中序构建二叉树+ 层序遍历模板复习
    题目链接:https://pintia.cn/problem-sets/994805342720868352/exam/problems/1478635126488367104唉,今天的bug出在了下面这条语句。if(tree[root_key].left*tree[root_key].right<0)full_tree=false;我写成了full_tree=!(tree[root_key].left*tree[root_key].rig......
  • JavaWeb复习笔记
    MysqlsqlDDLDMLDQL约束设计多表查询内连接外连接子查询事务......
  • 7-001-七期简介及动态规划快速复习
    1.题目读题 考查点 2.解法思路 代码逻辑 具体实现113.总结......
  • 数据结构与算法复习--(2)
    算法和算法分析算法的定义对特定问题求解方法和步骤的一种描述,它是指令的有限序列。其中每个指令表示一个或多个操作。算法的描述自然语言:英语、中文流程图:传统流程图、NS流程图伪代码:类语言:类C语言程序代码:C语言程序、Java语言程序算法与程序算法是解决问题的一......
  • 数据结构与算法基础复习--(1)
    基本术语1.数据(Data)数据是能输入计算机且能被计算机处理的各种符号的集合信息的载体是对客观事物符号化的表示能够被计算机识别、存储和加工包括:数值型的数据:整数、实数等非数值型的数据:文字、图像、图形、声音等2.数据元素数据元素是数据的基本单位,在计......
  • java 基础复习
    4-29号专题java大数处理和精度外理方法整理java中整数有四个类型,byteshortintlong.java中byte1个字节,short2个字节,int4个字节,long8个字节以long为例,long会占8*8=64个位,转成10进制就是19位。如果想表达更大的数字就需要用biglnteger以下内容专业针对大数处理方法讲解......
  • 线性代数复习:Jordan 标准型
    本学期的“高等代数(实验班)”以PID上的有限生成模结构定理导出Jordan标准型理论,由于这实在太魔怔所以绝版了,在这里记录一下以表怀念(本文假定读者熟悉基本的环论知识,参考了《代数学方法》以及香蕉空间等网络资料.对于交换环\(R\),定义\(R\)-模是指交换群\((M,+......
  • C语言复习
    环境配置(Windows、Linux、Mac)https://fishc.com.cn/forum.php?mod=forumdisplay&fid=329&filter=typeid&typeid=571java与C语言的对比linux运行代码转义字符define把所有出现的标识符全部转换为常量写法:#define标识符常量例如#defineURL"www.baidu.com"#defineD......
  • 语义分割专栏(二)复习FCN的编解码结构
    前言 在这一期中,我们先简要复习一遍FCN网络,随后进入今天的重点——编码器-解码器架构。本教程禁止转载。同时,本教程来自知识星球【CV技术指南】更多技术教程,可加入星球学习。欢迎关注公众号CV技术指南,专注于计算机视觉的技术总结、最新技术跟踪、经典论文解读、CV招聘信息。CV......