資料庫IO簡介

2022-03-15 17:57:28 字數 743 閱讀 8419

io有四種型別:連續讀,隨機讀,隨機寫和連續寫,連續讀寫的io size通常比較大(128kb-1mb),主要衡量吞吐量,而隨機讀寫的io size比較小(小於8kb),主要衡量iops和響應時間。資料庫中的全表掃瞄是連續讀io,索引訪問則是典型的隨機讀io,日誌檔案是連續寫io,而資料檔案則是隨機寫io。

資料庫系統基於傳統磁碟訪問特性來設計,最大特點是日誌檔案採用sequential logging,資料庫中的日誌檔案,要求必須在事務提交時寫入到磁碟,對響應時間的要求很高,所以設計為順序寫入的方式,可以有效降低磁碟尋道花費的時間,減少延遲時間。日誌檔案的順序寫入,雖然是物理位置是連續的,但是並不同於傳統的連續寫型別,日誌檔案的io size很小(通常小於4k),每個io之間是獨立的(磁頭必須抬起來重新尋道,並等待磁碟轉動到相應的位置),而且間隔很短,資料庫通過log buffer(快取)和group commit的方式(批量提交)來達到提高io size的大小,並減少io的次數,從而得到更小的響應延遲,所以日誌檔案的順序寫入可以被認為是「連續位置的隨機寫入」,更關注iops,而不是吞吐量。

資料檔案採用in place uddate的方式,意思是資料檔案的修改都是寫入到原來的位置,資料檔案不同於日誌檔案,並不會在事務commit時寫入資料檔案,只有當資料庫發現dirty buffer過多或者需要做checkpoint動作時,才會重新整理這些dirty buffer到相應的位置,這是乙個非同步的過程,通常情況下,資料檔案的隨機寫入對io的要求並不是特別高,只要滿足checkpoint和dirty buffer的要求就可以了。

資料庫簡介

1.網型 2.層次型 3.關係型 4.物件導向的關係型 5.物件導向型 dbms 資料庫管理系統 rdbms 關係型資料庫管理系統 rodbms 物件導向的關係型資料庫管理系統 現在比較流行的大型資料庫有oracle,sqlserver,sybase,db2,都採用了sql 結構化查詢語言 作為資料...

資料庫簡介

1.關係型資料庫 sql mysql資料庫是中小型企業使用的資料。主要是使用innnodb的引擎儲存資料 orcalr資料庫是大型企業使用的資料庫 甲骨文公司 mariadb資料庫是把mysql的閉源漏洞在論壇上修復後的版本,使用時xtradb引擎 sql server是微軟設計的一種針對windo...

資料庫簡介

資料庫 吞吐量大 效率高 按照一定的資料結構來儲存和管理資料的倉庫 分類 1 關係型資料庫 二維關係表 sql 儲存方式固定 安全 2 非關係型資料庫 nosql not only sql 儲存方式比較靈活 儲存效率較高,但不太安全 mysql 基本結構 最流行的關係型資料庫管理系統之一 關係型資料...