开发者社区> 德哥> 正文

震精 - 数据库还能这样玩 - 三十六计 (上)

简介:
+关注继续查看

标签

PostgreSQL , 三十六计


背景

PostgreSQL 三十六计 - 上

1. GIN复合倒排索引。

前端人机交互,任意字段组合查询需求,根本不知道用户会对哪些字段进行检索,直击开发痛点。

PostgreSQL GIN复合倒排索引,一个索引,解救开发人员。

2. range类型。

范围类型+GIST索引,传感器多条记录压缩为单条记录范围表述;支持智能DNS、金融、气象、传感器数据等高效范围匹配。

例如1个传感器5分钟产生了10000条记录,在1.1-1.4之间波动,可以存储为[1.1, 1.4]一条记录,而不是1万条记录。

匹配时支持 $? @< 字段 高效率索引检索。

3. PostGIS。

不仅有经纬度、点面判断、距离判断。还有栅格、路径规划、图层、拓扑、地址与经纬度MAPPING、空间类型索引与操作符。不仅有二维数据。还有多维数据。不仅支持串行。还有多核并行。PostGIS服务于军用、民用、科研几十年,覆盖面广、开发框架支持丰富,值得信赖。

4. 异步消息。

在物联网中,结合PostgreSQL的流式计算,当传感器上报的数据达到触发事件的条件时,往异步消息通道发送一则消息,应用程序实时的接收异步消息,发现异常。

即节省了空间(结合流式处理,完全可以轻量化部署),又能提高传播的效率(一对多的传播),程序设计也可以简单化。

例如zabbix监控系统,如果每秒产生千万级的新值(new values per second),传统的zabbix处理会非常吃力,除了插入吃力(实际上大部分插入是无用功,正常的值完全可以适应范围类型压缩插入,异常的值才是有效值),主动查询询问式的方式也很吃力。

使用PostgreSQL流式计算功能,仅仅当值有问题(根据流规则判断)时,向异步消息通道发送异常消息,WEB服务仅需监控通道即可,无需频繁的查询数据库来获取是否有异常。PostgreSQL单机就可以支持更高的NVPS,例如百万级/s是非常轻松的。

5. 流式实时数据处理。

解决监控、物联网、金融 等业务场景实时计算和事件响应需求。

定义stream(流),然后基于stream定义对应的transform(事件触发模块),以及Continuous Views(实时统计模块)

数据往流里面插入,transform和Continuous Views就在后面实时的对流里的数据进行处理,对开发人员来说很友好,很高效。

值得庆祝的还有,所有的接口都是SQL操作,非常的方便,大大降低了开发难度。

6. PostGIS、图像特征值存储和处理(imgsmlr插件)。

互联网、AR红包、虚拟现实与GIS结合、广告营销 等业务场景。既有地理位置数据,又有图像处理需求。

例如AR红包是GIS与图像、社交、广告等业务碰撞产生的一个全新业务场景。

需要做广告投放的公司,可以对着广告牌,或者店铺中的某个商品拍照,然后藏AR红包。

要找红包的人,需要找到这家店,并且也对准藏红包的物体拍摄,比较藏红包和找红包的两张图片,就可以实现抢红包的流程。

PostGIS处理地理信息,imgsmlr处理图像,完美支持以上场景。

7. 火眼金睛,实时辨别相似数据。

在搜索引擎、数据公司、互联网中都会有网络爬虫的产品,或者有人机交互的产品。

有人的地方就有江湖,盗文、盗图的现象屡见不鲜,而更惨的是,盗图和盗文还会加一些水印。

也就是说,你在判断盗图、盗文的时候,不能光看完全一致,可能要看的是相似度。

这给内容去重带来了很大的麻烦。

PostgreSQL数据库整合了相似度去重的算法和索引接口,可以方便、高效的处理相似数据。

如相似的数组、相似的文本、相似的分词、相似的图像的搜索和去重,根据图片鉴黄等等。

8. 任意字段模糊查询杀手锏,GIN, GiST索引。

PostgreSQL可以针对整条记录、指定字段、多个字段,建立全文索引。

支持高效的全文检索;支持%x%的前后全模糊查询;支持正则表达式查询;

以上查询全部支持索引,亿级数据,毫秒级响应速度。

9. 云端高招,冷热分离、多实例数据共享。

助力分析师,快速建模与试错。

对传统企业来说,OLTP系统大多数使用的是Oracle等商业数据库,使用PostgreSQL可以与Oracle的功能、性能、SQL语法等做到高度兼容。

而对于分析场景,使用MPP产品HybridDB(基于GPDB),则可以很好的解决PB级以上的AP需求。

OLTP与OLAP的数据,通过OSS_EXT共享,多个实例可以同一份数据,分析师在分析时,不影响生产实例。

10. OLAP大补丸。多核并行、向量计算、JIT、列式存储、聚合算子复用。

OLAP系统,单个任务需要对大量的数据进行运算。

多核并行,解决大数据运算时的CPU瓶颈。

向量计算,使用CPU缓存,批量进行向量化计算,不借助外力的情况下,提升10倍以上性能。

JIT,大幅降低记录数庞大运算时,频繁函数式调用引入的切换开销。大幅提升性能。

列存储,大幅降低行存储deform引入的开销。大幅降低扫描的数据量,大幅降低缓存的使用量。

聚合算子复用,大幅降低多个聚合函数,CPU的计算开销。例如(sum,avg,count,min,max)

11. 实时用户画像与圈人。

助力广告主实时营销。

推荐系统的三个核心问题

精准,属于数据挖掘系统的事情,使用PostgreSQL MADlib机器学习库可以实现。

实时,实时的更新标签,在数据库中进行流式处理,相比外部流处理的方案,节约资源,减少开发成本,提高开发效率,提高时效性。

高效,使用PostgreSQL以及数组的GIN索引功能,实现在万亿USER_TAGS的情况下的毫秒级别的圈人功能。

12. 危化品管理行业数据库痛点和解决之道。

危化品的监管,包括位置信息处理、点面判断、按距离搜索、化学数据处理。

危化品种类繁多。包括如常见的易爆、易燃、放射、腐蚀、剧毒、等等。

由于危化品的危害极大,所以监管显得尤为重要,

1. 生产环节

将各个原来人工监控的环节数字化,使用 传感器、流计算、规则(可以设置为动态的规则) 代替人的监管和经验。

2. 销售环节

利用社会关系分析,在销售环节挖掘不法分子,挖掘骗贷、骗保的虚假交易。利用地理位置跟踪,掌控整个交易的货物运输过程。

3. 仓储环节

仓储环节依旧使用传感器、流计算、应急机制对仓管的产品进行实时的监管,而对于危化品本身,我们已经不能使用普通的数据类型来存储,很幸运的是在PostgreSQL的生态圈中,有专门支持化学行业的RDKit支持,支持存储化合物类型,以及基于化合物类型的数据处理
(包括化学反应,分解等等)。

4. 运输环节

在危化品的运输环节,使用传感器对货车、集装箱内的危化品的指标进行实时的监控,使用流式数据库pipelineDB流式的处理传感器实时上报的数据;使用PostgreSQL+PostGIS+pgrouting 对于货车的形式路径进行管理,绕开禁行路段、拥堵路段。

当出现事故时,使用PostgreSQL的GIS索引,快速的找出附近的应急救助资源(如交警、消防中队、医院、120)。

同时对危化品的货物存储,使用化学物类型存储,可以对这些类型进行更多的约束和模拟的合成,例如可以发现化学反应,防止出现类似天津爆炸事件。

5. 消耗环节

增加剩余量的监控,在闭环中起到很好的作用,达到供需平衡,避免供不应求,或者供过于求的事情发生。

6. 动态指挥中心

在给生产、仓库、物流配送、消耗环节添加了终端、传感器后,就建立了一个全面的危化品监管数据平台。 构建实时的监管全图。

7. 缉毒、发现不法分子等

通过社会关系学分析,结合RDKit插件,在数据库中存储了人的信息,存储了人与化学物的关系(比如购买过),然后,根据社会关系学分析,将一堆的化合物(原材料)结合起来,看看会不会发生反应,生成毒品或危化品。从而发现不法分子。

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
阿里云服务器如何登录?阿里云服务器的三种登录方法
购买阿里云ECS云服务器后如何登录?场景不同,大概有三种登录方式:
9206 0
使用SSH远程登录阿里云ECS服务器
远程连接服务器以及配置环境
12679 0
阿里云服务器怎么设置密码?怎么停机?怎么重启服务器?
如果在创建实例时没有设置密码,或者密码丢失,您可以在控制台上重新设置实例的登录密码。本文仅描述如何在 ECS 管理控制台上修改实例登录密码。
19864 0
阿里云服务器如何登录?阿里云服务器的三种登录方法
购买阿里云ECS云服务器后如何登录?场景不同,云吞铺子总结大概有三种登录方式: 登录到ECS云服务器控制台 在ECS云服务器控制台用户可以更改密码、更换系统盘、创建快照、配置安全组等操作如何登录ECS云服务器控制台? 1、先登录到阿里云ECS服务器控制台 2、点击顶部的“控制台” 3、通过左侧栏,切换到“云服务器ECS”即可,如下图所示 通过ECS控制台的远程连接来登录到云服务器 阿里云ECS云服务器自带远程连接功能,使用该功能可以登录到云服务器,简单且方便,如下图:点击“远程连接”,第一次连接会自动生成6位数字密码,输入密码即可登录到云服务器上。
32883 0
阿里云服务器端口号设置
阿里云服务器初级使用者可能面临的问题之一. 使用tomcat或者其他服务器软件设置端口号后,比如 一些不是默认的, mysql的 3306, mssql的1433,有时候打不开网页, 原因是没有在ecs安全组去设置这个端口号. 解决: 点击ecs下网络和安全下的安全组 在弹出的安全组中,如果没有就新建安全组,然后点击配置规则 最后如上图点击添加...或快速创建.   have fun!  将编程看作是一门艺术,而不单单是个技术。
18115 0
使用NAT网关轻松为单台云服务器设置多个公网IP
在应用中,有时会遇到用户询问如何使单台云服务器具备多个公网IP的问题。 具体如何操作呢,有了NAT网关这个也不是难题。
34668 0
阿里云服务器如何登录?阿里云服务器的三种登录方法
购买阿里云ECS云服务器后如何登录?场景不同,阿里云优惠总结大概有三种登录方式: 登录到ECS云服务器控制台 在ECS云服务器控制台用户可以更改密码、更换系.
24851 0
windows server 2008阿里云ECS服务器安全设置
最近我们Sinesafe安全公司在为客户使用阿里云ecs服务器做安全的过程中,发现服务器基础安全性都没有做。为了为站长们提供更加有效的安全基础解决方案,我们Sinesafe将对阿里云服务器win2008 系统进行基础安全部署实战过程! 比较重要的几部分 1.
11779 0
+关注
德哥
公益是一辈子的事, I&#39;m digoal, just do it.
2153
文章
245
问答
来源圈子
更多
阿里云数据库:帮用户承担一切数据库风险,给您何止是安心!支持关系型数据库:MySQL、SQL Server、PostgreSQL、PPAS(完美兼容Oracle)、自研PB级数据存储的分布式数据库Petadata、自研金融级云数据库OceanBase支持NoSQL数据库:MongoDB、Redis、Memcache更有褚霸、丁奇、德哥、彭立勋、玄惭、叶翔等顶尖数据库专家服务。
+ 订阅
相关文档: 云数据库 OceanBase 版 可信账本数据库 云原生关系型数据库 PolarDB PostgreSQL引擎
文章排行榜
最热
最新
相关电子书
更多
OceanBase 入门到实战教程
立即下载
阿里云图数据库GDB,加速开启“图智”未来.ppt
立即下载
实时数仓Hologres技术实战一本通2.0版(下)
立即下载