You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 3 Next »

0.名词解释

逻辑存储组:即目前的存储组定义,例如root.sg1为一个逻辑存储组

虚拟存储组:系统通过配置而产生的并发存储组单位


1.用户视角

1.1 案例描述

    用户写入root.sg1.d1.s1, root.sg1.d2.s1, root.sg1.d3.s1, root.sg2.d1.s1, root.sg2.d2.s1五条序列,假设在给定的hash函数下root.sg1.d1映射为0, root.sg1.d2映射为1, root.sg1.d2映射为0,root.sg2.d1映射为0,root.sg2.d2映射为1,给定逻辑存储组数量为2,虚拟存储组数量也为2,假设写入数据均为顺序写入。

1.2 方案一目录结构(简洁起见,不考虑时间分区)

1.3 方案二目录结构(简洁起见,不考虑时间分区)

注意:由于刷盘并行度由物理存储组层控制,对于sg1来说,其刷盘并行度为2,这导致了两个虚拟存储组的数据刷在两个不同的文件中;对于sg2来说,其刷盘并行度为1,这导致两个虚拟存储组的数据刷在同一个文件中。

2.开发者视角

2.1 整体架构

2.2 方案一架构 

整体架构中N = 逻辑存储组数量,M = 虚拟存储组数量,L = 1,在用户例子下,其具体结构如下:(节点中的序号是为了之后的说明使用,无实际意义)

2.3 方案二架构

整体架构中N = 1, M = 虚拟存储组数量,L = 逻辑存储组数量,在用户例子下,其具体结构如下:(节点中的序号是为了之后的说明使用,无实际意义)


2.4 方案一写入流程

2.4.1 写入root.sg1.d1.s1

(1) → (2) → (4) → (8)

2.4.2 写入root.sg1.d2.s1

(1) → (2) → (5) → (9)

2.4.3 写入root.sg1.d3.s1

(1) → (2) → (4) → (8)

2.4.4 写入root.sg2.d1.s1

(1) → (3) → (6) → (10)

2.4.5 写入root.sg2.d2.s1

(1) → (3) → (7) → (11)


2.5 方案二写入流程

2.5.1 写入root.sg1.d1.s1

(1) → (2) → (3) → (5)

2.5.2 写入root.sg1.d2.s1

(1) → (2) → (4) → (5)

2.5.3 写入root.sg1.d3.s1

(1) → (2) → (3) → (5)

2.5.4 写入root.sg2.d1.s1

(1) → (2) → (3) → (6)

2.5.5 写入root.sg2.d2.s1

(1) → (2) → (4) → (6)


  • No labels