将数据存储在磁盘(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进化史相关推荐

  1. 计算机常识知识--磁盘、内存、IO

    磁盘 计算机中数据存在存在磁盘里的.磁盘有两个指标:寻址(ms)和带宽(G/M). 当数据存在磁盘中时,读取的速度相当于内存来说是很慢的. 内存 内存的两个指标:寻址(ns)和带宽(G/M) IO b ...

  2. 读内存为什么比读取磁盘快?快多少?

    日常无数次听到,能用redis 就不用 mysql. 把无业务逻辑,简单业务逻辑统统的放到redis 中,反正redis 性能高. redis 使用的是内存,比读取磁盘快多了. 至于为什么,倒说不出来 ...

  3. JAVA 线上故障排查套路,从 CPU、磁盘、内存、网络到GC 一条龙!

    点击上方蓝色"方志朋",选择"设为星标" 回复"666"获取独家整理的学习资料! 线上故障主要会包括cpu.磁盘.内存以及网络问题,而大多数 ...

  4. JAVA 线上故障排查完整套路,从 CPU、磁盘、内存、网络、GC 一条龙!

    点击上方"方志朋",选择"设为星标" 回复"666"获取新整理的面试文章 作者:fredal https://fredal.xin/java ...

  5. 从 CPU、磁盘、内存、网络、GC 一条龙!JAVA 线上故障排查完整套路

    线上故障主要会包括cpu.磁盘.内存以及网络问题,而大多数故障可能会包含不止一个层面的问题,所以进行排查时候尽量四个方面依次排查一遍.同时例如jstack.jmap等工具也是不囿于一个方面的问题的,基 ...

  6. 印象系列-磁盘和内存的基本认识

    如果问起内存和磁盘的区别,我相信大部分开发者都会列举一二.事实确实这样,最近在团队的一次内部分享上,四五位同学说出了不同的答案:内存存储速度快.磁盘容量大.磁盘可保存长久数据.磁盘体积比较大~ 当然了 ...

  7. 【C 语言】文件操作 ( C 语言中的文件操作函数 | 磁盘与内存缓冲区 | 缓冲区工作机制 )

    文章目录 一.C 语言中的文件操作函数 二.磁盘与内存缓冲区 三.缓冲区工作机制 一.C 语言中的文件操作函数 读取 文本文件 可以使用 getc , fgets , fscanf 函数 , 向 文本 ...

  8. 利用shell监控cpu、磁盘、内存使用率

    利用shell监控cpu.磁盘.内存使用率,达到警报阈值发邮件进行通知 并配合任务计划,即可及时获取报警信息 #!/bin/bash ################################# ...

  9. 「数据库系列三」磁盘、内存和带宽

    聊聊影响流量的三大物质因素:磁盘.带宽.内存 速度上内存 >带宽(带宽可以看作网络的吞吐量)>磁盘 google 工程师Jeff Dean 首先在他关于分布式系统的ppt文档列出来的,到处 ...

最新文章

  1. GitHub上分享的常用算法和数据结构实现原理可视化系统
  2. ATS 6.2.1打release版本rpm包时插件中出现undefined symbol的问题追踪
  3. OpenWebSpider 安装使用
  4. Java 启动线程并保持
  5. 如何使用Angular FormBuilder
  6. CVPR2013一些论文集合供下载(visual tracking相关)
  7. html5图片比例控制,按比例调整图像大小以适应HTML5画布
  8. 正态分布下贝叶斯决策的特例(三)
  9. 计算机基础ps变换蝴蝶,在PS中用自由变换制作飞舞的蝴蝶和用内容识别比例缩放的操作过程...
  10. matlab直方图均衡化函数
  11. A股实时行情接口资源分享
  12. 中国AI觉醒 阿里王坚:云智能将成为大趋势
  13. HTML+JS 前端雪花飘落
  14. 微信小程序实现首页图片多种排版布局!
  15. 数据分析编程检验——车流量统计(不能使用pandas和numpy)
  16. apache2 默认首页php,每天进步一点点:Ubuntu下修改Apache2默认网页(主页)
  17. Blast中文手册(3)
  18. 有两个列表 l1 =[11,22,33] l2 =[22,33,44]
  19. 一款基于SpringBoot+layui 开源的固定设备资产管理系统源码 源码免费分享
  20. Java常用框架学习

热门文章

  1. 【论文解读】DeepFM论文总结
  2. 【论文解读】基于图卷积的价格感知推荐
  3. 2020 年的算法,降温之后会更好
  4. 经典算法笔记:无监督算法(聚类、降维)
  5. 统计学习方法第十一章作业:随机条件场—概率计算问题、IIS/GD学习算法、维特比预测算法 代码实现
  6. DeepLearning based on PaddlePaddle系列一
  7. 娱乐社交,玩票大的!网易云信“2021融合通信开发者大赛”正式收官!
  8. Amazon Aurora Serverless MySQL已正式可用
  9. Yii框架特点及测试考虑
  10. CentOS6下yum下载的包存放路径