自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(62)
  • 资源 (2)
  • 收藏
  • 关注

原创 数据库修仙化神篇四——搭建自己的搜索引擎

使用elasticsearch和search-ui搭建自己的搜索引擎,快速查找资源和文件。如果对代码感兴趣,相关代码已在github上开源,欢迎代码。

2023-10-25 15:45:23 2216

原创 数据库修仙元婴篇三——一文读懂openguass dcf网络模块

一文读懂openguass dcf网络模块

2023-06-22 14:43:47 1561

原创 pandoc自定义过滤器

pandoc是一个强大的文本转换工具,可以实现各种文本格式的互相转换。在开发过程中常用的文档格式有rst、markdown、pdf、docx等,pandoc支持这些格式互转,但是对于一些特殊格式和排版支持不是太好,需要做一些适配和二次开发。常见的方式用过滤器方式、模板方式、使用高级参数等来进行调整适配。但要想达到高度定制,还是需要使用过滤器的方式。

2024-09-18 13:56:51 954

翻译 数据库修化神篇一——B-树如何使查询更快

B-树如何使查询更快

2024-03-01 11:46:06 125

原创 数据库修仙秘境篇十——nfs详解

nfs详解

2024-02-27 16:26:59 1143

原创 数据库修仙秘境篇一——不得不知道的linux库的装载、链接

不得不知道的linux库的装载、链接

2024-02-06 09:46:41 351

原创 数据库修仙秘境篇二——做磁盘管理之前你一定要了解的lvm知识

lvm详解

2024-01-25 17:42:47 1161

原创 数据库修仙元婴篇一——dcf配置解析机制(元数据)

dcf配置解析机制(元数据)

2023-12-15 18:12:36 861

原创 数据库修仙筑基篇三——raft重要概念

raft重要概念

2023-12-15 17:08:20 796

原创 数据库修仙元婴篇二——dcf写入机制

dcf写入机制

2023-12-15 17:05:11 914

原创 docker搭建C语言开发环境

docker save 的应用场景:如果我们的应用是使用 docker-compose.yml 编排的多个镜像组合,查看code-server镜像大小,可以看到code-server的镜像挺大的,1.63GB。因而采用在基础镜像里安装code-server,安装完成后,我们再将其导出为我们需要的镜像。到这里,我们的容器已经制作完成了,已经有了一个基本开发环境,可以将其导出然后到其他地方使用。下载完成后记录下code-server的rpm包的安装目录,并将其映射到容器内部进行安装。

2023-10-27 14:23:28 910

原创 数据库修化神篇二——使用flex和bison编写程序

我们将用flex和bison实现一个计算器。

2023-10-27 14:19:24 510

原创 数据库修化神篇七——游标

数据库游标

2023-07-25 13:57:05 1109

原创 数据库修仙筑基篇十——corosync-qnetd投票机制

corosync-qnetd投票机制

2023-07-24 09:30:00 366

原创 数据库修化神篇六——持久化到磁盘

数据持久化

2023-07-21 11:14:04 233

原创 数据库修仙金丹篇十二——ptp1588v2实现方案

ptp1588v2实现方案

2023-06-29 14:30:35 1572

原创 数据库修化神篇五——仅支持追加的单表内存数据库

我们将从更简单的东西开始。像B树一样,它会将行分组到页面中,但不是将这些页面排列为树,而是将它们排列为一个数组。我将页面大小设为 4 KB,因为它与大多数计算机体系结构的虚拟内存系统中使用的页面大小相同。这意味着我们数据库中的一页对应于操作系统使用的一个页面。当我们切换到树结构时,数据库的最大大小将仅受文件最大大小的限制。由于页面在内存中可能不会彼此相邻存在,为了使读取/写入行变得更加容易,我们假设行不应跨越页面边界。这是一个简单的架构,但它要求我们能够支持多种数据类型和多种大小的文本数据类型。

2023-06-28 09:30:00 127

原创 数据库修仙金丹篇十——vpp使用kni

vpp使用kni

2023-06-26 10:56:10 640 2

原创 数据库修化神篇四——简介和设置REPL

简介和设置REPL

2023-06-26 09:15:00 159

原创 数据库修化神篇三——数据库是如何工作的

数据库是如何工作的

2023-06-25 09:45:00 322

原创 数据库修仙元婴篇四——openguass dcf启动详解

openguass dcf启动详解

2023-06-22 14:17:52 405

原创 数据库修仙炼气篇九——postgresql流复制同异步分析

postgresql流复制同异步详解。

2023-05-17 17:13:15 476

原创 数据库修仙炼气篇二——postgresql基本操作与基本对象

postgresql是一个C/S架构的大型软件,提供数据存储索引和查询的功能。postgresql分为客户端和服务端,客户端叫作psql,或者其他语言基于odbc,jdbc,libpq开发的客户端程序,服务端叫作postgres,需要监听ip和端口,通过tcp网络协议与客户端进行通信。在网络通信之上,采用sql作为数据通信协议,支持增删改查。sql针对的是结构化数据,因而要先有数据结构,这里其实就是表。为了对表进行隔离,由将表划分到不同的数据库里。客户端和服务端通信需要验证,验证采用用户名和密码的方式。

2023-03-16 16:27:26 495

原创 数据库修仙筑基篇九——corosync-qdevice详解

corosync-qdevice详解

2023-01-13 14:31:56 1100 1

原创 数据库修仙筑基篇五——c-raft分布式存储方案

c-raft分布式存储方案

2022-11-03 20:15:03 422

原创 数据库修仙筑基篇八——corosync-qdevice使用

corosync-qdevice使用

2022-10-30 12:33:21 789

原创 数据库修仙筑基篇十一——corosync-cmap使用指南

corosync-cmap使用指南

2022-10-29 09:51:54 607

原创 数据库修仙金丹篇十一——vpp调试指北

vpp调试指北

2022-10-27 08:02:29 1120 2

原创 数据库修仙筑基篇七——corosync使用

corosync使用

2022-10-25 11:10:28 562

原创 数据库修仙筑基篇六——corosync编程指南

corosync编程指南。

2022-10-25 11:07:00 868 3

原创 数据库修仙筑基篇二——分布式一致性协议

分布式一致性协议

2022-10-22 11:38:31 727

原创 数据库修仙筑基篇一——常用分布式解决方案

传统的存储也称为集中式存储, 从概念上可以看出来是具有集中性的,也就是整个存储是集中在一个系统中的,但集中式存储并不是一个单独的设备,是集中在一套系统当中的多个设备。集中式存储 最大的特点是有一个统一的入口,所有数据都要经过统一的入口。

2022-10-10 11:30:45 1080

原创 数据库修仙筑基篇四——zookeeper主备集群demo

使用zookeeper搭建主备集群,要求实现如下功能:搭建好zookeeper后,需要使用zookeeper 客户端来连接zookeeper,并在zookeeper中写入相关信息。

2022-06-20 16:08:52 548

原创 数据库修仙秘境篇九——autoconf使用

autoconf使用

2022-06-13 16:10:06 1798

原创 数据库修仙炼气篇十二——数据库数据完整性问题(块折断)

数据库数据完整性问题(块折断)数据库保证数据库完整性(解决块折断问题)当前主要有如下三种方式:操作日志加double write机制(mysql采用该机制);操作日志加full page write机制(postgresql同时采用这两种机制);混合方式,既支持操作日志加double write,又支持操作日志加full page write(openguass采用该机制);基本概念块折断数据库在将数据写入磁盘时一般是按page写入磁盘的,而page的大小一般与操作系统的文件块

2022-05-31 09:37:15 828

原创 数据库修仙金丹篇十三——缩短tcp超时时间的方法

缩短tcp超时时间的方法在tcp链路中,当网络异常时,缩短tcp超时时间一般有如下方法:TCP_USER_TIMEOUT(需要内核2.6.37及其以上版本)SIOCOUTQtcp_retries2应用层keepaliveTCP_USER_TIMEOUT需要内核2.6.37及其以上版本才支持该选项。TCP_USER_TIMEOUT选项是TCP层的socket选项,选项接受unsigned int类型的值。值为数据包被发送后未接收到ACK确认的最大时长,以毫秒为单位,例如设置为10000时

2022-05-26 09:35:52 2515 2

原创 数据库修仙炼气篇五——pg_walreceiver

pg_walreceiver启动流程启动receiver进程#mermaid-svg-pZwpfiroRFQyO6to {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-pZwpfiroRFQyO6to .error-icon{fill:#552222;}#mermaid-svg-pZwpfiroRFQyO6to .error-text{fill:#552222;str

2022-05-23 18:05:09 419

原创 数据库修仙炼气篇六——walsender

pg_walsender交互接口全局变量/* global state */extern PGDLLIMPORT bool am_walsender; // 是否是walsender进程extern PGDLLIMPORT bool am_cascading_walsender; // 是否是级联walsenderextern PGDLLIMPORT bool am_db_walsender; // 是否连接到数据库extern PGDLLIMPORT bool wake_wal_sender

2022-05-05 17:06:53 310

原创 数据库修仙炼气篇七——replication

pg_replication基本概念逻辑复制逻辑复制是将数据重新执行一次insert、update或delete。逻辑复制则允许在数据层面复制,并在安全性上提供更细粒度的控制。流复制(物理复制)实现方式是将wal日志中记录的内容按照确切的块地址逐字节的拷贝到备库,因此主备之间数据分布是一致的,这意味着在主备机器上,同一条记录的ctid是相同的。逻辑解码逻辑解码是提取数据库表的所有永久修改到一个连贯的、容易理解的格式 (不需要详细的数据库内部状态知识就可以解读)的过程。复制槽

2022-04-28 18:26:49 1359

原创 数据库修仙炼气篇四——WalWriter

WalWriter预写式日志WAL机制是对数据文件的修改必须是只能发生在这些修改已经记录到日志之后,即先写日志再写数据。WalWriter进程负责定期从WAL缓冲区写出日志,并确定写出日志的起点和终点来调用XlogWriter将日志写入到磁盘。参数配置wal_level控制wal存储的级别。wal_level确定有多少信息被写入到WAL。默认值是replica,它添加了WAL归档信息,包括只读服务器(流复制)所需的信息。还可以将其设置为minimal,即只写入从崩溃或立即关闭中恢复所需的信息。

2022-04-25 16:26:28 501

postgresql replication源码解析。

postgresql replication源码解析。

2022-05-09

postgresql walsender

postgresql walsender

2022-05-07

空空如也

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

TA关注的人

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