Recent Posts

PostgreSQL 流式数据处理(聚合、过滤、转换…)系列 - 1

20 minute read

背景 2013年帮朋友做的方案。写了一些列文档来解决当时某个大数据BI平台的异步流式数据处理的功能。 逐步优化,化繁为简。 在业务层面,统计,数据的过滤,数据的清洗,数据的事件触发等。是比较常见的需求。 比如以COUNT就是一个很典型的例子。 在9.2以前全表的count只能通过扫描全表来得到, 即使有p...

在OOM现场 谈一谈数据库内存分配, 以及审计的重要性

10 minute read

背景 数据库是比较重内存的应用软件之一,比如排序、聚合、使用较大的列、使用很长的SQL(值SQL本身的内容长度),或者传入很大的变长类型值时,都可能使得单个连接就会消耗很大的内存。 而另一方面,每个连接会消耗一定的内存,比如SYSCACHE , RELCACHE,随着访问的对象变多,如果是长连接,消耗的内存也会...

ApsaraDB的左右互搏(PgSQL+HybridDB+OSS) - 解决OLTP+OLAP混合需求

3 minute read

背景 随着IT行业在更多的传统行业渗透,我们正逐步的在进入DT时代,让数据发挥价值是企业的真正需求,否则就是一堆废的并且还持续消耗企业人力,财力的数据。 传统企业可能并不像互联网企业一样,有大量的开发人员、有大量的技术储备,通常还是以购买IT软件,或者以外包的形式在存在。 数据的核心 - 数据库,很多传统的行...

PostgreSQL 10.0 preview - 截至2017元旦装备了哪些核武器

9 minute read

背景 早上送给大家的新年大礼包,一年一个大版本是PostgreSQL社区的传统,虽然发布时间通常为秋天,还有一段时间,但是已经迫不及待地想看看2017金秋将要发布的10.0版本已经装备了哪些核武器。 放心,还会有一波又一波的feature和增强搭上开往2017金秋的列车,本文提到的可能只是其中的某一节车厢沃,P...

PostgreSQL 重复 数据清洗 优化教程

10 minute read

背景 重复数据清洗是一个比较常见的业务需求,比如有些数据库不支持唯一约束,或者程序设计之初可能没有考虑到需要在某些列上面加唯一约束,导致应用在上线一段时间后,产生了一些重复的数据。 那么重复数据的清洗需求就来了。 有哪些清洗手段,如何做到高效的清洗呢? 一个小小的应用场景,带出了10项数据库技术点,听我道来...

轻松打爆netfilter conntrack table的Greenplum SQL

1 minute read

背景 Greenplum 是一款MPP数据库,数据哈希打散存放在数据节点,当执行JOIN时,如果JOIN字段非分布键,那么数据会在数据节点之间重分布。重分布使用四阶段方法,参考如下: 《分布式DB(Greenplum)中数据倾斜的原因和解法 - 阿里云HybridDB for PostgreSQL最佳实践》 ...

netfilter内核模块知识 - 解决nf_conntrack: table full, dropping packet

9 minute read

背景 netfilter是一个Linux内核网络包管理模块。支持包过滤、规则转发、会话状态跟踪等功能。 很多人可能遇到过nf_conntrack table full, dropping packet的问题,(正常情况下不应该出这样的问题,除非是DDos攻击,把netfilter的会话跟踪表打满了),又或者应用...