PostgreSQL 电子围栏的应用场景和性能

PostgreSQL 电子围栏的应用场景和性能PostgreSQL , 电子围栏 , 共享自行车 , 共享充电宝 , 共享xxx , 菜鸟 , 航空管制 , 无人飞行器 , pipelinedb , 流式计算

PostgreSQL 电子围栏的应用场景和性能

PostgreSQL 电子围栏的应用场景和性能

 

 

背景

电子围栏,这个在GIS应用中非常常见的词。在很多业务场景中都可以使用:

电子围栏的常见手段是圈出一块,或者一些多边形。当被监控对象在多边形内或者多边形外时(根据业务模型),作为一个判断条件,触发一些业务规则。

1、禁飞区

玩大疆无人机的话,你一定要知道哪里是禁飞区,否则可能违法被抓,但是你可能并不知道哪里是禁飞区,还有飞行高度的限制。

有了电子围栏,可以在飞行器内置这样的功能,你就可以放心的飞了。比如到达了禁飞区后,飞行器可以发出告警,禁止飞行。

PostgreSQL 电子围栏的应用场景和性能

 

 

2、共享单车还车点

共享单车乱摆放是个问题,原因是什么地方都能还车。使用电子围栏,可以约束用户的还车点,只允许用户将自行车停在某个空间内,或不在某个空间内才能还车。

PostgreSQL 电子围栏的应用场景和性能

 

 

3、汽车禁行区

例如,某些汽车,在某个时间段不允许出现在某个区域内。

例如限行车辆,例如危化品车辆、黄沙车、货车等的行驶范围。以往,我们只能靠摄像头、或者靠警力来管理。加入电子围栏,一切都变得更简单。

PostgreSQL 电子围栏的应用场景和性能

 

 

4、国界线

这个是有非常鲜明的地理属性的,电子围栏,结合流式计算,可以非常实时的发现异常。

PostgreSQL 电子围栏的应用场景和性能

 

 

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/archive/2022/11/13/Application_scenarios_and_performance_of_PostgreSQL_electronic_fence.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
转载请注明出处: https://daima100.com/4549.html

(0)
上一篇 2023-06-14
下一篇 2023-06-15

相关推荐

  • b+树原理_B+树的特点

    b+树原理_B+树的特点作为目前数据库引擎的两种主要数据结构,LSM-tree和B+-tree在业界已经有非常广泛的研究。相比B+-tree,LSM-tree牺牲一定的读性能以换取更小的写放大以及更低的存储成本,但这必须建立

    2023-05-21
    98
  • mysql执行语句出现[Err] 1055 – Expression #1 of ORDER BY clause is not in GROUP BY 。。

    mysql执行语句出现[Err] 1055 – Expression #1 of ORDER BY clause is not in GROUP BY 。。相关语句 show variables like '%sql_mode%'; SET sql_mode=(SELECT REPLACE(@@sql_mode,'ONLY…

    2023-03-05
    107
  • 数据库存数据时,逻辑上防重了为啥还会出现重复记录?[通俗易懂]

    数据库存数据时,逻辑上防重了为啥还会出现重复记录?[通俗易懂]在很多异常情况下,比如高并发、网络糟糕的时候,数据库里偶尔会出现重复的记录。 假如现在有一张书籍表,结构类似这样 在异常情况下,可能会出现下面这样的记录 但是,想了想,自己在处理相关数据的时候也加了判

    2022-12-16
    101
  • 技术分享 | 快速掌握 MySQL 8.0 认证插件的使用「建议收藏」

    技术分享 | 快速掌握 MySQL 8.0 认证插件的使用「建议收藏」作者:郭斌斌 引言 MySQL 8.0.15 版本主从复制时,io 线程一直处于 connecting 状态, 由于复制用户使用的认证插件是 caching_sha2_password,而想要通过 …

    2023-01-29
    96
  • Python参数定义规范

    Python参数定义规范在Python编程中,函数参数的定义对于代码的可读性和可维护性非常重要。遵循Python参数定义规范可以帮助我们编写更加健壮且易于维护和使用的代码。本文将从多个方面对Python参数定义规范进行详细阐述。

    2024-02-11
    43
  • Python实现简单爬虫,抓取数据实现数据挖掘

    Python实现简单爬虫,抓取数据实现数据挖掘在信息时代,数据是非常宝贵的东西,特别是在商业、科学和社会研究等领域,数据的价值越来越被重视。而互联网又是信息获取的一个非常好的途径,因此如何高效、快速地从互联网上获取所需要的信息成为了一个非常重要的话题。针对这个问题,Python提供了非常好的解决方案,即使用Python实现简单爬虫,抓取数据实现数据挖掘。

    2024-01-26
    51
  • Python神器:最大数计算

    Python神器:最大数计算在日常生活和工作中,需要使用计算机进行一些最大值的计算。比如要找到一个文件夹中最大的文件,或者计算一段序列中的最大值。这时就需要使用一些算法和工具来实现最大数计算。

    2024-01-06
    67
  • Python List操作之删除元素

    Python List操作之删除元素Python的列表(list)是一种重要的数据结构,常用于存储有序的数据。在实际的开发中,我们常常需要对列表进行修改,比如删除某个元素。Python提供了多种删除元素的方法,本文将介绍常用的三种方法。

    2023-12-25
    66

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注