Recent Posts

音视图(泛内容)网站透视分析 DB设计 - 阿里云(RDS、HybridDB) for PostgreSQL最佳实践

10 minute read

背景 日常生活中,人们使用最多的除了社交类网站、购物网站,估计就是音频、视频、图文信息类内容网站了。 视频网站,已经渗透到各种终端,除了喜闻乐见的手机,还包括移动终端、电脑、盒子、电视、投影仪等。有设备属性、会员属性、渠道属性等。 内容运营是非常重要的环节,而透视则是运营的重要武器。 业务需求 1、生成设...

泛电网系统 海量实时计算+OLTP+OLAP DB设计 - 阿里云(RDS、HybridDB) for PostgreSQL最佳实践

2 minute read

背景 电网系统是一个关系民生,又非常典型的传统系统,虽然传统,量可不小。在互联网化(物联网化)的今天,有很多值得借鉴和思考的点供给其他相关系统参考。 每个省份大概有亿级户电表,最大的地市可能有千万户级别。 以往我们电费是怎么交的呢?我们小区是两个月交一次,也就是说先消费,再付款的方式。这么说起来电网真的是很仁...

通过空间思想理解GiST索引的构造

1 minute read

背景 可以支持空间检索的GiST索引的数据结果到底是什么样的呢? 本文为以下两篇文档的增补: 《Greenplum 空间(GIS)数据检索 B-Tree & GiST 索引实践 - 阿里云HybridDB for PostgreSQL最佳实践》 《PostGIS空间索引(GiST、BRIN、R-Tr...

Greenplum 空间(GIS)数据检索 b-tree & GiST 索引实践 - 阿里云HybridDB for PostgreSQL最佳实践

4 minute read

背景 气象数据、地震数据、室内定位、室外定位、手机、车联网、还有我们最喜欢的“左划不喜欢、右划喜欢”,越来越多的位置属性的数据。将来会越来越多。 基于GIS的数据分析、OLTP业务也越来越受到决策者的青睐,例如商场的选址决策,O2O的广告营销等。有很多基于多边形、时间、用户对象属性过滤的需求。 阿里云Hybr...

PostgreSQL BRIN索引的pages_per_range选项优化与内核代码优化思考

8 minute read

背景 BRIN是PostgreSQL 9.5新增的块级索引接口,存储了被索引字段在块级别的边界值(最大值、最小值)以及其他统计信息。 当需要对某个字段进行检索时,需要扫描整个BRIN索引(这个是BRIN索引内核层面将来值得优化的点)。然后跳过不符合条件的HEAP PAGE,扫描复合条件的HEAP PAGE。实现...

PostgreSQL 增量备份集的有效恢复位点

5 minute read

背景 PostgreSQL支持PITR即时间点恢复,为了支持时间点恢复,至少需要一次全量备份,然后需要归档日志。 这句话描述可能不够清晰,至少需要哪些归档日志,全量备份的时间点有没有要求呢? 本文要解答这个问题。 什么是全量备份 全量备份指的是对数据库的$PGDATA以及所有表空间文件(包括全局数据文件、事...

时序业务,求最新值(从7秒到7毫秒的优化之旅) - 阿里云RDS PostgreSQL最佳实践

5 minute read

背景 在很多场景中,都会有数据合并、清洗的需求。 例如: 1、记录了表的变更明细(insert,update,delete),需要合并明细,从明细中快速取到每个PK的最新值。 2、有很多传感器,不断的在上报数据,要快速的取出每个传感器的最新状态。 对于这类需求,可以使用窗口查询,但是如何加速,如何快速的取...

万亿级电商广告 - brin黑科技带你(最低成本)玩转毫秒级圈人(视觉挖掘姊妹篇) - 阿里云RDS PostgreSQL, HybridDB for PostgreSQL最佳实践

3 minute read

背景 单机支持一万亿(100TB级)数据的毫秒级圈人,怎么做到?拥有PostgreSQL即可。 本文的应用场景来自电商的按条件圈人的广告业务。我在另外两篇文档中,分别使用了 空间数据库的视觉挖掘特性、PostgreSQL的GIN倒排索引 两种方法来实现毫秒级别的圈人。 如下: 《视觉挖掘与PostGIS空间...

Greenplum segment级锁问题排查方法 - 阿里云HybridDB for PostgreSQL最佳实践

5 minute read

背景 Greenplum(GPDB)是一个分布式数据库,分布式数据库的锁管理比单机更加复杂。例如在加锁时,需要对所有节点加锁(包括MASTER和所有的SEGMENT节点),在释放锁时,则需要释放所有节点的锁。 如果在释放过程中,MASTER的锁释放了,而SEGMENT锁没有释放,会造成什么问题呢? 不用说,会...