返回首页
搜 索
400-77-456-22
英米加集团
领先RFID产品与物联网解决方案专家
INMIGA group
智慧城市
智能交通
德歌:PostgreSQL独孤九式搞定物联网
来源:英米加集团 | 作者:inmiga | 发布时间: 3558天前 | 2746 次浏览 | 分享到:

  破刀式 - 搞定文本、空间、时序流式数据


 

  图三 破刀式 - 搞定文本、空间、时序流式数据

  在模糊查询、分词等文本处理方面,PostgreSQL天然支持分词的特性,包括中文分词和英文分词,性能上能够做到每秒处理千万词汇的级别,足够满足使用者的需求。

  空间地理位置数据管理方面,PostgreSQL支持PostGIS和Pgrouting两种位置处理的插件,PostGIS是全球使用范围最广的地理位置信息处理插件,在美国宇航局、欧洲宇航局等企业中得到了广泛使用;Pgrouting是基于位置信息完成最短路径运算的插件。

  流式处理方面,PostgreSQL 9.5以后的版本支持BRIN索引,非常适合带有时序属性的流式数据。如果按照时间来访问流式日志数据,以往需要创建B-tree索引进行范围查询或者精确匹配,但是B-tree索引会因为需要存储的较大信息量导致索引也很庞大;而BRIN记录的是每(连续)块元数据,索引变得很小。下图是两种索引之间差别详细对比:


 

  图四 BRIN索引与B-TREE 索引性能对比

  破枪式 - 搞定实时流处理


 

  图五 破枪式 - 搞定实时流处理

  实时流处理的实时性要求很高,同时传统的流式计算开发门槛高。但采用PostgreSQL,仅一条SQL就可以搞定流失实时处理。在数据源源不断地往数据库持续插入过程中,只需要定义好需要实时统计的窗口或者是流视图,数据库后台就可以实时地进行数据统计。查询流失处理结果的响应时间是在毫秒级别的。PostgreSQL在流式处理方面大大简化了开发这一环节。其处理能力相当强大,一台8G CPU的服务器每天能够处理百亿级别的流式数据。

  破鞭式 - 搞定复杂查询


 

  图六 破鞭式 - 搞定复杂查询

  在物联网中,因为数据维度多、相关性复杂,所以复杂查询也是一个不容忽视的问题。PostgreSQL中通过支持遗传算法、HASH JOIN、HASH 聚合,解决了多表查询的效率问题,在分析场景中比传统的嵌套循环性能提升100倍以上。

  除此之外,在监测场景中,传统基于阀值或状态的监测方式是无法发现监测过程中存在抖动、趋势异常的情况。PostgreSQL中采用基于方差的监测方式用于抖动检测;同时基于时间或属性相关性,进行趋势检测,防患于未然。

电力能源
农林牧渔
航空航天
精益制造
快消零售
智能港口
司法监狱
仓储物流
安监消防
金融通信