关于磁盘和内存的常识以及磁盘I/O进化史
将数据存储在磁盘(IO读写)--进化-->将数据存储在数据库中
磁盘:
①寻址--毫秒ms级别的。
②带宽--单位时间内能传输的字节流能有多少,几个G或几M。
内存:
①寻址--纳秒ns级别的。秒=1000毫秒=1000*1000微妙=1000*1000*1000纳秒。在寻址上,磁盘比内存慢了10万倍。
②带宽--很大
I/O Buffer:
磁盘中的磁道和扇区,一扇区512字节byte,如果磁盘容量很大,而扇区很小,势必会增大索引成本。
操作系统无论从磁盘读取多少数据都是以4K为单位。
随着文件变大,速度会越慢,磁盘IO会成为瓶颈。
数据库:
数据库的出现是为了改善磁盘IO的瓶颈。但整体而言,磁盘IO和数据库的IO总量是相等的,因此就有了索引的概念,如果没有索引,仅仅只是建了数据库和表,不会有太大帮助,依旧很慢。
数据库中最小的单位为page页,以4k为单位。
关系型数据库建表,必须先给出schema,数据类型(字节宽度),存数据时倾向于行级存储。先给出字节宽度的好处时,保留了位置,在插入或更新数据时直接进行覆写而不用进行数据移动。
索引也是数据,和表数据一样都存储在硬盘中。在内存中创建一棵B+树用于将索引的区间和偏移存储起来,索引和数据存在磁盘,因为内存有限,存不下这么多的数据,利用索引提高遍历查找的速度,减少磁盘IO和寻址的过程,但数据还是从磁盘获取。
关于磁盘和内存的常识以及磁盘I/O进化史相关推荐
- 计算机常识知识--磁盘、内存、IO
磁盘 计算机中数据存在存在磁盘里的.磁盘有两个指标:寻址(ms)和带宽(G/M). 当数据存在磁盘中时,读取的速度相当于内存来说是很慢的. 内存 内存的两个指标:寻址(ns)和带宽(G/M) IO b ...
- 读内存为什么比读取磁盘快?快多少?
日常无数次听到,能用redis 就不用 mysql. 把无业务逻辑,简单业务逻辑统统的放到redis 中,反正redis 性能高. redis 使用的是内存,比读取磁盘快多了. 至于为什么,倒说不出来 ...
- JAVA 线上故障排查套路,从 CPU、磁盘、内存、网络到GC 一条龙!
点击上方蓝色"方志朋",选择"设为星标" 回复"666"获取独家整理的学习资料! 线上故障主要会包括cpu.磁盘.内存以及网络问题,而大多数 ...
- JAVA 线上故障排查完整套路,从 CPU、磁盘、内存、网络、GC 一条龙!
点击上方"方志朋",选择"设为星标" 回复"666"获取新整理的面试文章 作者:fredal https://fredal.xin/java ...
- 从 CPU、磁盘、内存、网络、GC 一条龙!JAVA 线上故障排查完整套路
线上故障主要会包括cpu.磁盘.内存以及网络问题,而大多数故障可能会包含不止一个层面的问题,所以进行排查时候尽量四个方面依次排查一遍.同时例如jstack.jmap等工具也是不囿于一个方面的问题的,基 ...
- 印象系列-磁盘和内存的基本认识
如果问起内存和磁盘的区别,我相信大部分开发者都会列举一二.事实确实这样,最近在团队的一次内部分享上,四五位同学说出了不同的答案:内存存储速度快.磁盘容量大.磁盘可保存长久数据.磁盘体积比较大~ 当然了 ...
- 【C 语言】文件操作 ( C 语言中的文件操作函数 | 磁盘与内存缓冲区 | 缓冲区工作机制 )
文章目录 一.C 语言中的文件操作函数 二.磁盘与内存缓冲区 三.缓冲区工作机制 一.C 语言中的文件操作函数 读取 文本文件 可以使用 getc , fgets , fscanf 函数 , 向 文本 ...
- 利用shell监控cpu、磁盘、内存使用率
利用shell监控cpu.磁盘.内存使用率,达到警报阈值发邮件进行通知 并配合任务计划,即可及时获取报警信息 #!/bin/bash ################################# ...
- 「数据库系列三」磁盘、内存和带宽
聊聊影响流量的三大物质因素:磁盘.带宽.内存 速度上内存 >带宽(带宽可以看作网络的吞吐量)>磁盘 google 工程师Jeff Dean 首先在他关于分布式系统的ppt文档列出来的,到处 ...
最新文章
- GitHub上分享的常用算法和数据结构实现原理可视化系统
- ATS 6.2.1打release版本rpm包时插件中出现undefined symbol的问题追踪
- OpenWebSpider 安装使用
- Java 启动线程并保持
- 如何使用Angular FormBuilder
- CVPR2013一些论文集合供下载(visual tracking相关)
- html5图片比例控制,按比例调整图像大小以适应HTML5画布
- 正态分布下贝叶斯决策的特例(三)
- 计算机基础ps变换蝴蝶,在PS中用自由变换制作飞舞的蝴蝶和用内容识别比例缩放的操作过程...
- matlab直方图均衡化函数
- A股实时行情接口资源分享
- 中国AI觉醒 阿里王坚:云智能将成为大趋势
- HTML+JS 前端雪花飘落
- 微信小程序实现首页图片多种排版布局!
- 数据分析编程检验——车流量统计(不能使用pandas和numpy)
- apache2 默认首页php,每天进步一点点:Ubuntu下修改Apache2默认网页(主页)
- Blast中文手册(3)
- 有两个列表 l1 =[11,22,33] l2 =[22,33,44]
- 一款基于SpringBoot+layui 开源的固定设备资产管理系统源码 源码免费分享
- Java常用框架学习