《潘金莲改变了历史吗-PostgreSQL舆情事件分析应用》要点:
本文介绍了潘金莲改变了历史吗-PostgreSQL舆情事件分析应用,希望对您有用。如果有疑问,可以联系我们。
更多深度文章,请关注云计算频道:https://yq.aliyun.com/cloud
标签
PostgreSQL , 独立变乱分析 , 舆情分析 , 舆情变乱 , 相关变乱 , 行为轨迹 , 独立变乱的流水相关性分析 , PostgreSQL服务端编程实践
配景
潘金莲改变了历史吗?
网上的段子
潘金莲撑开窗户,撑窗户滴棍子掉下去了,于是西门庆看到了,于是他们相遇了.如果潘金莲同学当时没有开窗,那么她就不会遇到西门庆.
类似蝴蝶效应,历史是很有趣的事情.
实际上在我们的生活中也有这样的现象或者需求,好比某些业务系统,会记录事件,流水账那样.
然后业务可能想知道某类事件发生后,接下来发生了什么,好比说房价调控措施出台后的事件,是不是有大量资金涌入股票市场?
说道这里,我要把PostgreSQL数据库搬出来,到底怎么实现上述需求呢?
模拟现实
1. 构建变乱输入的表结构
create table event(
2. 插入1000万变乱记录,其中5000个变乱的种类.
insert into event (class, info , crt_time) select (5000*random())::int::text, 'test', clock_timestamp() from generate_series(1,10000000);
3. 针对变乱种类,创建索引
create index idx_event_class on event (class);
需求
查询某个变乱发生后,若干个接下来发生的变乱
使用函数可以轻松实现这个需求
create or replace function f(
查询举例
查询变乱类别为1的变乱,它后面发生的2个变乱,输出10次分析结果.
postgres=# select * from f('select id from event where class=$$1$$', '1', 2, 10);
利用以上结果,我们就可以知道发生了变乱1之后,都发生了其他什么变乱.
至于你要拿这些结果进行接下来的分析,可以使用类似关键词的热点分析办法,或者使用PostgreSQL提供的MADlib机器学习库,又或者使用plR进行分析.
总之你肯定有办法找出事件之间的关联关系.
非独立变乱的相关性分析
因为前面分析的都是独立事件,即本身就没有相关性的,所以需要通过函数的办法来输出结果.
对于非独立事件,好比说用户逛淘宝的点鼠标的行为,在点了某个商品后,又点了哪些其他商品.
对于非独立事件,在结构设计上,就有关联字段,好比USERID,所以我们可以很方便的进行关联.
使用PostgreSQL递归调用,就可以对非独立变乱进行轨迹分析.
例子
《PostgreSQL 递归查询CASE - 树型路径分组输出》
《用PostgreSQL找回618秒逝去的青春 - 递归收敛优化》
《distinct xx和count(distinct xx)的变态递归优化办法 - 索引收敛(skip scan)扫描》
《PostgreSQL 使用递归SQL 找出数据库对象之间的依赖关系》
《PostgreSQL 递归死循环案例及解法》
《PostgreSQL 递归查询一例 - 资金累加链》
《PostgreSQL Oracle 兼容性之 - WITH 递归 ( connect by )》
《递归优化CASE - group by & distinct tuning case : use WITH RECURSIVE and min() function》
《递归优化CASE - performance tuning case :use cursor\trigger\recursive replace (group by and order by) REDUCE needed blockes scan》
小结
PostgreSQL的递归语法、plpgsql编程,可以很好的满足舆情分析中变乱前后变乱的分析需求.
再利用PostgreSQL的热点词分析,聚类分析或者使用PostgreSQL提供的MADlib机器学习库,又或者使用plR进行分析.找出变乱之间的关联关系.
维易PHP培训学院每天发布《潘金莲改变了历史吗-PostgreSQL舆情事件分析应用》等实战技能,PHP、MYSQL、LINUX、APP、JS,CSS全面培养人才。