存储方案设计原则_第1页
存储方案设计原则_第2页
存储方案设计原则_第3页
存储方案设计原则_第4页
存储方案设计原则_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第 第 页存储方案设计原则1、CAP理论2000年Eric Brewer教授提出了闻名的CAP理论,即:一个分布式系统不可能满意全都性,可用性和分区容错性这三个需求,最多只能同时满意两个。2022年MIT的Seth Gilbert 和 Nancy lynch两人证明白CAP理论的正确性。依据CAP理论,全都性C,可用性A,分区容错性P,三者不可兼得,需要有所取舍。因此系统架构师不要把精力糜费在如何设计才能同时满意CAP三者的完满分布式系统,而是应当讨论如何进行取舍,满意实际的业务需求。C: Consistency全都性,任何一个读操作总是能读取到之前完成的写操作结果,也就是在分布式环境中,多点

2、的数据是全都的;A: Availability可用性,每一个操作总是能够在确定的时间内返回,也就是系统随时都是可用的;P: Tolerance of network Partition分区容忍性,在涌现网络分区比如断网的状况下,分别的系统也能正常运行;对于分布式存储系统而言,分区容错性P是基本需求,因此只有CP和AP两种选择。CP模式保证分布在网络上不同节点数据的全都性,但对可用性支持不足,这类系统主要有BigTable, HBASE, MongoDB, Redis, MemcacheDB, Berkeley DB等。AP模式主要以实现最终全都性Eventual Consistency来确保可

3、用性和分区容忍性,但弱化了数据全都性要求,典型系统包括Dynamo, Tokyo Cabinet, Cassandra, CouchDB, SimpleDB等。2、Eventual Consistency最终全都性简而言之:过程松,结果紧,最终结果需要保持全都性。从客户端考虑数据全都性模型,假设如下场景:存储系统:它在本质上是大规模且高度分布的系统,其创建目的是为了保证耐用性和可用性。进程A:对存储系统进行读写。进程B和C:这两个进程完全独立于进程A,也读写存储系统。客户端全都性需要处理一个观测者在此即进程A、B或C如何以及何时看到存储系统中的一个数据对象被更新。依据以上场景可以得到如下三种全

4、都性模型:强全都性:在更新完成后,A、B或C进行的任何后续访问都将返回更新过的值。弱全都性:系统不保证后续访问将返回更新过的值,在那之前要先满意假设干条件。从更新到保证任一观测者看到更新值的时刻之间的这段时间被称为不全都窗口。最终全都性:这是弱全都性的一种非常形式;存储系统保证假如对象没有新的更新,最终全部访问都将返回最末更新的值。假如没有发生故障,不全都窗口的最大值可以依据以下因素确定,比如通信延迟、系统负载、复制方案涉及的副本数量。客户端全都性模型的变体有:因果全都性Causal consistency:假如进程A通知进程B它已更新了一个数据项,那么进程B的后续访问将返回更新后的值,且一次

5、写入将保证取代前一次写入。与进程A无因果关系的进程C的访问遵守一般的最终全都性规章。“读己之所写”全都性Readyourwrites consistency:这是一个重要的模型。当进程A自己更新一个数据项之后,它总是访问到更新过的值,绝不会看到旧值。这是因果全都性模型的一个特例。会话全都性Session consistency:这是上一个模型的有用版本,它把访问存储系统的进程放到会话的上下文中。只要会话还存在,系统就保证“读己之所写”全都性,系统保证也不会连续到新的会话。单调读全都性Monotonic read consistency:假如进程已经看到过数据对象的某个值,那么任何后续访问都不会

6、返回在那个值之前的值。单调写全都性Monotonic write consistency:系统保证来自同一个进程的写操作顺次执行。要是系统不能保证这种程度的全都性,就特别难以编程了。3、BASE理论BASE,即Basically Availble基本可用、Softstate 软状态、Eventual Consistency 最终全都性。BASE的英文意义是碱,而ACID是酸,有点水火不容的意思。关系数据库的ACID模型拥有高全都性和牢靠性,丢失可用性。ACID,即原子性Atomicity、全都性Consistency、隔离性Isolation、长久性Durability。其中的全都性强调事务完

7、成时,数据库处于全都的状态。对于许多应用来说,全都性要求可以降低,而可用性Availability的要求那么更为明显。从而产生了弱全都性的理论BASE。 BASE模型反ACID模型,完全不同ACID模型,牺牲高全都性,获得可用性或牢靠性。它仅需要保证系统基本可用,支持分区失败,允许状态在肯定时间内不同步,保证数据达到最终全都性即可。BASE思想主要强调基本的可用性,假如你需要高可用性,也就是纯粹的高性能,那么就要以全都性或容错性为牺牲,BASE思想的方案在性能上还是有潜力可挖的。4、I/O五分钟法那么1987年,Jim Gray 与 Gianfranco Putzolu 发表了五分钟法那么的观

8、点,简而言之,假如一条记录经常被访问,就应当放到内存里,否那么的话就应当待在硬盘上按需要再访问。这个临界点就是五分钟。看上去像一条阅历性的法那么,事实上五分钟的评估标准是依据投入成本判断的,依据当时的硬件进展水准,在内存中保持1KB的数据成本相当于硬盘中存储400秒的开销接近五分钟。这个法那么在 1997 年左右的时候进行过一次回顾,证明了五分钟法那么依旧有效硬盘、内存事实上没有质的飞跃,而这次的回顾那么是针对 SSD 这个新的旧硬件可能带来的影响。随着闪存时代的来临,五分钟法那么一分为二:是把 SSD 当成较慢的内存e*tended buffer pool 运用还是当成较快的硬盘e*tend

9、ed disk运用。小内存页在内存和闪存之间的移动对比大内存页在闪存和磁盘之间的移动。在这个法那么首次提出的 20 年之后,在闪存时代,5 分钟法那么依旧有效,只不过适合更大的内存页适合 64KB 的页,这个页大小的改变恰恰表达了计算机硬件工艺的进展,以及带宽、延时。依据数据结构和数据特点的不同,对于文件系统来说, 操作系统倾向于将 SSD 当作瞬时内存cache来运用。而对于数据库,倾向于将 SSD 当作全都性存储来用。5、Amdahl定律和Gustafson定律这里我们以Sn表示n核系统对详细程序的加速比,K表示串行部分计算时间比例。Amdahl 定律的加速比:Sn 运用1个处理器的串行计算时间 / 运用n个处理器的并行计算时间,Sn = 1/K+1K/n = n/1+n1KGustafson定律的加速比:Sn 运用n个处理器的并行计算量

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论