Day20 资料冗余和Partition

接下来谈谈资料冗余的策略

最简单最好管理的冗余就是完完全全的复制一份在别的地方,就是我们经常说的备份,把重要的资料备份进去随身硬碟

云端的储存也会用同样的方法,如果复制两份,一台机器挂掉的机率是1%,那麽两台机器同时挂掉的机率是0.01%,也就是99.99%,这就是俗话说的4个9的稳定度

但是当然,1TB的资料我们就要用2TB的空间去存,不但有点浪费空间,而且写入的时候要写双倍量,不过读的时候会比较快,可以两边同时读

还有另外一种策略是Partition,Parition就是把同一条数据分成不同等份然後放在不同机器上,这也是我们Lab的策略,什麽意思呢?假如有一条资料 - Apple,我们有三台server,所以我们可以分成三份,AP, pl和e分别存在三台server中

不过这样一来,如果一台server挂了,我们的资料也复原不了

所以有个东西叫做纠删码(Erasure Coding),他是一种储存技术的保护方法和提升网路传输可靠度的方法,只要在原本的资料加入大约33%长度的纠删码,并把资料平均分在四台机器,一台机器挂了还能复原所有数据

所以说

如果使用复制两份,我们需要200%的容量,挂的机器只能一台

如果使用Partition,我们只需要133%的容量,挂的机器也只有一台

所以Partition比较省空间,当然他的缺点就是有点复杂,而且读完的时候还需要decoding,所以读的性能没有复制策略好


<<:  电子书阅读器上的浏览器 [Day20] 翻译功能 (II) 取得网页全文

>>:  [Day05] TS:如何把物件型别的所有属性值取出变成 union type?试试 Indexed Access Types

Python 练习

今天要来解APCS的题目,这次是105年10月29的实作题第二题,那我们就开始吧! 题目 解答 a=...

30.Action

Vuex的Action,相当於component内的methods,里面宣告并使用方法,但不会直接改...

【Day 09】配接器 设计模式(Python)

前言 上一篇我们用 Python 简单的几行程序,就可以实践工厂方法设计模式,本篇继续讨论另一个设计...

Day 23 - 在 PVE 内安装 Windows

今天我们在 PVE 内安装一下 Windows。 事前准备 Windows ISO(可以在 官网 下...

[Day 26] LIFF InitPlugins

前言 [Day 24] LIFF ScanCode曾提过liff.scanCode()因技术问题,功...