C/C++
文章平均质量分 91
了解C和C++对于程序员了解系统底层原理是非常有利的,建议每个对于底层原理有兴趣的程序员对C++进行一些基本的学习和了解
airfan92
三军可夺帅也,匹夫不可以夺其志
展开
-
Postgresql事务和Greenplum中的两阶段提交
PostgreSQL是当今最广泛应用的数据库系统(DBMS)之一。除了由于其具有优秀的性能、良好的兼容性之外,其完全开源的特性、完整的事务能力也是其中重要的原因。PostgreSQL支持完整的ACID特性,支持RC/RR/SSI等隔离级别。本文主要简化的介绍PG的事务模型和Greenplum基于两阶段提交的分布式事务。具体地,本文会首先介绍单机事务、ACID特性,以及PG中的事务实现;然后介绍一种分布式事务协议——两阶段提交协议,分析其实现、优点和局限性,并简单介绍以3PC为代表的两阶段提交协议优化。原创 2022-10-06 12:03:28 · 1554 阅读 · 1 评论 -
PostgreSQL保存点/子事务(SAVEPOINT)你想要了解的那些事
PostgreSQL是当今最广泛应用的数据库系统(DBMS)之一。除了由于其具有优秀的性能、良好的兼容性之外,其完全开源的特性、完整的事务能力也是其中重要的原因。PostgreSQL支持完整的ACID特性,支持RC/RR/SSI等隔离级别。PostgreSQL除了基础的事务能力之外,还提供了子事务的能力,也就是保存点(SAVEPOINT)的功能。保存点功能能够支持在发生错误时自动回滚到上一保存点,而无需回滚整个事务;或者在任意时刻回滚到某一特定保存点的状态,而放弃事务中的部分修改。原创 2022-10-06 11:20:12 · 2958 阅读 · 0 评论 -
Greenplum资源管理——Resource Queue进阶篇(面向DBA)
Greenplum是一款广泛应用的开源MPP数据库的产品,兼容PostgreSQL生态,被广泛应用与大数据的存储与分析。ResourceQueue(资源队列)是Greenplum最早的资源管理方式,能够对数据库的CPU、内存等资源进行限制,对多租户资源限制、保障数据库稳定运行具有一定的作用。原创 2022-03-09 17:20:30 · 1255 阅读 · 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 · 1444 阅读 · 0 评论 -
性能分析利器——最简单的利用火焰图教程C&Java
c语言下面火焰图绘制perf record -p 60175 -g -o perf.dataperf script -i perf.data | FlameGraph/stackcollapse-perf.pl | FlameGraph/flamegraph.pl > flameGraph.svgperf record -p 14975 -g -- sleep 30perf script | FlameGraph/stackcollapse-perf.pl | FlameGraph/fla.原创 2020-05-17 12:14:13 · 1800 阅读 · 0 评论