自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

InternalsOf

database/linux

  • 博客(7)
  • 资源 (6)
  • 收藏
  • 关注

原创 Postgresql源码(24)ReadBuffer_common核心流程简化

总结:先走BufferAlloc拿一个buffer如果在内存中直接返回,如果不在内存中需要分配一个位置。如果有位置直接分配,如果没有位置需要clock sweep淘汰一个。拿到一个页面后,数据肯定是不对的,需要IO上来数据,如果页面本身有脏数据,需要先把页面Flush到存储再用。BufferAlloc出来的页面如果需要IO读会带着IO_IN_PROGRESS标志位和IO锁。ReadBuffer_common检查BufferAlloc有没有找到页面,如果没找到页面,也已经拿到一个带着IO标

2021-12-28 18:02:33 727

原创 Postgresql10分区表range实例

注意点1. PG10不能在父表上创建索引2. 极限优化索引可以创建条件索引3. 序列一定是要挂在父表上创建规则https://www.postgresql.org/docs/10/sql-createtable.htmlPARTITION BY { RANGE | LIST } ( { column_name | ( expression ) } [ opclass ] [, ...] )The optional PARTITION BY clause specifies a strateg

2021-12-16 15:59:30 1334

原创 Postgresql源码(23)Clog使用的Slru页面淘汰机制

SLRU页面选择函数SlruSelectLRUPage:选择一个空的或淘汰一个SLOT(可能触发IO),返回一个可用SLOTstatic intSlruSelectLRUPage(SlruCtl ctl, int pageno){ SlruShared shared = ctl->shared; /* Outer loop handles restart after I/O */ for (;;) { int slotno; int cur_count; int

2021-12-14 11:48:35 942 1

原创 Postgresql源码(22)CLOG内存结构图示

总结:32个lsn一组,一个页面能存8192 * 4 个lsn, 一个页面分成了1024个组。内存连续申请,头部指针尾部数据。内存连续申请,中间控制信息,每个页面对应中间几个数组中的一个位置。CLOG中一个页面常称为SLOT。.........

2021-12-13 17:03:21 939

原创 Postgresql源码(21)update生成XLOG过程&内容解析

(完整流程在log_heap_update)1 注册阶段(1)用两个registered_buffers记录新旧页面bufferXLogRegisterBuffer(0, newbuf, bufflags);XLogRegisterBuffer(1, oldbuf, REGBUF_STANDARD);(2)注册maindata【SizeOfHeapUpdate大小:14】XLogRegisterData((char *) &xlrec, SizeOfHeapUpdate);/* 关

2021-12-07 16:37:46 681

原创 Postgresql源码(20)日志组装写入流程图

组装过程:只有header信息会memcry到链表第一个data区域,其他信息例如页面image、元组内容等都是指针挂在后面的data区域写入过程:写入只需要遍历list,然后memcpy即可

2021-12-02 11:38:47 647

原创 Postgresql源码(19)日志注册数据结构

XLOG注册过程一个页面使用一个register_buffer槽位,最多5个页面 每个页面的其他信息使用rdata槽位形成链表,使用到的rdata用register_buffer的指针指向

2021-12-01 19:33:18 690

oracle core essential internals for dbas and developers

Oracle核心技术英文原版,非常不好找的一本书。 原书名:《oracle core essential internals for dbas and developers》

2024-05-30

bcc tools+火焰图两件套

bcc tools+火焰图两件套

2024-03-21

算法导论第三版(高清带目录书签无解压密码)

算法导论第三版(高清带书签无解压密码),压缩包没有解压密码

2019-06-07

Java编程思想第四版4th(高清带书签无解压密码)

Java编程思想第四版4th(高清带书签无解压密码),高清版本,没有解压密码

2019-06-07

C++Primier(高清版本带书签免解压密码)

C++Primier(高清版本带书签免解压密码),高清版本,带书签,免解压密码

2019-05-05

MySQL技术内幕第五版(高清带书签免解压密码)

MySQL技术内幕第五版(高清带书签),高清版本,平板上看体验比纸质书好

2019-05-05

数据库系统实现(高清带书签免解压密码)

数据库系统实现(高清带书签免解压密码),高清版本,免解压密码

2019-05-04

Leetcode题解(官方出品)

Leetcode题解(官方出品),官方网站付费申请才能买到,无密码解压。

2019-04-21

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除