- 博客(93)
- 资源 (5)
- 收藏
- 关注
原创 postgres源码解析56 Brin Index--3(update/delete/insert流程)
仅回收索引元组,而ItenidData设置为UNUSED转态。
2023-09-11 12:47:27
870
原创 postgres源码解析55 Brin Index--2(brinbuild流程)
上一篇讲解了brin index的基本概念以及页布局,后续会从源码角度对索引的构建、维护等方面进行深入讲解。
2023-09-05 12:40:43
898
原创 postgres源码解析54 Brin Index--1
brin index是Block range Index的缩写,顾名思义该索引是指块范围索引,该索引适合在超大表中进行过滤性扫描。基本的思路是追踪heap页域的最大值与最小值,用于过滤不符合条件的数据块。以下图为例,右边的堆表包含三个block,第一个block中有4个tuple,字段上的值分别是1、3、5、7。因此,与这个block相对应的Brin的元组就记录了 block的最小值1,最大值7。同理,2、4、6、8的最小值是2,最大值是8;12、11、10、12的最小值是10,最大值是14。
2023-09-02 15:09:06
1026
原创 greenplum gpfdist外部表(只读)的实现---理论
经过项目的验证测试以及初步商用化,本篇将进一步讲解greenplum外部表的实现原理,包括设计原则、交互协议与实现流程。gpfdist工具的简介与使用见回顾。
2023-08-21 20:34:30
1010
原创 linux 环境收集core文件步骤
Linux环境下进程发生异常而挂掉,通常很难查找原因,但是一般Linux内核给我们提供的核心文件,记录了进程在崩溃时候的信息,在C语言类的大型项目中,有助于深入定位。2 ulimit -c [kbytes]可以设置系统允许生成的core文件大小;执行# vim /etc/sysctl.conf,进入编辑模式,加入下面两行。3 执行sysctl -p /etc/sysctl.conf,使其修生效。上述方式不是永久生效的,要使其永久生效,可以进行如下设置。2 指定core文件的名字与生成路径。
2023-08-19 18:32:03
951
原创 C语言 字符串解析strchr/strrchr/strtok//strtok_r函数使用
在程序中,解析用户输入的参数(命令行参数)是很常见的操作,本文将讲解C语言中常见的一些解析字符串函数机器使用方法。
2023-04-15 12:36:33
5056
原创 greenplum gpfdist工具
gpfdist 是 Greenplum 数据库并行文件分发程序。它可以被外部表和 gpload 用来并行地将外部表文件分发给 Greenplum 数据库 Segment节点<greenplum架构介绍它也可以被可写外部表使用,将Segment节点上的数据写入目标文件中。gpfdist 可以看成是一个http服务,因其是单进程模式,所以为实现服务端的并行,需要启动多个 gpfdist 服务。
2023-04-07 21:05:22
2319
1
原创 数据库中并发事务下的读写异常与隔离界别技术
事务T1在t0时刻对row进行更新操作,T2事务在t1时刻读取到的是事务T1修改后该row的值,但是事务T1在t2时刻终止此事务使得其对之前的修改操作失效。按照时间顺序,事务T1在t0时刻对row进行了修改,事务T2在t1时刻页也对row进行修改,如果没有并发控制,T2的修改会生成新值,但是T1在t3时刻回滚使得T2对row修改失效,对于T1而言:回滚掉的不是自己修改数据,事务具有ACID特性。):从一开始,每一项操作都允许进行,但在事务提交的时候,会进行隔离性与完整性约束的检查,如果有违反则终止事务。
2023-04-02 16:30:49
1570
原创 Opengauss CLOG模块分区优化--1(原理)
与Postgres 数据库类似,Opengauss在事务模块也引入CLOG日志即事务提交日志,基础知识见postgres 源码解析9 CLOG管理器–1。在Opengauss 中每个事务存在四种状态:CLOG_XID_STATUS_IN_PROGRESS、 CLOG_XID_STATUS_COMMITTED、 CLOG_XID_STATUS_ABORTED 和 CLOG_XID_STATUS_SUB_COMMITTED。
2023-03-14 21:14:46
1382
原创 postgres 源码解析47 元组的删除流程 heap_delete
postgres 源码解析48 元组的删除流程 heap_delete
2023-01-10 12:59:55
1586
1
原创 postgres 源码解析 45 btree分裂流程_bt_split
postgres 源码解析 45 源码解析 btree分裂流程_bt_split
2022-12-19 17:24:22
1316
原创 postgres 源码解析43 元组的插入流程详解 heap_insert
postgres 源码解析43 元组的插入流程详解 heap_insert
2022-12-13 10:15:37
870
原创 postgres 源码解析 35 -- 可见性判断加速heapgetpage
postgres 源码解析 35 -- 可见性判断加速heapgetpage
2022-11-19 18:31:11
666
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人