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

相关推荐

  • Python版本查询

    Python版本查询Python是一种广泛用于计算机编程的高级语言。Python有多个版本,每个版本都有其独特的特点。Python版本查询可以帮助人们更好地了解Python的版本和它们之间的差异。

    2024-08-15
    30
  • Oracle/MySQL数据快速导入MySQL的方法

    Oracle/MySQL数据快速导入MySQL的方法Oracle/MySQL数据快速导入MySQL的方法 Cyberverse 2019-04-28 12:02:22 2947 收藏 3 分类专栏: java成长之路 版权 本地Oracle安装请移步…

    2023-03-20
    159
  • 解决动态库的符号冲突的方法_动态库加载失败

    解决动态库的符号冲突的方法_动态库加载失败一次debug遇到的疑惑 某天发现一个程序有点问题。祭上print大法,在关键的 lib_func() 函数里添加 print 调试信息,重新编译运行。 期望 print 出的信息一点都没有,但是程序

    2023-04-16
    152
  • 如何卸载MongoDB

    如何卸载MongoDB在进行数据库操作的过程中,有时需要卸载数据库软件,本文将介绍如何卸载MongoDB。

    2024-05-02
    70
  • Sqlite—修改语句(Update)[通俗易懂]

    Sqlite—修改语句(Update)[通俗易懂]SQLite 的 UPDATE 语句用于修改表中已有的记录。可以使用带有 WHERE 子句的 UPDATE 查询来更新选定行,否则所有的行都会被更新。 基本语法:UPDATE table_name S

    2022-12-25
    164
  • Python字典:高效管理和操作数据

    Python字典:高效管理和操作数据Python是一种流行的编程语言,被广泛应用于数据科学、机器学习、Web编程等领域。Python提供了丰富的数据结构,其中字典是最常用的数据结构之一。Python的字典是一种键-值对存储结构,可以高效地管理和操作数据。在本文中,我们将介绍Python字典的各种用法,包括创建字典、操作字典、遍历字典、嵌套字典等,旨在帮助读者更好地掌握Python字典的应用。

    2023-12-24
    114
  • Spark-submit常用任务命令参数和说明[亲测有效]

    Spark-submit常用任务命令参数和说明[亲测有效]Spark常用任务命令参数和说明 spark-submit –name task2018072711591669 –master yarn –deploy-mode client –

    2023-03-18
    150
  • redis为什么比memcache快_mongodb和redis的场景

    redis为什么比memcache快_mongodb和redis的场景对比结论 1. 性能上: 性能上都很出色,具体到细节,由于Redis只使用单核,而Memcached可以使用多核,所以平均每一个核上Redis在存储小数据时比Memcached性能更高。而在100k以

    2022-12-21
    161

发表回复

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