电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術文章
文章詳情頁

MySQL的雙寫緩沖區Doublewrite Buffer詳解

瀏覽:18日期:2023-06-23 19:40:37
目錄為什么需要Doublewrite BufferDoublewrite Buffer原理Doublewrite Buffer相關參數總結為什么需要Doublewrite Buffer

我們常見的服務器一般都是Linux操作系統,Linux文件系統頁(OS Page)的大小默認是4KB。而MySQL的頁(Page)大小默認是16KB。

可以使用如下命令查看MySQL的Page大小:

SHOW VARIABLES LIKE 'innodb_page_size';

一般情況下,其余程序因為需要跟操作系統交互,它們的頁(Page)都會大于等于操作系統的頁大小,為整數倍。比如,Oracle的Page大小為8KB。

MySQL程序是跑在Linux操作系統上的,需要跟操作系統交互,所以MySQL中一頁數據刷到磁盤,要寫4個文件系統里的頁。

需要注意的是,這個操作并非原子操作,比如我操作系統寫到第二個頁的時候,Linux機器斷電了,這時候就會出現問題了。造成”頁數據損壞“。并且這種”頁數據損壞“靠 redo日志是無法修復的。

重做日志中記錄的是對頁的物理操作,而不是頁面的全量記錄,而如果發生partial page write(部分頁寫入)問題時,出現問題的是未修改過的數據,此時重做日志(Redo Log)無能為力。寫doublewrite buffer成功了,這個問題就不用擔心了。

Doublewrite Buffer的出現就是為了解決上面的這種情況,雖然名字帶了Buffer,但實際上Doublewrite Buffer是內存+磁盤的結構。

Doublewrite Buffer是一種特殊文件flush技術,帶給InnoDB存儲引擎的是數據頁的可靠性。它的作用是,在把頁寫到數據文件之前,InnoDB先把它們寫到一個叫doublewrite buffer(雙寫緩沖區)的共享表空間內,在寫doublewrite buffer完成后,InnoDB才會把頁寫到數據文件的適當的位置。如果在寫頁的過程中發生意外崩潰,InnoDB在稍后的恢復過程中在doublewrite buffer中找到完好的page副本用于恢復。

Doublewrite Buffer原理

如上圖所示,當有頁數據要刷盤時:

頁數據先通過memcpy函數拷貝至內存中的Doublewrite Buffer中;Doublewrite Buffer的內存里的數據頁,會fsync刷到Doublewrite Buffer的磁盤上,分兩次寫入磁盤共享表空間中(連續存儲,順序寫,性能很高),每次寫1MB;Doublewrite Buffer的內存里的數據頁,再刷到數據磁盤存儲.ibd文件上(離散寫);

Doublewrite Buffer內存結構由128個頁(Page)構成,大小是2MB。

Doublewrite Buffer磁盤結構在系統表空間上是128個頁(2個區,extend1和extend2),大小是2MB。

如果操作系統在將頁寫入磁盤的過程中發生了崩潰,在恢復過程中,InnoDB存儲引擎可以從共享表空間中的Double write中找到該頁的一個副本,將其復制到表空間文件,再應用重做日志。

MySQL會檢查double writer的數據的完整性,如果不完整直接丟棄double write buffer內容,重新執行那條redo log,如果double write buffer的數據是完整的,用double writer buffer的數據更新該數據頁,跳過該redo log。

所以在正常的情況下,MySQL寫數據頁時,會寫兩遍到磁盤上,第一遍是寫到doublewrite buffer,第二遍是寫到真正的數據文件中,這就是“Doublewrite”的由來。

在數據庫異常關閉的情況下啟動時,都會做數據庫恢復(redo)操作,恢復的過程中,數據庫都會檢查頁面是不是合法(校驗等等),如果發現一個頁面校驗結果不一致,則此時會用到雙寫這個功能。

我們可以通過如下命令來監控Doublewrite Buffer工作負載:

show global status like '%dblwr%';Doublewrite Buffer相關參數innodb_doublewrite:Doublewrite Buffer是否啟用開關,默認是開啟狀態,InnoDB將所有數據存儲兩次,首先到雙寫緩沖區,然后到實際數據文件。Innodb_dblwr_pages_written:記錄寫入到DWB中的頁數量。Innodb_dblwr_writes:記錄DWB寫操作的次數。總結

InnoDB Doublewrite Buffer是InnoDB的一個重要特性,用于保證MySQL數據的可靠性和一致性。它的實現原理是通過將要寫入磁盤的數據先寫入到Doublewrite Buffer中的內存緩存區域,然后再寫入到磁盤的兩個不同位置,來避免由于磁盤損壞等因素導致數據丟失或不一致的問題。Doublewrite Buffer對于保證MySQL數據的安全性和一致性具有重要意義。

到此這篇關于MySQL的雙寫緩沖區Doublewrite Buffer詳解的文章就介紹到這了,更多相關MySQL的雙寫緩沖區內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!

標簽: MySQL 數據庫
主站蜘蛛池模板: 手术室净化厂家_成都实验室装修公司_无尘车间施工单位_洁净室工程建设团队-四川华锐16年行业经验 | 吸污车_吸粪车_抽粪车_电动三轮吸粪车_真空吸污车_高压清洗吸污车-远大汽车制造有限公司 | 双段式高压鼓风机-雕刻机用真空泵-绍兴天晨机械有限公司 | 郑州巴特熔体泵有限公司专业的熔体泵,熔体齿轮泵与换网器生产厂家 | 石牌坊价格石牌坊雕刻制作_石雕牌坊牌楼石栏杆厂家_山东嘉祥石雕有限公司 | Eiafans.com_环评爱好者 环评网|环评论坛|环评报告公示网|竣工环保验收公示网|环保验收报告公示网|环保自主验收公示|环评公示网|环保公示网|注册环评工程师|环境影响评价|环评师|规划环评|环评报告|环评考试网|环评论坛 - Powered by Discuz! | 中高频感应加热设备|高频淬火设备|超音频感应加热电源|不锈钢管光亮退火机|真空管烤消设备 - 郑州蓝硕工业炉设备有限公司 | 旋振筛|圆形摇摆筛|直线振动筛|滚筒筛|压榨机|河南天众机械设备有限公司 | 北京乾茂兴业科技发展有限公司 | 萃取箱-萃取槽-PVC萃取箱厂家-混合澄清槽- 杭州南方化工设备 | 除尘器布袋骨架,除尘器滤袋,除尘器骨架,电磁脉冲阀膜片,卸灰阀,螺旋输送机-泊头市天润环保机械设备有限公司 | 深圳宣传片制作-企业宣传视频制作-产品视频拍摄-产品动画制作-短视频拍摄制作公司 | 电杆荷载挠度测试仪-电杆荷载位移-管桩测试仪-北京绿野创能机电设备有限公司 | 风电变桨伺服驱动器-风电偏航变桨系统-深圳众城卓越科技有限公司 | PU树脂_水性聚氨酯树脂_聚氨酯固化剂_聚氨酯树脂厂家_宝景化工 | 礼堂椅厂家|佛山市艺典家具有限公司 | 微水泥_硅藻泥_艺术涂料_艺术漆_艺术漆加盟-青岛泥之韵环保壁材 武汉EPS线条_EPS装饰线条_EPS构件_湖北博欧EPS线条厂家 | 震动筛选机|震动分筛机|筛粉机|振筛机|振荡筛-振动筛分设备专业生产厂家高服机械 | 金环宇|金环宇电线|金环宇电缆|金环宇电线电缆|深圳市金环宇电线电缆有限公司|金环宇电缆集团 | 山东锐智科电检测仪器有限公司_超声波测厚仪,涂层测厚仪,里氏硬度计,电火花检漏仪,地下管线探测仪 | LED太阳能中国结|发光红灯笼|灯杆造型灯|节日灯|太阳能灯笼|LED路灯杆装饰造型灯-北京中海轩光电 | uv固化机-丝印uv机-工业烤箱-五金蚀刻机-分拣输送机 - 保定市丰辉机械设备制造有限公司 | 安全光栅|射频导纳物位开关|音叉料位计|雷达液位计|两级跑偏开关|双向拉绳开关-山东卓信机械有限公司 | LED太阳能中国结|发光红灯笼|灯杆造型灯|节日灯|太阳能灯笼|LED路灯杆装饰造型灯-北京中海轩光电 | 电缆桥架生产厂家_槽式/梯式_热镀锌线槽_广东东莞雷正电气 | 上海质量认证办理中心 | 一体化污水处理设备-一体化净水设备-「山东梦之洁水处理」 | 书信之家_书信标准模板范文大全| 仿真茅草_人造茅草瓦价格_仿真茅草厂家_仿真茅草供应-深圳市科佰工贸有限公司 | 无硅导热垫片-碳纤维导热垫片-导热相变材料厂家-东莞市盛元新材料科技有限公司 | 哈尔滨治「失眠/抑郁/焦虑症/精神心理」专科医院排行榜-京科脑康免费咨询 一对一诊疗 | 10吨无线拉力计-2吨拉力计价格-上海佳宜电子科技有限公司 | 石膏基自流平砂浆厂家-高强石膏基保温隔声自流平-轻质抹灰石膏粉砂浆批发-永康市汇利建设有限公司 | 河南中专学校|职高|技校招生-河南中职中专网 | 天然鹅卵石滤料厂家-锰砂滤料-石英砂滤料-巩义东枫净水 | 伶俐嫂培训学校_月嫂培训班在哪里报名学费是多少_月嫂免费政府培训中心推荐 | 窖井盖锯圆机_锯圆机金刚石锯片-无锡茂达金刚石有限公司 | 折弯机-刨槽机-数控折弯机-数控刨槽机-数控折弯机厂家-深圳豐科机械有限公司 | 板框压滤机-隔膜压滤机配件生产厂家-陕西华星佳洋装备制造有限公司 | 玻璃钢型材-玻璃钢风管-玻璃钢管道,生产厂家-[江苏欧升玻璃钢制造有限公司] | 常州翔天实验仪器厂-恒温振荡器-台式恒温振荡器-微量血液离心机 恒温恒湿箱(药品/保健品/食品/半导体/细菌)-兰贝石(北京)科技有限公司 |