首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    PostGIS空间数据库简明教程

    在我们使用 PostGIS 功能之前,我们需要在 Postgres 中安装扩展:CREATE EXTENSION IF NOT EXISTS postgis;1、空间数据类型PostGIS 支持几种不同类型的...CREATE TABLE building (id UUID PRIMARY KEY,geom geometry(Polygon));此外,我们还可以在列类型定义中包含 SRID(空间参考标识符),强制所有值都符合相同的...所以我们总是需要知道进入系统的数据的 SRID。PostGIS 在涉及 SRID 时非常灵活。 在上面的示例中,我们创建了一个表“building”,其中包含一个没有指定 SRID 的几何列。...空间列也可以有一个预定义的 SRID,它强制该列中的所有对象使用指定的 SRID。...查询执行计划将需要在第一个表上执行表扫描,以确定哪些对象与第二个表中的对象相交,在转换为目标 SRID 之后。

    3.1K30

    哲思片段 | 设计中的变与不变

    无论它在内存中存储的状态如何变化,该实例的对象标识依旧是保持不变的。显然,变与不变是相对的。 切换到DDD的命题中,所谓“实体”就是那种具有唯一的可识别可跟踪ID的对象。...不变性天生支持并发。这就衍生出面向对象设计中的Immutable模式。例如Java和C#中的String类型,皆为Immutable模式的实现。 可若放在函数式编程中,这种模式就显得有些可笑了。...尤其在纯函数式编程的世界里,任何东西都应该是不变的。 这种不变意味着只要它存在,就不可修改,而且恒古不变。这种追究变化背后的不变性,一直是古希腊哲学乃至科学的基本原则。...物质是否永恒不变,在哲学中一直是引人深思的命题或假设;但在函数式编程中,它几乎被证明了。...罗素在《西方哲学简史》中写道: 有的神秘主义者认为永恒并不是指时间上的永久,它是独立于时间之外的,无前无后、无因无果,也没有逻辑可循。 我觉得函数式编程追求的不变性,可以划入这个范畴。

    1.3K70

    Postgresql 理解cache 在 postgres中的意义 与 share buffer 到底设置多大性能最好

    POSTGRESQL 数据库的CACHE 要接受什么,数据,以及索引,这些信息已8KB的块存储在磁盘上,在需要处理的时候,需要将他们读入4KB的为存储单元的CACHE 中。...PG 通过postmaster 为每一个数据库数据的访问分配一个基于他下面的子进程,并且这些进程在访问 share buffer后,基于LRU算法会让这些数据持续的在缓冲中,当这些数据在一定时间不再需要后...我们做一个实验,看看数据在内存中和不再内存中查询的差别(以下实验在传统SATA磁盘系统) 我们灌入5000万的数据到PG的数据库中。通过语句我们可以查出表在内存中的数据块的数量。...通过pg_prewarm 将数据加载进缓存中。 可以看到这次查询的时间仅仅需要2秒钟 执行计划也没有什么不同。此时这就能证明,数据在buffer中 和不再buffer中的巨大区别....pgbench -i --unlogged-tables -s 500 -U postgres -p 5432 -d pgbench 之前写的一篇与这个有关的文字 PostgreSQL 自己的 DB buffer

    2.5K50

    JavaScript 中的 不变性(Immutability)

    在这篇文章中,我将展示什么是完全不变的,如何在JavaScript中使用这个概念,以及为什么它是有用的。 什么是不变性? 可变性的文本定义是可能会被改变的。...字符串不是JavaScript内置的唯一不变的值。 数字也是不变的。 你甚至可以想象一个评估表达式“2 + 3”_改变数字“2”的含义的环境? 这听起来很荒唐,但是我们一直在使用对象和数组。...In JavaScript, Mutability Abounds 在JavaScript中,字符串和数字是不可改变的设计。...JavaScript中不变性的实践 JavaScript还没有不可变的列表和地图,所以我们现在需要一个第三方库。有两个很好的可用。...与内置数组和对象相比,仍然会有一个开销,但它将是不变的,通常可以通过不变性启用的其他好处来缩小。在实践中,使用不可变数据在许多情况下会增加应用程序的整体性能,即使孤立的某些操作变得更加昂贵。

    1K20

    互联网家装,不变中求变

    另据中商产业研究院预测,2022年我国互联网家装市场规模将达到867.1亿元,巨大的市场规模迅速吸引了许多玩家参与其中。...一来,垂直类互联网装企回归平台本身,在供应端对家装产业链进行重构。...综合互联网平台:取长补短与前者略有不同,像阿里、京东这样的互联网大厂在进军家装行业的过程中,一直在结合自身优势取长补短,来推进自身的业务发展。...据贝壳研究院发布的《2022青年家居生活趋势洞察报告》显示,有69.2%的消费者在房屋装修过程中遇到过防水、乳胶漆、板材等辅材问题;有45.3%的消费者遇到过木地板、墙纸、橱柜等主材问题;有超过一半的消费者在装修完成以后遇到过售后问题...但目前无论是阿里还是京东,对于整个家装行业冗长的产业链条触达尚且不够深入,在客户实际的装修过程中也无法做到质量把控,更无法掌控执行效率,所以也无从实现真正意义上的触达消费者。

    26820

    循环不变式:算法中基础概念的明晰

    循环不变式 循环不变式主要用来辅助我们理解算法的正确性,对于循环不变式,必须证明它的三个性质 初始化:它在循环的第一轮迭代开始之前,应该是正确的。...结束:当循环结束时,不变式给了我们一个有用的性质,它有助于表明算法是正确的(这一步是和数学归纳法不同的一点,用循环不变式则更进一步,数学归纳法到这里就得出了一个关系式就结束,而用循环不变式,不但要先确保一个正确的关系式...编写循环时,让每次循环都成立的逻辑表达式称为循环不变式(loop invariant)。 注意:每个循环都可以找到一个循环不变式,我们可以通过这个循环不变式证明循环迭代的正确性。...保持:假设i=k的时候循环不变式成立,此时还未执行循环语句,循环不变式成立,即a^(k-2)=1,则在循环中执行的pow=pow*a,那么pow=a^(k-1)。...即在迭代过程中,循环不变式保持成立。 终止:当k=n+1时,循环终止,此时pow=a^n。所以算法终止时,得到的是一个正确的结果,返回了a的n次幂。 、

    1.4K20

    矩阵特征值-变化中不变的东西

    上文说了可逆这个话题,理解起来很简单,就是不变的东西 有一张纸,上面画了一个箭头。对这张纸进行了一些拉伸、旋转等操作(线性变换)。 有些箭头在这些操作后,方向保持不变,只是长度可能变长或变短。...特征向量:表示一个线性变换下,方向保持不变的向量。...代数重数指的是特征值在特征多项式中出现的次数,也就是特征方程的重根数。它反映了特征值在代数上的重要性。关注的是特征值在方程中的出现次数,是一个代数概念。...它反映了特征值在几何上的重要性,即特征空间的维度。特征向量在空间中的分布情况,是一个几何概念。几何重数反映了特征空间的维度,即对应于该特征值的特征向量张成的空间的维度。...就像一个人在社交圈中的影响力,它反映了这个人有多少个“铁杆粉丝”。一个人的年龄可能会很大,但他的影响力不一定很大。 几何重数总是小于等于代数重数。

    12010

    从 Notion 分片 Postgres 中吸取的教训(Notion 工程团队)

    到 2020 年年中,很明显,产品的使用将超过我们值得信赖的 Postgres 单体的能力,后者在五年和四个数量级的增长中尽职尽责地为我们服务。...在我们最初的研究中,我们还考虑了打包的分片/集群解决方案,例如用于 Postgres 的 Citus 或用于 MySQL 的 Vitess。...并非所有这些表都需要分片,但是如果一条记录存储在主数据库中,而其相关块存储在不同的物理分片上,我们可能会在写入不同的数据存储时引入不一致。...例如,考虑一个存储在一个数据库中的块,在另一个数据库中具有相关的评论。如果块被删除,评论应该被更新 — 但是,由于事务性保证只适用于每个数据存储,所以块删除可能成功,而评论更新可能失败。...逻辑复制:内置的 Postgres 功能,使用发布/订阅模型将命令广播到多个数据库。在源数据库和目标数据库之间修改数据的能力有限。

    1.3K20

    【C 语言】const 关键字用法 ( 常量指针 - const 在 * 左边 - 修饰数据类型 - 内存不变 | 指针常量 - const 在 * 右边 - 修饰变量 - 指针不变 )

    文章目录 一、const 普通用法 二、常量指针 ( 指向 常量 的指针 | 被指向的内存不能被修改 ) 三、指针常量 ( 指针不能被修改 ) 三、指向 常量 的 指针常量 四、const 在 * 左右的意义...一、const 普通用法 ---- const 关键字 在 C 和 C++ 中的表现不同 , 本篇博客主要介绍 C 语言中的 const 用法 ; const 的用法 : 下面的 2 个写法作用相同..., const 可以在 数据类型 前面 , 也可以在 数据类型 后面 ; // 下面两个 const 用法相同 const int a; int const a; 二、常量指针 ( 指向 常量 的指针...* 左右的意义 ---- 普通的数据类型 , const 在数据类型左右作用相同 ; 指针数据类型 , const 在 * 左侧是 常量指针 ( 内存不能修改 ) , const 在 * 右侧是 指针常量...* 右边 , 指针常量 , 指针不能修改 ; 右边是 数据类型 , 相当于 const 修饰的是 内存中的数据 , 指针指向的内存不能被修改 ;

    2.4K20

    在瞬息万变的活动支撑工作中,如果以不变应万变

    在活动支撑工作中将涉及服务器压力、外部攻击、带宽、活跃玩家以及活动规模等不断上升和变化,如何利用恒久不变的“容量“和”监控“的支撑思路达成我们的目标。...且男女比例基本相当,所以暑假、情人节成了冲在线的黄金时间; DNF一般会选择在年度大版本发布后的一周进行一次冲在线活动; 服务器压力评估是冲在线最核心的部分,QQ炫舞的后台server、db、client在冲在线前的版本变化不大...每次扩容的承载基本在近百万w,涉及到的机器数百台。短时间把如此量级的机器扩容到现网环境,我们不但要效率,更要质量。因此运维团队在12年的时候开发了自助扩容app。从拿设备,到设备扩容到现网一键实现。...因此我们在体验服版本迭代的时候就不断进行压测,以评估上线后的压力。以此评估现网设备是否需要升级或扩容。DNF现网大区的频道都是一致的,所以大区的容量都一样。

    65560

    购物车中变与不变的数据处理

    关于商城购物车页面的一些思考,页面如下: image.png 结算的时候,选中状态时本地修改,不会远程同步,一般在第一次获取数据后,处理数据,统一设置为未选中,每次选中或者不选中,直接更改本地数据后调用...这个思路应用简单类表时可用,但是在购物车案例中,有本地状态时这样做就不行了,例如勾选了几个商品,然后修改了某个商品的数量,此时如果重新渲染,那么勾选的状态就会消失,那么如何办呢?...整体的拔高视角思考一下,我们将所有的状态数据首先进行了重组,有的属性可以在本地直接修改,也就说可以直接调用setState进行修改,但是有些状态属性不能这样做,需要前后端同步,这就需要做一下验证,比方说数量的修改...,先与后端同步,同步完成后,本地在调用setState进行更新,这样提高了页面渲染效率,很好的维护了页面的状态。

    78811

    Postgres空间地理类型POINT POLYGON实现附近的定位和电子围栏功能

    需求和背景 在已有大量经纬度坐标点的情况下,给定一组经纬度如何快速定位到附近的POI有哪些? 现在使用经纬度转geohash的算法,将二维的距离运算转换为like前缀匹配。...通过比较9位到5位前缀,来获取附近5米到3km之内的坐标,为了寻求更快的定位方法,测试一下postgres的空间类型。 安装插件postgis 先安装了pg-10, 并且是通过yum安装的。...附近5公里内的点 使用函数ST_DWithin 可以计算两个点之间的距离是否在5公里内。...) ORDER BY distance LIMIT 10; 使用函数boolean ST_Within(geometry A, geometry B); 判断A是否完全在B...在坐标系统描述中,可以看到有这么一行: Datum: D_Beijing_1954 表示,大地基准面是D_Beijing_1954。

    3.7K20
    领券