[未完待续] PostgreSQL 分布式流式计算 最佳实践

less than 1 minute read

背景

PostgreSQL 提供了SQL接口的流计算功能,

1、性能方面:

单个PG实例能支持 百万行/s 的处理流水。

2、功能方面:

支持 滑动窗口、预警、数据过期、流式估值计算、流式聚合、流式JOIN、扩展UDF 等。同时可以利用PostgreSQL内置的数据类型、处理函数,获取更多的数据处理能力。

使用PostgreSQL的流计算功能,相比其他流计算平台,具备性价比高、数据处理能力强、整合数据库的数据处理能力 等特点。

pic

在物联网、时序数据处理场景中,越来越多的用户选用PostgreSQL的流计算插件pipelineDB。

《流计算风云再起 - PostgreSQL携PipelineDB力挺IoT》

《”物联网”流式处理应用 - 用PostgreSQL实时处理(万亿每天)》

《基于PostgreSQL的流式PipelineDB, 1000万/s实时统计不是梦》

《(流式、lambda、触发器)实时处理大比拼 - 物联网(IoT)\金融,时序处理最佳实践》

接下来讲一下PostgreSQL流计算的分布式架构设计。

架构

数据写入、拽取层

数据路由、汇聚层

数据存储层

逻辑库

逻辑分组

路由、汇聚策略

逻辑库ID空间

逻辑库分组空间

路由规则

单个用户过大的处理

分片与聚合

聚合注意事项

有些聚合需要多个指标的支持,例如(平均值、方差、线性相关性等)

平均值需要SUM和COUNT的支持。

TTL

历史数据保存

OSS

阿里云 OSS+PG

扩容

缩容

备份

恢复

代替plproxy的产物

SQL接口 支持路由 支持扩容 支持同步路由策略 支持数据合并 支持归并排序 支持LIMIT 支持PG协议

参考

pipelinedb

plproxy

shard

Flag Counter

digoal’s 大量PostgreSQL文章入口