PostgreSQL 源码解读(253)- PG 14(Improving connection scalability)#5
PostgreSQL 14在MVCC上面有所增强,以保证在大批量客户端连接场景下性能不会出现显著下降(详细可参见参考资料中的链接)。本节介绍了提交记录“Don't compute global horizons while building snapshots.”中vacuumlazy.c、indexam.c、nbtpage.c、nbtree.c、nbtxlog.c和spgvacuum.c中的修改以及涉及的相关数据结构。
PostgreSQL 源码解读(252)- PG 14(Improving connection scalability)#4
PostgreSQL 14在MVCC上面有所增强,以保证在大批量客户端连接场景下性能不会出现显著下降(详细可参见参考资料中的链接)。本节介绍了提交记录“Don't compute global horizons while building snapshots.”中pruneheap.c中的修改以及涉及的相关数据结构。
PostgreSQL 源码解读(251)- PG 14(Improving connection scalability)#3
PostgreSQL 14在MVCC上面有所增强,以保证在大批量客户端连接场景下性能不会出现显著下降(详细可参见参考资料中的链接)。本节介绍了提交记录“Don't compute global horizons while building snapshots.”中heapam_visibility.c中的修改以及涉及的相关数据结构。
PostgreSQL 源码解读(250)- PG 14(Improving connection scalability)#2
PostgreSQL 14在MVCC上面有所增强,以保证在大批量客户端连接场景下性能不会出现显著下降(详细可参见参考资料中的链接)。本节介绍了提交记录“Don't compute global horizons while building snapshots.”中heapam_handler.c中的修改以及涉及的相关数据结构。
PostgreSQL 源码解读(249)- PG 14(Improving connection scalability)#1
PostgreSQL 14在MVCC上面有所增强,以保证在大批量客户端连接场景下性能不会出现显著下降(详细可参见参考资料中的链接)。本节介绍了提交记录“Don't compute global horizons while building snapshots.”中heapam.c中的修改以及涉及的相关数据结构。
中国文化厉害在哪?
中国文化厉害在哪?
前沿科技:量子计算
量子计算的理论基础是量子力学,因此理解量子计算之前有必要了解量子力学。什么是量子?物理学家费曼曾经说过:“万物是原子组成的,原子都具有波粒二象性” ,量子从这句话引申出来,那就是:量子就是波粒二象性。二象性说的是一个东西同时拥有两种性质,所有的粒子,除了具有点粒子的性质之外,还同时具有波的性质,这就叫做波粒二象性。有一个方程同时具有这两个视角,它就是薛定谔方程。 什么是量子叠加态?从波的角度来看
PostgreSQL 并发控制机制(4):RR隔离级别,MySQL vs PostgreSQL
并发控制是多个事务在并发运行时,数据库保证事务一致性(Consistency)和隔离性(Isolation)的一种机制。主流商用关系数据库使用的并发控制技术主要有三种:严格两阶段封锁(S2PL)、多版本并发控制(MVCC)和乐观并发控制(OCC)。 本文是PostgreSQL并发控制的第4篇,介绍了在RR(Repeatable Read,可重复读)隔离级别下MySQL和PostgreSQL的异同。
PostgreSQL 并发控制机制(3):基于时间戳的并发控制
本文介绍了基于时间戳的并发控制,包括常规基于时间戳的并发控制、多版本基于时间戳锁的并发控制、与时间戳相关的Google Percolator工程实践和openGauss对PostgreSQL SI的优化改进等。
PostgreSQL 并发控制机制(2):表级锁和行级锁
在工程实践上,PostgreSQL使用了MVCC的一种变体快照隔离SI结合封锁技术进行并发控制,本文介绍了锁相关的部分理论以及PostgreSQL的工程实践,最后结合案例对PostgreSQL的表级锁和行级锁进行了相关介绍。
PostgreSQL 并发控制机制(1):隔离级别
并发控制是多个事务在并发运行时,数据库保证事务一致性(Consistency)和隔离性(Isolation)的一种机制。主流商用关系数据库使用的并发控制技术主要有两种:严格两阶段封锁(S2PL)和多版本并发控制(MVCC)。 PostgreSQL使用了多版本并发控制技术的一种变体:快照隔离Sanpshot Isolation(简称SI)。通过SI,PostgreSQL提供了与ANSI SQL标准相应的四个隔离级别,但实现与标准定义有一些差异。
快照隔离的理论学习
本节简单介绍了快照隔离的理论框架。
并发相关的现象和异常(Phenomena AND Anomalies)
本节简单介绍了与并发相关的现象(Phenomenon)和异常(Anomalies)。
数据库隔离级别
本节主要介绍了ANSI SQL隔离级别的定义、不足以及其他隔离级别如Cursor Stability、SI等。
PostgreSQL DBA(178) - Serializability Isolation(禁止的异象)
PostgreSQL 9.1或以上版本,提供了真正意义的Serializability Isolation,本节主要介绍了在此隔离级别下禁止的异象。 测试数据数据表idx,在id列上有索引,数据库默认的隔离级别为可串行化 15:44:16 [local:/data/run/pg12]:5120 pg12@testdb=# \d+ idx
PostgreSQL DBA(177) - Serializability Isolation(Index vs NonIndex)
PostgreSQL 9.1或以上版本,提供了真正意义的Serializability Isolation,本节主要介绍了Serializability Isolation下有索引与没有索引的区别。
PostgreSQL DBA(176) - Serializability Isolation(基本概念)
PostgreSQL 9.1或以上版本,提供了真正意义的Serializability Isolation,本节主要介绍了Serializability的相关概念,包括Serializability、写偏序(Write Skew)等。 What is Serializability Isolation?ANSI SQL 1999对Serializability的定义是: The execu
PostgreSQL DBA(175) - Cost EST(SeqScan)
本节简单介绍了顺序扫描的成本估算。
VirtualBox安装
简单记录一下VirtualBox的安装过程,出现的问题以及解决方案.
PostgreSQL DBA(174) - PG 13(Allow inserts to trigger autovacuum)
在PG 13中,在插入数据时可自动触发autovacumm,从而可以生成表的vm文件而无需手工触发vacumm才能生成.vm文件可以加快VACUUM清理的速度. 新增的配置选项autovacuum_vacuum_insert_threshold控制插入数据触发autovacuum的的阈值,默认值为1000 [local:/data/run/pg13]:5130 pg13@masterdb=#