Recent Posts

PostgreSQL 设置单条SQL的执行超时 - 防雪崩

less than 1 minute read

背景 设置单条SQL的执行超时,防雪崩。 通常来说可以在SQL发起前设置事务级超时参数,SQL执行结束,重置。(如果SQL异常退出,会自动重置事务级参数) 例子 begin; ...... set local statement_time='100ms'; select count(*) fro...

多流实时聚合 - 记录级实时快照 - JSON聚合与json全文检索的功能应用

4 minute read

背景 这个需求是这样的,数据在写入时,以上一条记录作为基础,将当前写入的记录与上一条记录合并,然后作为新的记录写进去。 从而每一条记录都携带了之前所有记录的内容。 当然这里指的是每个维度各自的快照,并不是一张表所有记录的快照。 例如,一笔电商订单,可能经过若干个系统(每个系统产生的属性可能都不一样,多个系统...

人、机客户服务质量 - 实时透视分析 - (多股数据流上下文相关实时分析,窗口保持)

6 minute read

背景 通常一个服务型的产品,面向很多用户时,都会提供多种服务渠道: 电话、WEB、人工客服。机器人客服。 如何从各个维度(问题分类、地区分类。。。。)了解问题的 : 解决率、解决时长柱状图、一次解决率(例如电话机器人、转人工、转机器人等,如果多次流转说明一次解决率太低)。 这个透视分析,可以作为检验客户...

PostgreSQL 业务数据质量 实时监控 实践

4 minute read

背景 当业务系统越来越庞大后,各个业务线的数据对接会越来越频繁,但是也会引入一个问题。 数据质量。 例如上游是否去掉了一些字段,或者上游数据是否及时触达,又或者上游数据本身是否出现了问题。 通过业务数据质量监控,可以发现这些问题。 而PostgreSQL内置的统计信息能力,已经满足了大部分业务数据质量实时...

如何根据行号高效率的清除过期数据 - 非分区表,数据老化实践

1 minute read

背景 数据按时间维度老化,删除或转移,是很多业务都有的需求。 例如业务的FEED数据,CDN的日志数据,物联网的跟踪数据等,有时间维度,可能再有状态值(标记最终状态)。 阿里云RDS PG, HDB PG都对接了OSS存储,可以在OSS中存储冷数据。 我们可以将老化数据直接删除,也可以将老化数据删除并写...

Recheck Cond filter IOCPU放大 原理与优化CASE - 含 超级大表 不包含(反选) SQL优化

3 minute read

背景 在阅读本文之前,先提几个问题: 1、用了索引是不是就不需要访问表了? 2、用了索引是不是就不需要进行二次判断了? 第一个问题,只有一种情况用了索引是不需要访问表的,Index Only Scan,并且对应堆表行号对应的HEAP块中没有不可见TUPLE(访问表的VM文件得到)。否则都需要回表,访问堆表的...

PostgreSQL - 鱼与熊掌可兼得 - 多副本0丢失与高性能兼得 - 事务级异步、同步开关

less than 1 minute read

背景 大多数的数据库属于IO密集型应用,特别是写繁忙的TP系统,例如账户系统。 为了保证数据的可靠性,事务提交时,需要确保事务产生的REDO落到持久化的存储中。 为了提高响应时间,除了数据库软件本身的优化,例如分组提交(降低IO频次)。还可以通过购买高IOPS能力的硬件来实现RT时延的降低。 当然,将来硬盘...