【实操系列】 AnalyticDB PostgreSQL发布实例暂停功能,助力成本优化

简介: 本文将对AnalyticDB PostgreSQL产品的暂停功能以及其背后的实现机制和最佳实践做详细介绍。

背景

在传统数仓中,往往采用资源预购的方式,缺少面向业务的资源调整灵活性。 在数据分析这种存在明显业务波峰波谷或分时请求的场景下,实例无法按需使用,造成了大量成本浪费。

云原生数仓AnalyticDB PostgreSQL产品自2022年2月正式发布了Serverless版之后,依托于内核强大的资源管理能力和面向云原生的管控系统,推出了Serverless实例计算暂停能力,并实现了秒级计费的改造和暂停期间计算资源免费。 这个能力为客户在计算空闲时期提供了大幅节约成本的能力,在以下场景中,效果明显:

  • 数据周期性归档: 可通过api进行启动和暂停,在归档结束后,可立即暂停;仅在偶发分析和归档期间进行计算使用,高效的节省归档成本,节省近80% 的使用成本;
  • 低成本POC测试: 用户不再需要对测试过程中的实例进行频繁释放,使用实例启停可降低近80%以上的POC成本,用户若在一周期内进行密集使用,则倾向于进行暂停从而简化每次初始化的复杂度,提升POC效率。


产品文档:https://help.aliyun.com/document_detail/445111.html


功能

实例暂停

支持用户通过控制台或者OpenAPI的方式对实例进行暂停或启动。在实例暂停中,我们会暂停用户实例的计算资源,并不再对计算进行任何收费,同时这个暂停不会影响实例的数据存储以及网络链接串;可实现启动后无需任何改动即可继续使用。


事件中心和告警

对暂停和启动相关的事件,提供了面向用户完整通知,告警和审计的流程; 用户可在控制台的事件中心中查阅手动启动、手动停止、计划启动、计划停止、扩缩容等操作进行事件侧展示。同时用户可根据这些事件配置云监控报警,及时追踪启停效果。


秒级计费

实例暂停时,只收取存储费用,不收取计算资源费用。为了保证更精确的使用统计,我们对底层的计费服务进行了改造,计费服务会实时感知实例启动和停止事件,按照秒级精度计算真正使用时长,然后按小时出账单。


技术架构

启停架构

用户可以通过控制台或直接使用OpenAPI触发实例启停,业务控制器会管理各项资源的生命周期,并以事件驱动秒级计量计费和事件告警。

image.png


资源生命周期管理

计算资源

实例运行在k8s上,涉及Pod优雅停止和新建、调度、pod信息重建:

  • 不直接依赖Pod的GraceTerminating来杀死实例,通过内核单独的操作来优雅Kill session,保护用户SQL请求;
  • 保留了完整的管控元数据,通过“申请临时实例,交换OwnerReference”的方式重建Pod;
  • 在资源池容量不够导致再次申请资源失败的情况,通过告警处理,保证5min完成资源扩容;

网络资源

在原生的k8s里,网络资源往往和Pod生命周期一致,随着Pod销毁而释放。有状态服务强依赖IP的场景下,社区大多采用IPPool的来实现IP保持,我们采用类似的将ENI和Pod关系一一对应的方式,单独管理ENI的保留和复用,保证:

  • 内核和链路使用原有IP,加速恢复启动时间;
  • Hold IP资源,防止耗尽导致恢复实例失败;

存储资源

包含用户数据、缓存数据、备份数据三部分。其中用户数据使用云盘或OSS存储,我们将保留复用;缓存可以释放,减少资源浪费;关于备份数据,我们将定期(典型的为7天)清理的策略改为保留最后一份备份集,这样实例在恢复启动时,还可以使用暂停前的备份数据,保障数据可靠性。


事件管理

在云原生生态里,可以看到越来越多的控制器基于事件驱动实现,我们也采用类似方案,采用阿里SLS作为CloudEvent通道,实现:

  • 秒级计费:基于启停事件计算各资源真正的使用时长;
  • 事件通知:提供了OpenAPI接口,并在控制台进行了可视化展示,做到可跟踪、可解释;
  • 云监控告警:用户可通过云监控,设置短信、电话、邮件、webhook等告警配置;


最佳实践

用户在购买一个Serverless实例后,可根据以下操作完成对实例的暂停和启动,并可在账单处见到所对应的计算资源使用账单;

提示: 目前Serverless 仅有按量付费支持暂停,包年包月由于资源预购,故暂停无显著效果;

点击购买Serverless实例 按量付费试用


手动暂停实例

登陆云原生数仓AnalyticDB PostgreSQL产品控制台,进入实例列表页面,在要暂停的实例的更多操作里,点击"暂停实例":

image.png

或者在实例详情页,通过"实例管理" -> "暂停实例":

image.png

下发任务后,实例会变成暂停中状态,大约2min后,实例变为已暂停状态:

image.png


手动启动实例

在实例详情页,通过"实例管理" -> "启动实例":

image.png


启停事件的查看和配置告警

在云原生数仓AnalyticDB PostgreSQL产品控制台的事件中心,通知事件类别里可查看所有的启停事件:

image.png

通过"配置告警"链接,可跳转到云监控页面,我们帮助用户自动填写了默认参数,可配置电话、短信、邮件

、webHook等报警信息:

image.png

OpenAPI

除了通过控制台,我们还提供了OpenAPI的方式操作启停;

暂停实例:

http(s)://gpdb.aliyuncs.com/?Action=PauseInstance
&DBInstanceId=gp-bp***************
&公共请求参数

启动实例:

http(s)://gpdb.aliyuncs.com/?Action=ResumeInstance
&DBInstanceId=gp-bp***************
&公共请求参数

Java SDK:

<dependency>
  <groupId>com.aliyun</groupId>
  <artifactId>gpdb20160503</artifactId>
  <version>1.0.25</version>
</dependency>

结束语

降本增效一直是客户和我们共同的目标。借助云的技术和自研的产品内核,我们得以提供高性价比的产品,让实例真正可以按需使用,按量付费。同时我们也十分注重用户体验,力求在便利性、功能完善度等方面做的更好,对实例的暂停和启动时间,在几分钟即可完成,做到了暂停和按需拉起无负担,让云上的技术红利进一步帮助企业增效降本。


相关实践学习
使用CLup和iSCSI共享盘快速体验PolarDB for PostgtreSQL
在Clup云管控平台中快速体验创建与管理在iSCSI共享盘上的PolarDB for PostgtreSQL。
AnalyticDB PostgreSQL 企业智能数据中台:一站式管理数据服务资产
企业在数据仓库之上可构建丰富的数据服务用以支持数据应用及业务场景;ADB PG推出全新企业智能数据平台,用以帮助用户一站式的管理企业数据服务资产,包括创建, 管理,探索, 监控等; 助力企业在现有平台之上快速构建起数据服务资产体系
目录
相关文章
|
18天前
|
关系型数据库 Serverless 分布式数据库
【公测】PolarDB PostgreSQL版Serverless功能免费使用​!
【公测】PolarDB PostgreSQL版Serverless功能免费使用​,公测于2024年3月28日开始,持续三个月,公测期间可以免费使用!
|
1月前
|
SQL 存储 大数据
数据仓库(10)数仓拉链表开发实例
拉链表是数据仓库中特别重要的一种方式,它可以保留数据历史变化的过程,这里分享一下拉链表具体的开发过程。 维护历史状态,以及最新状态数据的一种表,拉链表根据拉链粒度的不同,实际上相当于快照,只不过做了优化,去除了一部分不变的记录,通过拉链表可以很方便的还原出拉链时点的客户记录。
162 13
数据仓库(10)数仓拉链表开发实例
|
3月前
|
存储 关系型数据库 MySQL
PolarDB优势功能
PolarDB优势功能
|
3月前
|
SQL 运维 关系型数据库
基于AnalyticDB PostgreSQL的实时物化视图研发实践
AnalyticDB PostgreSQL企业数据智能平台是构建数据智能的全流程平台,提供可视化实时任务开发 + 实时数据洞察,让您轻松平移离线任务,使用SQL和简单配置即可完成整个实时数仓的搭建。
359 1
|
1月前
|
关系型数据库 Serverless 分布式数据库
PolarDB PostgreSQL版Serverless功能上线公测啦,公测期间免费使用!
Serverless数据库能够使得数据库集群资源随客户业务负载动态弹性扩缩,将客户从复杂的业务资源评估和运维工作中解放出来。PolarDB PostgreSQL版 Serverless提供了CPU、内存、存储、网络资源的实时弹性能力,构建计算与存储分离架构下的 PolarDB PostgreSQL版产品新形态。
|
18天前
|
存储 JSON 关系型数据库
PostgreSQL Json应用场景介绍和Shared Detoast优化
PostgreSQL Json应用场景介绍和Shared Detoast优化
|
26天前
|
关系型数据库 MySQL OLAP
PolarDB +AnalyticDB Zero-ETL :免费同步数据到ADB,享受数据流通新体验
Zero-ETL是阿里云瑶池数据库提供的服务,旨在简化传统ETL流程的复杂性和成本,提高数据实时性。降低数据同步成本,允许用户快速在AnalyticDB中对PolarDB数据进行分析,降低了30%的数据接入成本,提升了60%的建仓效率。 Zero-ETL特性包括免费的PolarDB MySQL联邦分析和PolarDB-X元数据自动同步,提供一体化的事务处理和数据分析,并能整合多个数据源。用户只需简单配置即可实现数据同步和实时分析。
|
2月前
|
SQL 关系型数据库 分布式数据库
在PolarDB for PostgreSQL中,你可以使用LIKE运算符来实现类似的查询功能,而不是使用IF函数
在PolarDB for PostgreSQL中,你可以使用LIKE运算符来实现类似的查询功能,而不是使用IF函数
42 7
|
2月前
|
关系型数据库 Linux Shell
Centos系统上安装PostgreSQL和常用PostgreSQL功能
Centos系统上安装PostgreSQL和常用PostgreSQL功能
|
3月前
|
关系型数据库 MySQL 分布式数据库
PolarDB MySQL企业版与标准版功能对比:如何选择适合您的版本?
随着数字化时代的到来,企业对于数据处理的需求越来越高,而数据库作为数据处理的核心,其性能和成本成为了企业关注的焦点。阿里云全新推出的PolarDB MySQL企业版和标准版,以全新的架构和优化,为企业提供了高性能、低成本的数据库解决方案。但在功能上,这两个版本有很多差异,我们该如何选择呢?
55 2

相关产品

  • 云原生数据仓库 AnalyticDB PostgreSQL版
  • 云数据库 RDS PostgreSQL 版