PostgreSQL 流式数据处理(聚合、过滤、转换…)系列 - 1
背景 2013年帮朋友做的方案。写了一些列文档来解决当时某个大数据BI平台的异步流式数据处理的功能。 逐步优化,化繁为简。 在业务层面,统计,数据的过滤,数据的清洗,数据的事件触发等。是比较常见的需求。 比如以COUNT就是一个很典型的例子。 在9.2以前全表的count只能通过扫描全表来得到, 即使有p...
背景 2013年帮朋友做的方案。写了一些列文档来解决当时某个大数据BI平台的异步流式数据处理的功能。 逐步优化,化繁为简。 在业务层面,统计,数据的过滤,数据的清洗,数据的事件触发等。是比较常见的需求。 比如以COUNT就是一个很典型的例子。 在9.2以前全表的count只能通过扫描全表来得到, 即使有p...
背景 数据库是比较重内存的应用软件之一,比如排序、聚合、使用较大的列、使用很长的SQL(值SQL本身的内容长度),或者传入很大的变长类型值时,都可能使得单个连接就会消耗很大的内存。 而另一方面,每个连接会消耗一定的内存,比如SYSCACHE , RELCACHE,随着访问的对象变多,如果是长连接,消耗的内存也会...
背景 什么是闰秒,为什么需要闰秒,闰秒会不会对数据库产生影响? 要搞清楚这个问题,可以查一下维基百科,对闰秒的解释,牵扯出了一堆的概念,比如 POSIX , UT1 , UTC , leap second , 闰秒 , epoch , solar time , 太阳时 , unix time , Univer...
背景 随着IT行业在更多的传统行业渗透,我们正逐步的在进入DT时代,让数据发挥价值是企业的真正需求,否则就是一堆废的并且还持续消耗企业人力,财力的数据。 传统企业可能并不像互联网企业一样,有大量的开发人员、有大量的技术储备,通常还是以购买IT软件,或者以外包的形式在存在。 数据的核心 - 数据库,很多传统的行...
背景 早上送给大家的新年大礼包,一年一个大版本是PostgreSQL社区的传统,虽然发布时间通常为秋天,还有一段时间,但是已经迫不及待地想看看2017金秋将要发布的10.0版本已经装备了哪些核武器。 放心,还会有一波又一波的feature和增强搭上开往2017金秋的列车,本文提到的可能只是其中的某一节车厢沃,P...
背景 模糊查询,是一个需求量很大,同时也是一个对数据库来说非常难缠的需求。 对于前模糊(like ‘%xxx’),可以使用倒排B-TREE索引解决,对于后模糊(like ‘xxx%’),可以使用B-TREE索引解决。 B-TREE索引通常支持的查询包括 > , < , = , <= , &g...
背景 重复数据清洗是一个比较常见的业务需求,比如有些数据库不支持唯一约束,或者程序设计之初可能没有考虑到需要在某些列上面加唯一约束,导致应用在上线一段时间后,产生了一些重复的数据。 那么重复数据的清洗需求就来了。 有哪些清洗手段,如何做到高效的清洗呢? 一个小小的应用场景,带出了10项数据库技术点,听我道来...
背景 Greenplum 是一款MPP数据库,数据哈希打散存放在数据节点,当执行JOIN时,如果JOIN字段非分布键,那么数据会在数据节点之间重分布。重分布使用四阶段方法,参考如下: 《分布式DB(Greenplum)中数据倾斜的原因和解法 - 阿里云HybridDB for PostgreSQL最佳实践》 ...
背景 netfilter是一个Linux内核网络包管理模块。支持包过滤、规则转发、会话状态跟踪等功能。 很多人可能遇到过nf_conntrack table full, dropping packet的问题,(正常情况下不应该出这样的问题,除非是DDos攻击,把netfilter的会话跟踪表打满了),又或者应用...
背景 原文 http://jaseywang.me/2012/08/16/%E8%A7%A3%E5%86%B3-nf_conntrack-table-full-dropping-packet-%E7%9A%84%E5%87%A0%E7%A7%8D%E6%80%9D%E8%B7%AF/ nf_conntrack ...