分布式
文章平均质量分 92
分布式领域论文与工程学习
airfan92
三军可夺帅也,匹夫不可以夺其志
展开
-
Postgresql事务和Greenplum中的两阶段提交
PostgreSQL是当今最广泛应用的数据库系统(DBMS)之一。除了由于其具有优秀的性能、良好的兼容性之外,其完全开源的特性、完整的事务能力也是其中重要的原因。PostgreSQL支持完整的ACID特性,支持RC/RR/SSI等隔离级别。本文主要简化的介绍PG的事务模型和Greenplum基于两阶段提交的分布式事务。具体地,本文会首先介绍单机事务、ACID特性,以及PG中的事务实现;然后介绍一种分布式事务协议——两阶段提交协议,分析其实现、优点和局限性,并简单介绍以3PC为代表的两阶段提交协议优化。原创 2022-10-06 12:03:28 · 1537 阅读 · 1 评论 -
PostgreSQL保存点/子事务(SAVEPOINT)你想要了解的那些事
PostgreSQL是当今最广泛应用的数据库系统(DBMS)之一。除了由于其具有优秀的性能、良好的兼容性之外,其完全开源的特性、完整的事务能力也是其中重要的原因。PostgreSQL支持完整的ACID特性,支持RC/RR/SSI等隔离级别。PostgreSQL除了基础的事务能力之外,还提供了子事务的能力,也就是保存点(SAVEPOINT)的功能。保存点功能能够支持在发生错误时自动回滚到上一保存点,而无需回滚整个事务;或者在任意时刻回滚到某一特定保存点的状态,而放弃事务中的部分修改。原创 2022-10-06 11:20:12 · 2887 阅读 · 0 评论 -
Greenplum资源管理——Resource Queue进阶篇(面向DBA)
Greenplum是一款广泛应用的开源MPP数据库的产品,兼容PostgreSQL生态,被广泛应用与大数据的存储与分析。ResourceQueue(资源队列)是Greenplum最早的资源管理方式,能够对数据库的CPU、内存等资源进行限制,对多租户资源限制、保障数据库稳定运行具有一定的作用。原创 2022-03-09 17:20:30 · 1237 阅读 · 0 评论 -
Greenplum错误排查——query plan with multiple segworker groups is not supported
query plan with multiple segworker groups is not supportedlikely caused by a function that reads or modifies data in a distributed table使用Greenplum的朋友可能会遇到过这样一个问题,即使没有遇到的话,社区关于这个错误也包含了很多issue。这个问题说实话不是第一次遇到了,但是当时第一次对内核还不够熟悉,加上时间紧任务重,就没仔细看,放过去了。这次选择了硬原创 2022-01-04 11:06:03 · 1417 阅读 · 0 评论 -
Greenplum资源管理——Resource Group使用和实现分析
Greenplum是一款广泛应用的开源MPP数据库的产品,兼容PostgreSQL生态,被广泛应用与大数据的存储与分析。Resource Group是Greenplum的一种资源管理方式。Resource Group由GP5开始被支持,相比于早期的Resource Queue的资源管理方式,具有支持更细粒度的资源管理、 支持组内资源共享等优点。本文会介绍Resource Group的使用方式,从源码角度分析它的实现,以及介绍一些使用中遇到的高频问题。Resource Group简介Reso.原创 2021-04-05 21:47:12 · 3402 阅读 · 0 评论 -
Greenplum资源管理——Resource Queue使用和实现分析
Greenplum是一款广泛应用的开源MPP数据库的产品,兼容PostgreSQL生态,被广泛应用与大数据的存储与分析。Resource Queue(资源队列)是Greenplum最早的资源管理方式,能够对数据库的CPU、内存等资源进行限制,对多租户资源限制、保障数据库稳定运行具有一定的作用。本文会介绍Resource Queue的使用方式,从源码角度分析它的实现,以及对它的优缺点进行总结。Resource Queue简介Resource Queue是Greenplum最早的资源管理方式,支持原创 2021-04-05 22:19:37 · 1354 阅读 · 0 评论 -
从Greenplum一个WARN的排查浅析PostgreSQL MemoryContext内存管理
Greenplum(GP)是一款开源的MPP数据库,兼容PostgreSQL生态。我们尝试基于开源GP支持多个副本,改造让集群从初始的最多只支持一个standby Master,到支持多个standby。相关实现并不复杂,内核和工具中没有太多对于standby个数的限制。经过多次的修改后,遗留的问题只剩下了一个:由一行代码引起的、但是找到这行代码花费了很久的WARN。本文就从这个WARN排查的角度,浅度分析下PostgreSQL 基于MemoryContext的内存管理。到处出现的WARN我原创 2021-01-16 18:19:58 · 879 阅读 · 0 评论