从RAID看垂直伸缩到水平伸缩的演化
2024-09-08 13:42:27
磁盘的读写过程,最消耗时间的地方就是在磁盘中磁道寻址的过程,而一旦寻址完成,写入数据的速度很快。
连续写入:写入只寻址一次 存储位置与逻辑位置相邻 不用多次寻址
随机写入:每写一次 便寻址一次 增加了磁盘的寻址时间
为什么很多数据库索引采用b+树,而不是完全二叉树?
因为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块磁盘,并在剩余两块磁盘中螺旋式的写入校验信息(使用不同算法生成)
最新文章
- [PHP源码阅读]strpos、strstr和stripos、stristr函数
- Linux系统查看系统是32位还是64位方法总结
- shell浅谈之九子shell与进程处理
- [NHibernate]HQL查询
- 面向对象的OOA、OOD、OOP
- Windows 8 系统安装
- min-height
- C# DataGridViewComboBoxColumn 数据绑定
- ios开发之NavBar和TarBar使用技巧
- java synchronized关键字
- Linux编译多个不同目录下的文件以及静态库、动态库的使用
- 验证mySqli扩展是否
- #cat /proc/meminfo 详解
- Python:bs4中 string 属性和 text 属性的区别及背后的原理
- composer在update时提示file could not be downloaded: SSL operation failed with code 1. OpenSSL Error messages: error:1407742E:SSL routines:SSL23_GET_SERVER_HELLO
- java实现excel生成和导出
- 有效的括号golang实现
- linux下安装python dlib依赖
- 关于新加坡IT薪酬和找工作网站
- struts框架值栈问题二之值栈的内部结构
热门文章
- 题解 P3805 【【模板】manacher算法】
- BZOJ4944: [Noi2017]泳池
- python cookbook第三版学习笔记十四:类和对象(五)代理类以及内存回收
- smartforms 条码打印
- css集合--表示有未读消息小红点的解决
- dojo 官方翻译 dojo/_base/lang 版本1.10
- ubuntu 网络配置及ssh文件传输
- POJ1226 Substrings ——后缀数组 or 暴力+strstr()函数 最长公共子串
- entity framework WithRequiredDependent和WithRequiredPrincipal
- 尚学堂xml学习笔记