Recent Posts

Greenplum 计算能力估算 - 暨多大表需要分区,单个分区多大适宜

8 minute read

背景 在数据仓库业务中,单表的数据量通常是非常巨大的。Greenplum在这方面做了很多的优化 1、支持列存储 2、支持向量计算 3、支持分区表 4、支持btree, bitmap, gist索引接口 5、执行并行计算 6、支持HASH JOIN 等 提高数据筛选的效率是一个较为低廉有效的优化手...

PostgreSQL 一主多从(多副本,强同步)简明手册 - 配置、压测、监控、切换、防脑裂、修复、0丢失 - 珍藏级

34 minute read

背景 PostgreSQL物理流复制有几个特点 1、延迟及低,毫不畏惧大事务 2、支持断点续传 3、支持多副本 4、配置简单,看本文 5、备库与主库物理完全一致,并支持只读 所以大多数用户都会使用流复制来搭建只读备库,容灾,备份节点,HA等。 本文主要介绍一下PostgreSQL一主多从的配置,以及...

PostgreSQL 11 preview - 强制auto prepared statment开关(自动化plan cache)(类似Oracle cursor_sharing force)

2 minute read

背景 通常一个QUERY在执行时分为几个步骤,语义解析、SQL REWRITE、生成所有可选执行路径、选择最优路径、执行等多个步骤。 对于同一类SQL,只是更换SQL中的一些FILTER变量时,实际上很多步骤是可以共享的。例如语义解析、SQL REWRITE、生成执行计划都是可共享的,这些步骤通常比较耗CPU资...

PostgreSQL 11 preview - pg_stat_statements 增强,支持执行计划翻转记录

less than 1 minute read

背景 pg_stat_statements是PG的一个用于收集SQL统计信息的插件,可以帮助我们分析TOP SQL。 《PostgreSQL 如何查找TOP SQL (例如IO消耗最高的SQL)》 另一方面,我们可能也想知道SQL曾经执行时是否出现过较差的执行计划,使用较差的执行计划执行了多少次等信息。 通...

PostgreSQL 11 preview - pgbench 支持大于1000链接(ppoll()代替select())

less than 1 minute read

背景 目前pgbench最大可以测试1000个连接,显然在某些时候是不够的,我们可能需要建立更多的连接进行测试。 $ pgbench -j 3000 -c 1500 invalid number of clients: "1500" 使用这里提到的方法修改一下pgbench,让它能够建立100万个连...

PostgreSQL Huge Page 使用建议 - 大内存主机、实例注意

6 minute read

背景 当内存很大时,除了刷脏页的调度可能需要优化,还有一方面是虚拟内存与物理内存映射表相关的部分需要优化。 1 脏页调度优化 1、主要包括,调整后台进程刷脏页的阈值、唤醒间隔、以及老化阈值。(脏页大于多少时开始刷、多久探测一次有多少脏页、刷时多老的脏页刷出。)。 vm.dirty_background_by...

[转载] Linux进程状态解析之R、S、D、T、Z、X

1 minute read

背景 原文 https://wenku.baidu.com/view/8a932511866fb84ae45c8de8.html 正文 Linux进程状态解析之R、S、D、T、Z、XLinux进程状态解析之R、S、D、T、Z、X。 Linux是一个多用户,多任务的系统,可以同时运行多个用户的多个程序,就必然会...

PostgreSQL 11 preview - BRIN索引接口功能扩展(BLOOM FILTER、min max分段)

3 minute read

背景 BRIN索引是PG的一种块索引接口,存储指定连续数据块内被索引字段的元数据。 https://www.postgresql.org/docs/devel/static/brin.html 目前BRIN存储的元数据包括被索引字段在每个指定连续数据块区间的MIN,MAX值。所以对于比较分散的数据实际上效果是...

PostgreSQL 11 preview - Incremental Sort(排序优化)

less than 1 minute read

背景 当我们需要对数据进行排序时,通常加速的方法是建索引,走索引就快了对吧。 PostgreSQL排序的能力还是很强大的: 《PostgreSQL 11 preview - 并行排序、并行索引 (性能线性暴增) 单实例100亿TOP-K仅40秒》 通常情况下,如果要让排序用上索引,那么索引必须与排序字段一致...