

破索式 - 搞定数据分析
PostgreSQL具有强大的数据挖掘能力,可以通过一条SQL搞定数据挖掘,例如:
SELECT kmeans(ARRAY[x, y, z], K) OVER (), * FROM samples;
这条语句就可以实现聚类分析;同时PostgreSQL支持GPU,CPU并行计算,处理能力达到25GB/s,已经达到目前内存极限;此外PostgreSQL还兼容MADLib库(支持几百个机器学习库函数、对应各种数学模型)、PL/R,、PL/Python。
图七 破索式 - 搞定数据分析
破掌式 - 搞定秒杀(高并发行锁竞争)
图八 破掌式 - 搞定秒杀(高并发行锁竞争)
在物联网领域,例如秒杀等场景行锁竞争强烈。传统的行锁具有无效等待多、无效等待用户长时间占用会话资源、发现锁冲突的代码路径长,需进行大量CPU运算等弊端。PostgreSQL提供了超轻锁((advisory LOCK))来解决高并发锁竞争问题,通过CPU运算发现行锁之前就知道是不是存在冲突,大大缩短CPU计算、等待资源,比如在秒杀抢手机的活动中,给定每个手机一个编号,拿到编号的用户才可以进行抢手机,这样就解决了并行度的问题,整体性能得到了近百倍的提升。
破箭式 - 搞定模糊、正则查询
图九 破箭式 - 搞定模糊、正则查询
物联网中,对高效的模糊、相近度查询需求,较大传统查询方式是采用全表扫描的方式,百亿数据的查询响应至少是小时级别的。在PostgreSQL中,通过使用GIN R-TREE索引可以将查询时间缩短到秒级。
这里举一个模糊查询的例子,如上图所示的车牌,尽管对其中一部分做了遮挡,在PostgreSQL中,通过下几行语句,就可以轻松查出车主的个人信息:
select 'postregsql' % 'postgresql';
postgres=# select similarity('postregsql','postgresql');
similarity
------------
传真:0755 - 2799 6625
投诉:133-2299-1235
邮箱:sale@inmiga.com