16
分分分分分 Distributed storage

分布式存储

Embed Size (px)

DESCRIPTION

分布式存储. Distributed storage. 分布式存储引擎. 用户. 控制分类主机. Distributed storage-engine. 将用户分成三类,直接访问存储该类用户数据的数据库主机. 很难扩容 数据可靠性无法保证 单点问题. 存在的问题. 增加主机. Problems. 恢复工作. 主服务器宕机. Dynamo. Amazon 公司 分布式存储引擎 基于 key/value 存储模式. outline. 系统架构. Architecture. A. 哈希分布 ( 1-20 ). 扩容问题. - PowerPoint PPT Presentation

Citation preview

Page 1: 分布式存储

分布式存储Distributed storage

Page 2: 分布式存储

将用户分成三类,直接访问存储该类用户数据的数据库主机

用户 控制分类主机

分布式存储引擎Distributed storage-engine

Page 3: 分布式存储

→很难扩容

→数据可靠性无法保证

→单点问题

恢复工作恢复工作

主服务器宕机

主服务器宕机

增加主机增加主机 存在的问题Problems

Page 4: 分布式存储

→Amazon 公司→分布式存储引擎

→基于 key/value

存储模式

Dynamooutline

Page 5: 分布式存储

系统架构Architecture

Page 6: 分布式存储

→ 哈希分布( 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

Page 7: 分布式存储

A

B

C

Key K

能力相同能力相同

虚节点

D

Consistent Hashing

Algorithm definition

Page 8: 分布式存储

A

B

C

Key K

Q >> S

D E Q / S

虚节点Abstract Node

Page 9: 分布式存储

→主机不可用是常态→备份节点

→ 双机热备

→ 备份数改为 3

→ 节点离开系统

→ 节点加入系统

A A.bak

A B

C

数据可靠性Data Reliability

A

B

C

D B

Page 10: 分布式存储

ACIDACID

NWR 模型

数据备份Data Backup

→异步备份→同步备份

Write

B

C

A

Read (old data)

A B

C

Page 11: 分布式存储

→参数→ N: 数据对象将被复制到 N 台主机

→ R: 一次成功的读取操作中最小

参与节点数量

→ W: 一次成功的写操作中最小参与

节点数量

→ R + W > N

→ 高可写: (N, R, W) = (3, 3, 1)

→ 高读效率: W = N, R = 1

R > N - W

NWR 模型NWR Model

Page 12: 分布式存储

→ 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)

Page 13: 分布式存储

→ 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)

Page 14: 分布式存储

→完全分布式→ 不存在一个核心

→每个节点承担所有功能

单点故障Single-node

Page 15: 分布式存储

Summary→分布式存储→随着分布式计算的日趋流行, 分布式存储也越来越受大家 关注

→关键问题→扩容问题→单点性能瓶颈→数据一致性和可靠性

Page 16: 分布式存储

谢谢!thank you

→Q & A