下邊這段話主要描寫了innodb如何來保障可恢復,和減少fsync的數量的
12.5.14.1. InnoDB Disk I/O
InnoDB uses simulated asynchronous disk I/O: InnoDB creates a number of threads to take care of I/O operations, such as read-ahead.
There are two read-ahead heuristics(啟發式) in InnoDB:
-
In sequential read-ahead, if InnoDB notices that the access pattern to a segment in the tablespace is sequential, it posts in advance a batch of reads of database pages to the I/O system. (innodb注意到大批次的順序讀相應,會事先去批次讀資料)
-
In random read-ahead, if InnoDB notices that some area in a tablespace seems to be in the process of being fully read into the buffer pool, it posts the remaining reads to the I/O system. (不懂)
InnoDB uses a novel file flush technique called doublewrite. It adds safety to recovery following an operating system crash or a power outage, and improves performance on most varieties of Unix by reducing the need for fsync() operations.
Doublewrite means that before writing pages to a data file, InnoDB first writes them to a contiguous tablespace area(比較覺得這個就是log_buffer,記錄到連續的空間意味著將原本的隨機寫先透過順序寫儲存起來) called the doublewrite buffer. Only after the write and the flush to the doublewrite buffer has completed does InnoDB write the pages to their proper positions in the data file(寫資料前要先寫doublewrite buffer). If the operating system crashes in the middle of a page write, InnoDB can later find a good copy of the page from the doublewrite buffer during recovery.
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/82392/viewspace-158557/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 如何減少 Hyperf 框架的掃描時間框架
- Mac訪達邊欄裡的“下載”消失了,怎麼恢復?Mac
- 最近寫了幾個 Laravel 擴充套件用來減少工作的麻煩Laravel套件
- MySQL 減少InnoDB系統表空間的大小MySql
- undrop-for-innodb恢復drop的表
- MySQL異常恢復之無主鍵情況下innodb資料恢復的方法MySql資料恢復
- 地中海飲食加上定期鍛鍊和減少卡路里攝入可減少腹部脂肪和保持肌肉質量
- hadoop archive合併小檔案並進行mapreduce來減少map的數量HadoopHive
- MySQL:Innodb恢復的學習筆記MySql筆記
- 【質量視角】可觀測性背景下的質量保障思路
- 照片恢復軟體是如何恢復數位相機照片的?
- Java 8 中的方法引用,輕鬆減少程式碼量,提升可讀性!Java
- Withings:2020年全球人們走路的次數減少 但體重卻減輕了
- InnoDB 崩潰恢復機制
- USB快閃記憶體盤中的檔案被誤刪除,但容量沒有減少,如何恢復?記憶體
- 寫部落格是為了和過去以及未來的自己對話
- SOFAStack推出雲原生產品BizStack 可減少30%程式碼量AST
- python爬蟲如何減少ip的限制Python爬蟲
- 【MySQL】二、Innodb 恢復工具介紹MySql
- 如何保障數倉資料質量?
- 配置Tree Shaking來減少JavaScript的打包體積JavaScript
- 研究發現散步對減少下背痛復發效果顯著
- Brad Johns:使用6:4的比例來分配資料儲存可減少碳排放58%
- SVG 文字填充和描邊SVG
- Docker的`COPY --chmod`可將映象檔案大小減少35%Docker
- 【譯】如何使用webpack減少vuejs打包的大小WebVueJS
- 寫程式碼有這16個好習慣,可以減少80%非業務的bug
- 成功的專案管理策略:減少成本,提高質量專案管理
- locust 執行一段時間,使用者數沒減少,但是 RPS 逐漸減少,最後沒有請求
- 如何減少攻擊面
- [20180829]減少日誌生成量.txt
- 下載量增加,支出減少——移動遊戲如何度過持續不斷的經濟風暴?遊戲
- 短視訊系統原始碼,如何給button控制元件新增描邊、填充背景和描邊原始碼控制元件
- 陣列左邊減去右邊數值的最大差值陣列
- MySQL:Innodb如何快速殺掉堵塞會話的思考MySql會話
- canvas描邊和填充介紹Canvas
- 如何恢復SSD NVME固態硬碟的資料恢復硬碟資料恢復
- bitlocker如何恢復金鑰 bitlocker恢復金鑰的方法