大家好,我是考100分的小小码 ,祝大家学习进步,加薪顺利呀。今天说一说PostgreSQL 电子围栏的应用场景和性能,希望您对编程的造诣更进一步.
背景
电子围栏,这个在GIS应用中非常常见的词。在很多业务场景中都可以使用:
电子围栏的常见手段是圈出一块,或者一些多边形。当被监控对象在多边形内或者多边形外时(根据业务模型),作为一个判断条件,触发一些业务规则。
1、禁飞区
玩大疆无人机的话,你一定要知道哪里是禁飞区,否则可能违法被抓,但是你可能并不知道哪里是禁飞区,还有飞行高度的限制。
有了电子围栏,可以在飞行器内置这样的功能,你就可以放心的飞了。比如到达了禁飞区后,飞行器可以发出告警,禁止飞行。
2、共享单车还车点
共享单车乱摆放是个问题,原因是什么地方都能还车。使用电子围栏,可以约束用户的还车点,只允许用户将自行车停在某个空间内,或不在某个空间内才能还车。
3、汽车禁行区
例如,某些汽车,在某个时间段不允许出现在某个区域内。
例如限行车辆,例如危化品车辆、黄沙车、货车等的行驶范围。以往,我们只能靠摄像头、或者靠警力来管理。加入电子围栏,一切都变得更简单。
4、国界线
这个是有非常鲜明的地理属性的,电子围栏,结合流式计算,可以非常实时的发现异常。
5、山头线
我记得小时候,我们那里的班车线路都是承包的,谁要是敢乱拉客,车子可能是会被砸掉的。实际上这个也是一些商业边界的问题,如果商业边界涉及到地理信息,通过电子围栏,可以更加方便的实现边界控制和管理。
6、远程打卡,当你进入了办公区域附近(电子围栏)时,才允许打卡。
7、远程办公管理,公司可以划定一些可以办公的常用地的多边形,当员工出了这个区域时,触发事件。
8、公务用车、商用车辆的行驶区域管理,出了区域,可以触发事件。
9、放牧管理,例如在大草原放养的动物,可以挂上GPS跟踪器,划定电子围栏,出了区域,触发事件。
10、假释人员的管理,不在需要投入大量警力跟踪假释人员。当然人的管理更加复杂,因为跟踪器可能更换。
11、… …
试想一下,当每个对象都带上空间属性后,还有很多很多很多场景,可以设置电子围栏。
空间数据的处理,将会是一片巨大的蓝海。
围栏除了空间属性,还可以有其他属性,PostgreSQL提供了btree_gist接口,可以对空间、标量字段建立联合索引,提高性能。
https://www.postgresql.org/docs/10/static/btree-gist.html
同时PostgreSQL还支持空间独立排他约束,可以防止围栏重叠。
https://www.postgresql.org/docs/10/static/ddl-constraints.html#ddl-constraints-exclusion
PostgreSQL 深耕空间数据管理数十年,一定能服务好这片业务,一起来为人类发展做出贡献。
电子围栏性能
电子围栏中,最常用的手段是点面判断,对于共享单车业务,我们为了防止自行车乱停放,可以圈定可以换车、或者不能换车的点(视业务需求),创建很多的多边形区域,当用户还车时,上报车辆位置,同时判断是不是落在可以换车的点,或者不能换车的点内。决定用户是否可以在当地还车。
可能有千万、甚至更多的多边形面。
这个需求和菜鸟的配送调度类似,也有点面判断的需求,下面是一个设计和性能测试
《菜鸟末端轨迹 – 电子围栏(解密支撑每天251亿个包裹的数据库) – 阿里云RDS PostgreSQL最佳实践》
1000万个多边形,根据位置查询这个位置在哪个面里面,或者有没有面包含了这个点。
PostgreSQL单机可以达到251亿次/天
的点面判断请求的性能。
作者丨digoal
本文来自思创斯聊编程,作者:古道轻风,转载请注明原文链接:https://www.cnblogs.com/88223100/p/Application_scenarios_and_performance_of_PostgreSQL_electronic_fence.html
原文地址:https://www.cnblogs.com/88223100/archive/2022/11/13/Application_scenarios_and_performance_of_PostgreSQL_electronic_fence.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
转载请注明出处: https://daima100.com/4549.html