[未完待续] PostgreSQL 分布式流式计算 最佳实践
背景
PostgreSQL 提供了SQL接口的流计算功能,
1、性能方面:
单个PG实例能支持 百万行/s 的处理流水。
2、功能方面:
支持 滑动窗口、预警、数据过期、流式估值计算、流式聚合、流式JOIN、扩展UDF 等。同时可以利用PostgreSQL内置的数据类型、处理函数,获取更多的数据处理能力。
使用PostgreSQL的流计算功能,相比其他流计算平台,具备性价比高、数据处理能力强、整合数据库的数据处理能力 等特点。
在物联网、时序数据处理场景中,越来越多的用户选用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