关于磁盘和内存的常识以及磁盘I/O进化史
生活随笔
收集整理的這篇文章主要介紹了
关于磁盘和内存的常识以及磁盘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进化史的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: JVM内存压缩开启/不开启各占几个字节
- 下一篇: zookeeper的安装及配置教程(步骤