磁盘的读写过程,最消耗时间的地方就是在磁盘中磁道寻址的过程,而一旦寻址完成,写入数据的速度很快。
连续写入:写入只寻址一次 存储位置与逻辑位置相邻 不用多次寻址
随机写入:每写一次 便寻址一次 增加了磁盘的寻址时间
为什么很多数据库索引采用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块磁盘,并在剩余两块磁盘中螺旋式的写入校验信息(使用不同算法生成)