Upload
robert-marshall
View
34
Download
4
Embed Size (px)
DESCRIPTION
分布式存储. Distributed storage. 分布式存储引擎. 用户. 控制分类主机. Distributed storage-engine. 将用户分成三类,直接访问存储该类用户数据的数据库主机. 很难扩容 数据可靠性无法保证 单点问题. 存在的问题. 增加主机. Problems. 恢复工作. 主服务器宕机. Dynamo. Amazon 公司 分布式存储引擎 基于 key/value 存储模式. outline. 系统架构. Architecture. A. 哈希分布 ( 1-20 ). 扩容问题. - PowerPoint PPT Presentation
Citation preview
分布式存储Distributed storage
将用户分成三类,直接访问存储该类用户数据的数据库主机
用户 控制分类主机
分布式存储引擎Distributed storage-engine
→很难扩容
→数据可靠性无法保证
→单点问题
恢复工作恢复工作
主服务器宕机
主服务器宕机
增加主机增加主机 存在的问题Problems
→Amazon 公司→分布式存储引擎
→基于 key/value
存储模式
Dynamooutline
系统架构Architecture
→ 哈希分布( 1-20 )
A
B
C
D
(1, 4, 7, 10, 13, 16, 19)
(2, 5, 8, 11, 14, 17, 20)
(3, 6, 9, 12, 15, 18)
( 4, 8, 12, 15, 20)
( 1, 5, 9, 13, 17)
( 2, 6, 10, 14, 18)
( 3, 7, 11, 15, 19) 消耗性能消耗性能
consistent hashing
扩容问题Capacity Expansion
A
B
C
Key K
能力相同能力相同
虚节点
D
Consistent Hashing
Algorithm definition
A
B
C
Key K
Q >> S
D E Q / S
虚节点Abstract Node
→主机不可用是常态→备份节点
→ 双机热备
→ 备份数改为 3
→ 节点离开系统
→ 节点加入系统
A A.bak
A B
C
数据可靠性Data Reliability
A
B
C
D B
ACIDACID
NWR 模型
数据备份Data Backup
→异步备份→同步备份
Write
B
C
A
Read (old data)
A B
C
→参数→ N: 数据对象将被复制到 N 台主机
→ R: 一次成功的读取操作中最小
参与节点数量
→ W: 一次成功的写操作中最小参与
节点数量
→ R + W > N
→ 高可写: (N, R, W) = (3, 3, 1)
→ 高读效率: W = N, R = 1
R > N - W
NWR 模型NWR Model
→ X: Write key= 3 Y: Read key
X: key++ && Y: key++
key = 4 ? (实际上为 5 )→ 设版本值
→ N = 3, W = 1
Server
X Y
v1v2
A
C
X Key
W = NW = N
vector clock
数据版本控制Version Control
(3, v1) (3, v1)(4, v1) (4, v1)(4, v1)
(3, v1)(4, v1)
→ D1(A, 1)
→ D2(A, 2)
A
B C
→ D2(A, 2) → D2(A, 2)
W=1, N = R = 3
对数据 D 的一次读操作,包括 D2 , D3 , D4 ,版本冲突交由客户端解决
peer to peer
W = NW = N
→ D3(A, 2; B, 1) → D4(A, 2; C, 1)
Vector ClockAlgorithm Definition
由 B 重新写入: D5(A, 2; B, 2; C, 1)
客户端合并 D3 , D4 ,产生( A, 2; B, 1; C, 1)
→完全分布式→ 不存在一个核心
→每个节点承担所有功能
单点故障Single-node
Summary→分布式存储→随着分布式计算的日趋流行, 分布式存储也越来越受大家 关注
→关键问题→扩容问题→单点性能瓶颈→数据一致性和可靠性
谢谢!thank you
→Q & A