当前位置:文档之家› 2、分布式文件系统(分片与路由)- 学习课件

2、分布式文件系统(分片与路由)- 学习课件


分布式的基本原则
状态 S
操作序列 时间
状态 S1
分区恢复
状态 S2
分区开始 分区模式
分区结束
状态 S/
CAP重装上阵
在未发生N络分区的情形下,在系统各种操作进行过程中,整个系 统状态保持一致(状态S),即整个系统满足CAP三要素。当发生 网络分区后,系统识别出此种情形并明确记载各个分区的各自状态 。为了保证可用性,每个分区进 入分区模式并各白执行本分区内的 各种操作,此时产生了两个分区模式下的状态s1和s2,这两个状 态是不一致的,即整个系统满足AP要素。当网络分区解决后,整 个系统转入分区恢复状态,在恢复过程中,融合s1和s2形成新的满 足一致性耍求的新状态s'',此时系统再次进入满足CAP三要索的状 态。
一致性模型
Read(x)=v1 Write(x,v2) Read(x)=v2
A
Read(x)=v1
Read(x)=v2
B Read(x)=v1
Read(x)=v2
C
强一致性
A,B,C:代表3个独立的进程,这些进程会对NoSQL数据库里的 数据进行读/写操作。 X:NoSQL数据库中某条数据。 v1,v2,v3:数据x的不同取值。 Write(Item,Value):代表某进程的一次写操作,即将Item的 值更新为Value。 Read(Item)=Value:代表某进程的一次读操作,即读出Item 的值为Value。 Notify(p1,p2,Item,Value):代表进程 p1通知进程 p2 Item 的值为 Value。
BASE原则
数据库系统采纳ACID原则,获得高可靠性和强一致性,而大多数大数据环境下的云存储系统 和NoSQL系统则采 纳BASE原则,这种原则与ACID原则差异很大。 BASE原则适指: 1.基本可用(Basically Available )。在绝大多数时间内系统处于可用状态,允许偶尔的失败,所以称为基本可用。 2.软状态或者柔性状态(Soft State),是指数据状态不要求在任意时刻都完全保持同步,到目前为止软状态并无一个 统一明晰的定义,但是从概念上是可理解的,即处于有状态(State)和无状态 (Stateless )之间的中间状态。 3.最终一致性(Eventual Consistency )。与强一致性相比,最终一致性是一种弱一致性,尽管软状态不要求任意时 刻数据保持一致同步,但是最终一致性要求在给定时间窗口内数据会达到一致状态。
当CAP中的P出现时,如果每个网络分区都尽可能执行ACID,那么对于网络分区问题解决后数据的一致性恢复 是有很大帮助的。
幂等性
幂等性是分布式系统中经常接触到的概念,正确理解幂等性对于理解很多分布式系统的设计思路有很大帮助。 在抽象代数里也存在幂等概念,对于一元运算来说,满足f(f(x))=f(x)条件的运算即可称为满足幂等性,比如取绝对 值运算就是典型的一元幂等运算。对于二元运算来说,如果满足条件的运算f(x,x)=x也可称为满足幂等性,比如实数 集合运算max(x,x)=x以及布尔代数中的与操作AND等都具有幂等性。
Oracle·WDPe·WDP
分布式文件系统(分片与路由)
Oracle 高校大数据课程系列
本课目标
掌握大数据的分片及路由 掌握大数据的一致性模型 掌握数据的副本更新策略
课程目录
Course catalogue
1 数据分片 2 一致性HASH 3 分布式的基本原则 4 一致性模型 5 副本更新策略
ACID原则
原子性(Atomicity ):是指一个事务要么全部执行,要么完全不执行。也就是不允许一个事务 只执行了一半就停止。 —致性(Consistency ):事务在开始和结束时,应该始终满足一致性约束条件。 事务独立(Isolation ):如果有多个事务同时执行,彼此之间不需要知晓对方的存在.而且执行时互不影响,不允许出 现两个事务交错、间隔执行部分任务的情形,也即事务之间要序列化执行。 持久性(Durability):事务的持久性是指事务运行成功以后,对系统状态的更新是永久的,不会无缘由地回滚撤销。
vBucket Servers (table lookup)
All possible Membase keys
Key1 Key2 Key3 Key4
Key5 Key6 Key7 Key8
Key9 Key10
vBucket1
Host Server/Replica Servers
vBucket1
Server1 /Server2 ,Server3
Key-partition映射 数据分片 partition-machine映射 物理机器
哈希分片
Round Robin
Round Robin就是俗称哈希取模法,是实际中非常常用的数 据分片方法。对于以key为主键的某个记录,H(key)的数值即 是存储该数据的物理机编号。
哈希分片
Key vBucket (hash functtn)
一致性哈希
一致性哈希(加入节点)
N5
N5
1.计算加入节点的位置来自2.转移数据null N8
算法:
null
稳定性检测
N8
N14
N14
将N8加入P2P网络
N14将前继节点改为N8
一致性哈希
N5
N8 N14
N5经过稳定性检测后
一致性哈希(加入节点)
稳定性检测 周期检测节点的路由表
一致性哈希
节点离开P2P网络 节点离开P2P网络有两种方式:正常离开与异常离开。正常离开的节点在离开前可以做些准备工作,包括通知相
数据分片与路由模型
数据 路由 机制 Get(Key)
数据分片与路由的抽象模型
左图展示了一个具有很高抽象级别的数据分片与路由通用 模型,可以将其看作是一个二级映射关系。第一级映射是 key-partiton映射,其将数据记录映射到数据分片空间, 者往往是多对一映射关系;及一个数据分片包含多条记录 ;第二级映射是partition-machine映射,其将数据分片 映射到物理机中,这一般也是多对一映射,即一台物理机 容纳多个数据分片。
分布式系统中的幂等性是指:调用方反复执行同一操作与只正确执行一次操作效果相同,即对分布式系统内部状 态来说,同一操作调用一次与反复调用多次其状态保持相同。
课程目录
Course catalogue
1 数据分片 2 一致性HASH 3 分布式的基本原则 4 一致性模型 5 副本更新策略
一致性模型
强一致性
范围分片
Low Key Machine
banana 1
car
1
dark
2
zoo
3
分片Map
范围分片
machine1
范围分片首先将所有记录的主键进行排序,然后再排好序的 主键空间里将记录划分成数据分片,每个数据分片存储有序 的主键空间片段内的所有记录。
machine2 machine3
课程目录
Course catalogue
数据分片与复制
数据分片与数据复制的关系
数据分片与数据复制是紧密联系的两个概念,对于海量 数据,通过数据分片实现系统的水平扩 展,而通过数据复制来 保证数据的高可用性。因为目前大规模存储与计算系统邰是采 用普通商用服 务器来作为硬件资源池的,形式各异的故障经常 发生.为了保证数据在故障常发环境下仍然可用, 需要将同一 份数据复制存储在多处来获得保证。同时,数据复制还可以增 加读操作的效率,客户端 可以从多个备份数据中选择物理距离 较近的进行读取.既增加了读操作的并发性又可以提高单次读 的读取效率
1 数据分片 2 一致性HASH 3 分布式的基本原则 4 一致性模型 5 副本更新策略
一致性哈希
一致性哈希
分布式哈希表(DHT)是P2P网络和分布式存储中常见的一项 技术,是哈希表的分布式扩展,即考虑在多机分步环境,每 台机器负责承载部分数据的存储情形下,如何通过哈希方式 来对数据进行增/删/改/查等数据操作的方法。
一致性哈希
一致性哈希(路由问题)
接收到查询请求的节点根据哈希函数获得待查找主键的哈希 值j,首先判断是否在自身的管理范围内,如果不在,则交给 后续节点继续查找,知道找到数据所在的节点。
一致性哈希
一致性哈希(路由问题)
一致性哈希的路由算法 输入:机器节点Ni发起初始查询请求,查询主键key对应的键值, 其中H(key)=j。 输出:Ni给出key对应的键值value,或者返回键值不存在的信息。 算法:该算法通过不同节点之间发送消息来完成协作。
CAP/ACID/BASE三者的关系
ACID和BASE原则是在明确提出CAP理论之前关于如何对待可用性和强一致性的两种完全不同的设计哲学。ACID 更强调数据一致性,这是传统数据库设计的思路。而BASE更强调可用性,弱化数据强一致性的概念,这是互联网时 代对于大规模分布式数据系统的一种需求,尤其是其中的软状态和最终一致性,这两者是在容忍网络分区情形下强 调可用性的具体手段。
1 数据分片 2 一致性HASH 3 分布式的基本原则 4 一致性模型 5 副本更新策略
分布式的基本原则
CAP、BASE、ACID等基本原则对于深入理 解分布式环境下技术方案设计选型具有重要 的指导作用。
CAP
CAP 是对 “Consistency/Availability/Partition Tolerance” 的 一种简称,其分别代表:强一致性、可用性和分区容忍性,三特性的 内在含义如下: •强一致性:即在分布式系统中的同一数据多副本情形下,对于数 据的更新操作体现出的效果与只有单份数据是一样的。 •可用性:客户端在任何时刻对大规模数据系统的读/写操作都应该 保证在限定延时内完成。 •分区容忍性:在大规模分布式数据系统中,网络分区现象,即分 区间的机器无法进行网络通 信的情况是必然会发生的,所以系统应 该能够在这种情况下仍然继续工作。
相关主题