欢迎来到天天文库
浏览记录
ID:8908284
大小:342.65 KB
页数:10页
时间:2018-04-11
《postgis地理信息数据多核并行处理》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、PostGIS地理信息数据多核并行处理本文章来自于阿里云云栖社区摘要: 标签PostgreSQL,PostGIS,栅格,raster,多核并行背景自从PostgreSQL9.6支持CPU多核并行计算后,PostgreSQL最流行的插件之一PostGIS,用户对多核需求也越来越多。标签PostgreSQL,PostGIS,栅格,raster,多核并行背景自从PostgreSQL9.6支持CPU多核并行计算后,PostgreSQL最流行的插件之一PostGIS,用户对多核需求也越来越多。原因是PostGIS中有大
2、量的运算是非常耗费CPU资源的,比如raster类型相关的运算。PostGIStendstoinvolveCPU-intensivecalculationsongeometries,supportforparallelqueryhasbeenatthetopofourrequestlisttothecoreteamforalongtime.Nowthatitisfinallyarrivingthequestionis:doesitreallyhelp?PostGIS发布的2.3.1版本,已经可以看到诚意了吧,
3、以下函数已经支持并行计算了。MarkST_Extent,ST_3DExtentandST_Mem*aggfunctionsasparallelsafesotheycanbeparallelized扫描并行扫描并行,比如扫描节点有大量数据要被过滤时,或者说查询子句中有大量的运算时,使用并行可以大大提升其效率。例如1.filter过滤掉大量的数据,并且filter本身运算量较大时,使用CPU多核并行,效果明显select*fromtablewherefilter...;2.当func函数或者OP操作符运算量较大时
4、,使用CPU多核并行,效果非常明显比如聚合运算,或者一些业务逻辑运算(虽然TABLE本身没几条记录,但是每条记录的运算耗时很长时,并行效果明显)。selectfunc(x),xopyfromtable...;JOIN并行我们在使用explain观察SQL时,或者使用perf跟踪SQL的开销时,对于一个多个表数据JOIN的SQL,如果JOIN的数据量很大,可能就会成为整个SQL的性能瓶颈。现在可以使用CPU的多核并行来加速JOIN了。聚合并行聚合操作,比如统计某个维度的平均值、最大、最小、SUM等,在金融、分析
5、行业用得非常多,处理的数据量大,运算量也较大。除了扫描码并行,聚合函数本身也要支持并行才行,比如sum,count,avg,可以想象并行处理都是安全的。应该这么说,凡是在分布式数据库中支持的2阶段聚合函数,并行都是安全的。关于分布式数据库的2阶段并行聚合的原理请参考《hll插件在Greenplum中的使用以及分布式聚合函数优化思路》(原文链接:https://github.com/digoal/blog/blob/master/201608/20160825_02.md?spm=5176.100239.blo
6、gcont71882.22.4t0mP2&file=20160825_02.md)《Postgres-XCcustomizedaggregateintroduction》(原文链接:https://github.com/digoal/blog/blob/master/201305/20130502_01.md?spm=5176.100239.blogcont71882.23.ANzwbr&file=20130502_01.md)观察并行、并行原理如果你要观看并行效果,这样设置一下就好了postgresql.c
7、onfmax_worker_processes=64max_parallel_workers_per_gather=8parallel_tuple_cost=0parallel_setup_cost=0min_parallel_relation_size=0force_parallel_mode=ontablealtertabletable_nameset(parallel_workers=8);关闭并行效果altertabletable_nameset(parallel_workers=0);setforc
8、e_parallel_mode=off;并行原理参考《PostgreSQL9.6并行计算优化器算法浅析》(原文链接:https://github.com/digoal/blog/blob/master/201610/20161002_01.md?spm=5176.100239.blogcont71882.26.9H8LJO&file=20161002_01.md)《PostgreSQL9.6并行计算
此文档下载收益归作者所有