技术·学习·实践·人生·哲学
山是山,水是水;山不是山,水不是水;山还是山,水还是水

事务管理

原子性(A):一个事务的所有操作, 要么全部执行, 要么全部不执行- 一致性(C):保证数据库从一个正确的状态(满足约束)到另一个正确的状态。

2026-03-03

oracle maa架构详解

oracle maa架构分为青铜、白银、黄金、铂金四个级别,其中黄金又有四种实现方式。这里按照az(可用区,一般是同一个机房,组成一个数据库集群)、region(区域,一般是不同的城市,可能会有多个可用区)、rto、rpo来进行统计,其统计结果如下(从现有架构图中来看,oracle最多有4个可用区,未考虑data guard是否需要单独部署在一个可用区):

2024-07-04

oracle_site_guard详解

Oracle Site Guard 是一个数据保护解决方案,用于实现数据中心级别的灾难恢复和故障转移。它可以保护 Oracle 数据库、应用服务器、中间件以及整个操作系统。

2024-02-06

ha元信息常见存储方式

mysql MHA(Master High Availability)是mysql高可用一套相对成熟的解决方案。MHA 由 MHA 管理器和 MHA 节点组成。

2024-02-05

dcf运行机制

dcf通过stream的概念来运行分布式协议,每个stream是一个完整的分布式实例。每个stream可以由多个节点组成。

2023-12-23

两地三中心

大家晚上好,欢迎大家观看kingbase数据库直播,我是本次主讲人growdu,目前在kingbase主要负责数据库集群高可用的研发设计。今天由我来给大家讲解KES集群高可用——两地三中心方案,分享一下如何做到数据不丢,服务不停。本次分享呢尽量从宏观层面来讲解两地三中心集群,尽量讲解通用的技术,希望对观看直播的大家都能有所收获。

2023-12-13

两地三中心

大家晚上好,我是growdu,目前在kingbase主要负责数据库集群高可用的研发设计。今天由我来给大家讲解KES集群高可用——两地三中心方案。

2023-12-13

从两地三中心到OceanBase的多地多中心 - 墨天轮

在金融行业,“两地三中心”是一个基本的合规要求,本文简单介绍一下金融行业容灾架构的"两地三中心"究竟是指什么,然后说明OceanBase实现的"两地三中心"甚至"多地多中心"有什么特点。

2023-11-09

C语言雪花算法,记一次雪花算法的实现

作者最近在实现雪花算法生成主键,看了不少文章。个人觉得雪花算法的最大的优点是有序(减少数据库的页分裂页合并)。雪花算法本身很简单,但他依赖于时间,也就是机器或容器的时间一回拨就出现问题了。网上也出现了不少关于如何解决回拨的问题。我记录一下本次实现雪花主键的过程。

2023-08-31

sanlock实现共享corosync共享存储仲裁

为了使corosync集群支持少数派运行模式,需要引入第三方仲裁,同时为了节约机器资源,使用共享存储作为第三方仲裁。需要一种基于共享存储的算法机制来保证在corosync集群出现网络分区或者故障时,仲裁能给其中一个分区投票,使corosync集群继续供服务,并保证数据一致性。

2023-08-12

disk-paxos详解

Disk Paxos使用处理器和磁盘网络实现可靠的分布式系统。 与原始 Paxos 算法一样,Disk Paxos 可以保证在任意非拜占庭故障的情况下保持一致性。 只要大多数磁盘可用,即使仅剩下一个节点也能保证进程可用,且保持一致性。

2023-07-21

调整允许的corosync网络波动时间操作步骤

调整允许的corosync网络波动时间仅需修改repmgr.conf配置文件,重启kbha和repmgrd进程,无需停止数据库,也不影响上层业务运行。按如下步骤修改配置并重启服务,经过本次修改重启后,允许的网络波动时间将从20秒增加到50秒。

2023-06-08

raft重要概念

raft将分布式一致性问题分解成两个独立的问题,分成两个大的步骤来进行数据处理。

2023-05-17

libqb源码详解

libqb 是一个提供高性能客户端服务器可重用功能的库。 它提供高性能日志记录、跟踪、IPC 和轮询的功能。libqb 的初始功能来自 corosync 的功能,专门针对客户端/服务器应用程序实现的高性能 API。

2023-05-17

corosync源码阅读

corosync采用服务的方式设计,使用totem协议作为分布式一致性协议,使用libqb库进行进程间通信。

2023-05-17

c-raft

raft协议的完全异步C语言实现。

2022-11-04

zookeeperC语言API编程指南

zookeeper是用java语言编写的分布式集群,我们可以基于zookeeper搭建分布式应用。通常zookeeper作为服务器运行,分布式应用需要使用客户端API与zookeeper进行通信。

2022-10-25

raft协议动态调整quorum

按照当前raft协议实现,当n个节点的集群超过n/2个节点宕机时,集群将无法提供服务。如5个节点的集群,当有3个节点宕机时,集群将无法提供服务。

2022-10-25

totem协议详解

基于以太网的组通信协议,节点间组成单环结构- 所有数据都采用UDP广播(message)、单播(token)- 消息的可靠性和有序性,基于token-passing实现

2022-10-25

corosync-qnetd投票机制

corosync-qnetd是corosync的第三方仲裁机制,当corosync出现网络分区时,集群内部无法选择出quorate一方时,就会借助corosync-qnetd来进行辅助投票。

2022-10-25

corosync-qdevice使用

qdevice要用途是让群集能够承受大于标准仲裁规则所允许的节点故障数量。在分布式一致性协议中,基于多数派quorum的协议解决脑裂等问题,因而当集群存活节点挂死超过一半时,集群将无法对外提供服务。qdevice提供仲裁机制,使集群在多数节点挂掉后仍然能提供服务。典型的如双节点集群发生网络分区后,qdevice可以使其中一台机器继续提供服务,进而保证高可用。

2022-10-25

corosync-qdevice详解

corosync-qdevice是corosync集群工具的一个组件,用于提供第三方仲裁服务。corosync-qdevice需与corosync-qnetd和corosync一起使用,无法单独运行。

2022-10-25

常用分布式解决方案

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

2022-06-13

raft协议动态调整quorum

按照当前raft协议实现,当n个节点的集群超过n/2个节点宕机时,集群将无法提供服务。如5个节点的集群,当有3个节点宕机时,集群将无法提供服务。

2022-06-13
分类导航
随笔2 AI27 算法1 计算机基础13 博客搭建7 ChatGPT2 集群63 计算机通信1 数据库34 数据库深入80 DPDK26 Docker11 Elasticsearch4 编辑工具4 FAQ1 Go Web1 hometown2 编程语言16 网络9 OPC1 Linux38 openGauss4 页面12 PostgreSQL54 程序员自我修养1 协议11 成长之路1 stock1 存储5 工具20 VPP18 视频作品1 Vue13 Web1 代码示例11 数据库15 BenchmarkSQL1 PostgreSQL 源码修炼之路14
最热文章
1
13 逻辑复制深入
数据库深入🔥 1570
2
0 Postgresql存储、索引及系统优化、主备切换
PostgreSQL🔥 1495
3
一文读懂openguass dcf网络模块
集群🔥 1420
4
逻辑复制源码分析
数据库深入🔥 1327
5
PostgreSQL 分区表:从一行 `PARTITION BY` 到路由热路径的全链路拆解
数据库🔥 1094
6
applyparallelworker.c 之 LA 端源码深度解析:Leader Apply Worker 的指挥中枢
数据库深入🔥 1082
7
PostgreSQL Background Worker 全解:从 `RegisterBackgroundWorker` 到逻辑复制 4 类 worker 的全生命周期
数据库🔥 1078
8
PostgreSQL的后台进程walsender分析 - 关系型数据库 - 亿速云
PostgreSQL🔥 1033
9
PostgreSQL 逻辑复制的监控:六张视图 + 一组可执行 SQL,把 publisher/subscriber 的速率与健康度彻底看透
数据库🔥 1032
10
PostgreSQL 逻辑复制支持 DDL 之后:DDL 与 DML 的时序难题(重点:分区表)
数据库🔥 999
11
reorderbuffer.c 源码深度解析:PostgreSQL 逻辑复制的"事务重组引擎
数据库深入🔥 953
12
PostgreSQL 内核开发:读取一张表的 9 步标准流程与缓存全景
数据库🔥 938
13
从 `postgres` 二进制到生产级守护 —— PostgreSQL 最外层模块与启动全流程拆解
数据库🔥 936
14
支持逻辑复制同步 DDL 适配 SQL Server 方案
数据库深入🔥 934
15
PostgreSQL 逻辑复制的 ReorderBuffer 与事务机制:从一行 WAL 到一致性变更流的全链路绑定
数据库🔥 913
16
DDL同步架构(美化版)
数据库深入🔥 908
17
PostgreSQL Latch 机制详解:从一行 SetLatch 到 epoll 的内核之旅
数据库🔥 871
18
pgbench 源码全解:一个 C 文件如何撑起 PostgreSQL 官方压测工具
数据库🔥 860
19
PostgreSQL libpq 机制与缓冲区详解
数据库🔥 850
20
PostgreSQL 逻辑复制 spill 文件深度剖析:从 `xid-*.spill` 到 TPC-C 的增长方程
数据库🔥 845