From 627912c14ca4a893b332d2e5b5795e53e59b019a Mon Sep 17 00:00:00 2001 From: spaceoddity91719 Date: Tue, 24 May 2022 16:39:35 +0800 Subject: [PATCH] add new blog --- ...77\347\250\213\347\220\206\350\247\243.md" | 59 ++++++++++++++++++ ...6-522745f1-010b-4ada-9c96-ada272ed6d31.png | Bin 0 -> 77039 bytes 2 files changed, 59 insertions(+) create mode 100644 "content/zh/post/enmo/MogDB\347\232\204\347\272\277\347\250\213\347\220\206\350\247\243.md" create mode 100644 content/zh/post/enmo/images/20220216-522745f1-010b-4ada-9c96-ada272ed6d31.png diff --git "a/content/zh/post/enmo/MogDB\347\232\204\347\272\277\347\250\213\347\220\206\350\247\243.md" "b/content/zh/post/enmo/MogDB\347\232\204\347\272\277\347\250\213\347\220\206\350\247\243.md" new file mode 100644 index 00000000..1324d59b --- /dev/null +++ "b/content/zh/post/enmo/MogDB\347\232\204\347\272\277\347\250\213\347\220\206\350\247\243.md" @@ -0,0 +1,59 @@ ++++ + +title = "MogDB的线程理解" + +date = "2022-05-24" + +tags = ["MogDB的线程理解"] + +archives = "2022-05" + +author = "云和恩墨交付" + +summary = "MogDB的线程理解" + +img = "/zh/post/enmo/title/img.png" + +times = "10:20" ++++ + +# MogDB的线程理解 + +## 单实例线程 + +1 业务处理线程 日志写线程,数据写线程,统计线程 +2 清理线程,检查点线程,轻量锁检测线程,管理线程 +3 审计线程,服务器启动线程,归档线程,告警线程 +4 系统日志写线程,子线程回收线程,百分比统计线程,job线程 + +## 主要线程描述和说明 + +业务处理线程:该线程是负责客户端请求任务的线程,当客户端发出一个连接请求给 postmaster之后,postmaster会fork出一个后端线程(业务处理线程)来处理客户端的请求,后续这个客户端的所有请求(包括查询和操作)都是有该业务线程来负责。当客户端发送过来一个业务请求的时候,或者sql语句的时候,会使用的sql引擎对客户端发送的sql语句进行语法解析,语义解析,词法分析,sql改写,sql优化,查询优化器生成依赖于统计信息最小代价的查询路径计划,SQL执行器会按照已制定的最优执行计划对SQL语句执行,将结果返回给客户端,这期间该业务线程只为该客户端服务。 + +## 日志写线程 + +日志写线程,就是wal预写式日志线程,负责将内存中预写式日志中的页数据刷新到预写式 日志文件中,保证已提交的事务不会发生变化,永久保存。该日志和我们主流的数据库的重做日志功能基本类似,里面记录了数据文件的详细的变更操作,在执行sql操作的时候会先将这些变更记录到预写式日志中,然后周期性的将数据文件在刷新到数据文件中。 + +## 数据写线程 + +通常我们的理解是将共享内存中的脏页周期性的刷新带数据文件中,分为pagewriter和bgwriter,但是在数据刷新到数据文件中的时候会存在宕机的情况,造成页中断或者页损坏的情况,这样就导致数据库在启动的时候无法启动,为了解决这个问题,MogDB引入了double write的机制,就是在数据写线程(pagewriter)会先将脏数据copy到dobule write区域并落盘,然后再转发给数据写线程(bgwriter)将数据写入到数据文件中,万一在写入数据的时候发生了也中断或者页损坏的情况下,可以从dobule write区域进行数据的恢复,保证数据的安全,那为什么在MogDB里面存在页中断或者也损坏呢,那是因为我们的操作系统的快通常都是4Kb的。而我们的数据库通常可以使用 8K/16K/32k的页面,通常是操作系统块的整数倍,MogDB的数据库大小是8K,就是2个操 作系统的数据块,所以在数据写线程进行数据写入的时候出现宕机就会发生也损坏的情况。 + +## 统计线程 + +统计线程(statcollect)就是收集数据库的信息,包括表的统计信息,索引的统计信息,锁的统计信息,物理资源的统计信息,sql的统计信息,会话的统计信息,对象以及属性的 +统计信息,线程信息,将这些所收集到的统计信息保存到pg_stat的文件中,用来进行性能分析,故障诊断,以及性能监控,健康检查以及查询优化器根据这些统计信息制定最小 +代价的查询路径计划,SQL执行器会按照已制定的最优执行计划对SQL语句执行。 + +## 清理线程 + +清理线程分为AutoVacLauncher和AutoVacWorker,分别为启动线程和工作线程,首先 在MogDB里面表数据的删除不是真正意义的上面的数据删除,而是在原先的表上对该表删除 +的行打上了标记,是一个逻辑的删除,可见性是通过xmin来判断的,至于可见性判断这里 面不说明,由于MogDB是这种的表数据的删除方式,所以在一张大表里面进行频繁的增删改 +的操作,特别是删除的操作,就是导致这张表里面存在大量的无用的数据,同时这些无用的数据在select操作的时候会增加io的次数,同时io也需要扫描大量无用的数据,这无疑 +是对io的浪费,同时select的耗时会增加,同时占用大量的磁盘空间,但是也有好处,就是在这种机制下面使用MVCC的话,读和写是不会阻塞的,MVCC机制和这些历史快照实现数 +据的读写不冲突。所以需要一个线程对这些过期数据进行清理,并回收存储空间。autovacuum线程就是这个后台清理线程,负责回收表或B-Tree索引中已经删除的行所占据的存储空间,这个线程也是由一个发起线程和一个执行线程组成,AutoVacLauncher和AutoVacWorker,当autovacuum参数打开后,AutoVacLauncher线 +程会由Postmaster线程启动,并且会不断地将数据库需要做vacuum的对象信息保存在共享内存中,当表上被删除或更新的记录数超过设定的阈值( 表中(update,delte记录) >= +autovacuum_vacuum_scale_factor* reltuples(表上记录数) +autovacuum_vacuum_threshold ) 时,调用AutoVacWorker线程对这个表的存储空间执行回收清理工作。当需要发起数据库vacuum的时候,AutoVacLauncher线程会在共享内存设置相应的flag,然后发送信号给Postmaster线程,postmaster线程收到信号后,就知道需要启动一个AutoVacWorker子线程连接共享内存,AutoVacWorker子线程将从共享内存获取待清理的任务信息,并执行对象的清理回收工作。 + +## MogDB的内部线程图观察 + +![微信截图_20220216123148.png](../images/20220216-522745f1-010b-4ada-9c96-ada272ed6d31.png) diff --git a/content/zh/post/enmo/images/20220216-522745f1-010b-4ada-9c96-ada272ed6d31.png b/content/zh/post/enmo/images/20220216-522745f1-010b-4ada-9c96-ada272ed6d31.png new file mode 100644 index 0000000000000000000000000000000000000000..6d059996cf8be4ee45817e2ae9d384e29c7bb4fb GIT binary patch literal 77039 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 literal 0 HcmV?d00001 -- Gitee