磁盘的读写过程,最消耗时间的地方就是在磁盘中磁道寻址的过程,而一旦寻址完成,写入数据的速度很快。

连续写入:写入只寻址一次 存储位置与逻辑位置相邻 不用多次寻址

随机写入:每写一次 便寻址一次 增加了磁盘的寻址时间

为什么很多数据库索引采用b+树,而不是完全二叉树?
因为b+树的节点包含多个信息,可以连续读写磁盘

RAID 0

  数据分成N份,同时写入N块磁盘,数据整体写入速度快N倍,较快的读写速度,但是没有做数据备份,所以磁盘损坏之后数据完整性被破坏。

RAID1

  一份数据同时写如两块磁盘,具有极高可靠性

RAID10

  所有磁盘N平分成两份,数据同时在两份磁盘写入,磁盘利用率低,有一半的磁盘用来写入备份数据;

RAID3

  将数据分成N-1份,并发写入N-1块磁盘,在第N块磁盘记录校验数据;这样其他任何一块磁盘损坏(包括校验盘),否可以利用其他N-1块磁盘修复;

  缺点:在数据修改较多的场景,任何磁盘的修改都会导致第N块磁盘的重写校验数据,第N块磁盘经常更换,所以在日常中很少使用此种模式

RAID5

  3的进阶,校验数据不是写在第N块磁盘,而是螺旋式的写入N块磁盘中,校验数据的修改平均到所有磁盘上,避免一块磁盘的频繁损坏现象

RAID6

  使用场景:数据需要很高的可靠性,在同时出现两块磁盘损坏的情况下,仍然需要修复修复数据

  数据写入N-2块磁盘,并在剩余两块磁盘中螺旋式的写入校验信息(使用不同算法生成)

 

从RAID看垂直伸缩到水平伸缩的演化的更多相关文章

  1. k8s Pod的自动水平伸缩(HPA)

    我们知道,当访问量或资源需求过高时,使用:kubectl scale命令可以实现对pod的快速伸缩功能 但是我们平时工作中我们并不能提前预知访问量有多少,资源需求多少. 这就很麻烦了,总不能为了需求总 ...

  2. MySQL垂直拆分和水平拆分的优缺点和共同点总结

    数据的拆分(Sharding)根据其拆分分规则的类型,可以分为两种拆分模式.一种是按照不同的表(或者Schema)来切分到不同的数据库(主机)之上,这种切可以称之为数据的垂直(纵向)拆分:另外一种则是 ...

  3. 数据库垂直拆分,水平拆分利器,cobar升级版mycat(转)

    原文:数据库垂直拆分,水平拆分利器,cobar升级版mycat 1,关于Mycat Mycat情报 基于阿里的开源cobar ,可以用于生产系统中,目前在做如下的一些改进: 非阻塞IO的实现,相对于目 ...

  4. SilverLight:布局(2)GridSplitter(网格分割)垂直分割、水平分割

    ylbtech-SilverLight-Layout: 布局(2)GridSplitter(网格分割)垂直分割.水平分割 A, Splitter(分割)对象之 GridSplitter(网格分割)1: ...

  5. kubernetes 水平伸缩及yaml格式编写

    Replication Controller:用来部署.升级PodReplica Set:下一代的Replication ControllerDeployment:可以更加方便的管理Pod和Repli ...

  6. css实现水平伸缩菜单

    ul li a{transition:width 500ms ease;} a:hover{width:*;} 高度向上延伸用height:*;margin-top:-*px;//负值实现向上

  7. js实现水平伸缩菜单

    window.onload=function(){ var aA=document.getElementsByTagName('a'); for(var i=0; i<aA.length; i+ ...

  8. FineUI第十四天---布局之垂直布局和水平布局

    布局值水平布局和垂直布局 垂直盒子布局和水平盒子布局非常灵活易用,在很大程度上能够取代锚点布局,行布局和列布局. 1.垂直盒子布局: BoxConfigAlign:控制子容器的的尺寸 Start:位于 ...

  9. java中向JTextArea中添加滚动条(垂直的和水平的)

    这次在研究java的swing类时,在做一个实例时,发现了JTextArea中添加滚动条的问题,经过网上查找资料和自己测试发现有以下用法: 1.首先应该把JTextArea添加到一个JScrollPa ...

随机推荐

  1. BZOJ1217: [HNOI2003]消防局的设立

    BZOJ1217: [HNOI2003]消防局的设立 Description 2020年,人类在火星上建立了一个庞大的基地群,总共有n个基地. 起初为了节约材料,人类只修建了n-1条道路来连接这些基地 ...

  2. [egret+pomelo]实时游戏杂记(3)

    [egret+pomelo]学习笔记(1) [egret+pomelo]学习笔记(2) [egret+pomelo]学习笔记(3) 服务端的请求流程走完了一遍,下面就该看一下,在目前的服务端中,各服务 ...

  3. c# CODE REVIEW (13-11 TO 14-01)

    一. 松耦合

  4. 9.1 NOIP普及组试题精解(3)

    9-6 seat.c #include <stdio.h> #define MAXN 1001 void swap(int *a, int *b) //交换数据 { int t; t = ...

  5. html(HyperText Markup Language)--超文本标记语言

    1.html的简介? * 什么是html? ** HyperText Markup Language:超文本标记语言,网页语言 ** 超文本:超出文本的范畴,使用html可以轻松实现这样操作: ** ...

  6. python学习笔记:第八天(模块)

    Python3 模块 脚本上是用 python 解释器来编程,如果从 Python 解释器退出再进入,那么定义的所有的方法和变量就都消失了. 为此 Python 提供了一个办法,把这些定义存放在文件中 ...

  7. the art of seo(chapter eleven)

    Tracking Results and Measuring Success goal -> driver ***Why Measuring Success Is Essential to th ...

  8. Apache-SimpleEmail 简单应用

    比JavaMail使用方法要直接,jar包只需要在JavaMail的基础上添加commons-email-1.4.jar即可. 代码: // QQ邮箱发送邮件 SimpleEmail simpleEm ...

  9. CSS实现简单无缝滚动

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  10. HihoCoder1670 : 比赛日程安排([Offer收割]编程练习赛41)(模拟)

    描述 H国编程联赛中有N只队伍,编号1~N. 他们计划在2018年一共进行M场一(队)对一(队)的比赛. 为了让参赛队员能得到充分的休息,联赛组委会决定:每支队伍连续两场比赛之间至少间隔一天.也就是如 ...