PG+MySQL第1课

分享人:Digoal(周正中)


正文:

本篇内容将从7个部分为读者介绍关于RDS for PG(PostgreSQL)的一些不得不知道的新特性,希望可以让大家对RDS for PG(PostgreSQL)有更深入的了解,并可以将这些特性应用到项目中,达到降本提效的目的。


一、 什么是 RDS

二、 RDS 产品形态

三、 RDS for PG 技术架构

四、 RDS for PG 产品特性

五、 RDS PG相比自建PG优势

六、 RDS for PG 产品生态

七、 PG 与 MySQL结合使用解决哪些问题?

 

一、什么是RDS?


RDS是阿里云提供的关系型数据库服务,支持MySQL,PostgreSQL,MS SQL。面向企业设计,统一的管控平台,完整支持数据库生命周期管理。(可靠性、安全、性能检测与优化、扩展、管理功能等方面。)为企业用户提供开箱即用的数据库能力。适用于无暇关心数据库的原理,备份,安全审计,克隆等操作的企业用户。

PG+MySQL第1课


二、RDS for PG 输出形态


对于RDS for PG的输出形态,我们包括了:公共云,虚拟运营商,大客户专属模式,软件化输出,专有云等形态。

如果不想用开源的版本,想用阿里提供的版本。我们的“专有云”形态,分为标准版和敏捷版。敏捷版的起步机器数量更少,飞天板的起步机器数量较多,承载的模块和输出的模块会更多。

 

三、RDS for PG 技术架构


RDS for PG 技术架构是在统一的平台下进行管控。PG基础版的数据存储主要保存在云盘里。PG高可用版为双机版。数据分为一主一从,数据的复制走了PG的流复制来做的。主从的复制一共有三种模式可选:同步,半同步,异步。其中半同步模式可以设置降级的超时时间。

PG只读实例会挂载在主节点,不管是基础版还是高可用版,都是挂载在主节点的后面,去同步数据至只读节点。然后用户可以去访问这个只读节点,从而执行一些只读的操作。当读压力非常大的时候,可以创建多个只读节点,且每一个实例都会对应对应到一个endpoint。

应用备份分为云盘版和本地盘版。云盘版的备份为两种,一是全量备份,它是通过快照来进行备份。二是增量备份就是数据库的归档,像维度日志那样。本地盘版的全量备份是通过copy数据文件到OSS海量存储里。

 RDS for PG 技术架构拥有独特的冷热分离的存储方式。其中冷数据意为,三个月以上的历史数据。因为冷数据明细查询的诉求会降低,且占用空间多,备份,还原的成本相对较高。所以我们建议可以把这类冷数据存储到阿里云OSS海量对象存储器里。当需要查询的时候通过建外部表的方式去查找数据,同时冷数据也会以表的形式展现出来。

当OSS的数据需要和别的数据库的数据同时使用时。可以用ADB,函数计算,MAXCompute等计算平台进行连接。

OSS的生态工具:DBS负责做数据备份,DMS负责管理数据库,DTS是数据传输服务的管理工具。它们是可以帮助我们做一些跨平台的数据传输管理,备份管理及前端管理的一些工具。

PG+MySQL第1课 

 

四、RDS for PG 产品特性


1. 高可用:支持高可用版、基础版。HA版支持主备多可用区。保护模式可选(云盘高可用版):最大保护、最高可用、最大性能。支持强同步、半同步、异步。

2. 容量和性能:有三种存储,一种是ESSD,一种SSD,还有一种是本地盘,那么关于SSD建议大家可以去申请一个月的免费试用期。因为部分地区的老可用区并没有适用ESSD的相关硬件。所以建议各位因地制宜,实事求是。相应规格请见下图。

3. 备份恢复:全量的备份加归档,支持时间点的恢复,时间点的克隆。

4. 安全、可靠:支持SSL加密访问链路,数据本身通过云盘加密实现整个数据库的加密,以及网络访问安全组。如果我们对数据加密要求非常严格的话,我们支持SGX全加密。

5. 只读、容灾:本地盘版八核独享以上,支持跨可用区的只读实例。云盘版不限规格,支持跨可用区的只读实例。

PG+MySQL第1课

6. CloudDBA:企业用户可以用DBA的性能识别能力,去识别数据库的性能瓶颈到底在什么地方,从而快速的找出问题。

7. OPENAPI:支持Terraform平台。

8. 便捷管理:支持SQL翻译的功能。便于开发人员在不同语法间的转换。

9. 应用增强:用户画像(实时营销圈人),支持了高效查询,在上亿的数据量里面,做任意维度的检索,都可以做到秒级的返回。

10. 并行计算加速:在基础版和高可用版本均能支持此功能。

 

接下来我们将针对一些关键点的特性进行解读。

 

RDS for PG 特性解读 - 1 【性能洞察】


性能洞察的功能,它可以在我们的数据库里面,做间歇性的活跃绘画采集,活跃绘画包括:你在执行什么?在哪个用户在哪个数据库上面执行?来自于什么主机?在执行的过程当中等待什么样的事件?诸如此类的问题。这些等待信息全部都会记录下来。所以横坐标代表时间线。纵坐标是平均等待的绘画个数。图像面积越大代表,这个时间点的等待数量最多。

如图所示,浅蓝色为等待的CPU。说明SQL在这个时刻是最突出的一个。如果要排查问题,解决问题。比如说这是来自哪个主机的?为什么要发起这样的请求?这个时间点它发起的数量是不是有问题?所以这是一个非常直观的性能动态,即使没有非常专业,我们也是能够去解决很多这种常见的问题。

PG+MySQL第1课

 

RDS for PG 特性解读 - 2 【并行计算,支撑混合负载业务】


从版本11开始,并行计算的能力得到了一个质的飞跃。在32和64的版本里,我们测试了39种场景,平均提速20倍,几乎覆盖了所有的复杂查询。并且并行度完全自动,同时我们也可以强制去跑多少个并行。比如说半夜要出报表,分析师要响应老板需求,需要去帮他出一些场景里的报表,这个时候我们就可以强制指定并行路线,让它快速运行。

PG+MySQL第1课

接下来我们看一下在不同的场景的性能提升的表现。

例如全景扫描,条件过滤基本在两秒之内完成。最后一列性能提升都在20倍以上 。比如说你建了一张10亿的表,它有个id字段。然后才是组建,另外也建了一个10亿的表,它也是个id字段,也是个组件,然后通过这两个组件去做,这个join之后它其实出来结果还是10亿,但是呢这个时候得用并行并行计算的jion就只要90秒,然后如果我们不用并行计算,你会发现它要1000秒,所以它的性能的提升是非常高的。

PG+MySQL第1课

PG+MySQL第1课

PG+MySQL第1课

PG+MySQL第1课

如果你有很多外部表,它可以挂在一个分区表下面。然后在PG里面做并行的计算,来去提升整个管道的能力,这个也是并行的。覆盖的场景可以理解为,不管你跑一个什么样的SQL ,它都可以并行。把它当成一个分析互动来用就可以了。从这个数据量来看,我们其实是在一个几百个g以内的数据,可以做实时的分析的,而且成本非常低。

 

RDS for PG 特性解读 - 3 【多模。应用增强特性】


应用特性增强,是指说我们针对一些应用场景,比如说时空类的,时序类的,我们支持一些这个模块儿来支撑这样一类的业务场景。第二类就是图谱类,实时营销类,用户画像类,那么这里面的话一些插件或者模块来去支撑,后台的索引有倒排索引,时空索引。第三类就是图像,多维相似分析,向量搜索。我们支持图像识别的插件,Pase是我们跟蚂蚁跟合作的插件可以用来支持高维向量的相似检索。最后是文本分析类,包括中文分词、模糊查询等插件。此外RUM索引是倒排索引的增强版,比如匹配关键词的记录,它是一些行号。那么RUM的话,它除了存这一行号以外,它还可以存你的这条记录,比如要存某一个字段上面的value,然后它把那个附加value也可以存进来,所以我们还可以做一些不查询这个条件以外的附加条件,结合起来的过滤。

PG+MySQL第1课

 

RDS for PG 特性解读 - 4 【无死角全加密-特殊版本】


你加密之后能藏哪些?能防哪一些攻击?能防哪一些攻击?我们常见的加密手段,如果你都是在数据库端来做的话,那么我们第一在网络中传输的key有可能被窃取,第二,在数据库里,如果你要做透明的索引而且都还要能用的话,在索引里面你就得用表达式索引,然后表达式里面你就得存解密的key。其实最后索引里面存的还是的东西。用户一旦攻击了你的数据库,其实你的铭文数据还是可以被拿走的。

还有一类攻击叫操作系统层的攻击。比如说你的操系统被攻击了,然后他可以把你的数据文件什么都拖走,还有像机房的攻击或者存储的攻击等。

而云盘加密本身,我们如果key和数据是分开存的,其实只拿走云盘,是没用的,他是拿不到数据的。如果所我们想防止云管理员,或者是机房管理员、存储管理员、超级管理员等等角色,去读出里面的有效数据,就需要用到无死角加密的加解密这个特殊的版本了。

无死角加密的加解密是在CPU的内部完成,也是全球目前唯一的一个用CPU的内部功能来去实现的加解密。目前支持的数据类型,只有一些常用数据类型,包括number浮点,int类型,文本类型,还有时间戳。其他类型的话暂时还没有支持。

PG+MySQL第1课 

 

RDS for PG 特性解读 - 5 【专业GIS模块 - Ganos】


这个功能点也是一个垂直化的功能点,是时空类的,这个时空类的这种场景包括我们支持平面几何模型、球面几何模型、栅格模型、时空轨迹模型、点云模型以及拓扑网络模型。它的应用场景也非常广泛,比如说车联网,卫星遥感的三格数据,车辆的轨迹的跟踪等等。

PG+MySQL第1课 


Ÿ 举例说明1


PG+MySQL第1课 


Ÿ 举例说明2


PG+MySQL第1课


Ÿ 举例说明3


PG+MySQL第1课

 

RDS for PG 特性解读 - 6 【内核插件-PG 11为例】


PG+MySQL第1课

PG+MySQL第1课


五、RDS PG相比自建PG优势


PG+MySQL第1课 


六、RDS for PG 产品生态


PG+MySQL第1课


七、PG 与 MySQL结合使用解决哪些问题?


今天最关键的一个点就是PG 与 MySQL结合使用解决哪些问题?PG 与 MySQL结合,能够去支撑更多的应用场景来满足我们迫切的业务需求。比如:分析能力,复杂查询的能力,高精度时空数据的处理能力,实质的广告业务,分词模糊查询和图像识别等。同时还支持医药行业的化学分子式的分析。

PG+MySQL第1课

今天第一课让大家了解RDS P*品,以及如何与MySQL结合使用。 让大家对产品有一个基本的概念。接下来我们会讲解到如何连接PG,GUI,CLI的使用 ;如何压测PG数据库;MySQL与PG类型、语法、函数等对应关系等等。

上一篇:PG+MySQL第2课


下一篇:为什么订餐不会凉凉和牛顿发现万有引力有关