从0~1,基于DMS面向AnalyticDB PostgreSQL的数据ETL链路开发

本文涉及的产品
阿里云百炼推荐规格 ADB PostgreSQL,4核16GB 100GB 1个月
数据管理 DMS,安全协同 3个实例 3个月
推荐场景:
学生管理系统数据库
函数计算FC,每月15万CU 3个月
简介: 在传统数仓中,往往采用资源预购的方式,缺少面向业务的资源调整灵活性。 在数据分析这种存在明显业务波峰波谷或分时请求的场景下,实例无法按需使用,造成了大量成本浪费。云原生数仓AnalyticDB PostgreSQL产品自2022年2月正式发布了Serverless版之后,依托于内核强大的资源管理能力...

背景

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

云原生数仓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>

结束语

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

相关实践学习
基于云监控实现的监控系统
通过阿里云云监控功能给非阿里云主机安装监控插件,从而实现对非阿里云主机的各项指标进行监控和管理,在配置报警规则和报警人的情况下,能对特定的场景做出报警反应通知到报警人的手机上。
相关文章
|
1月前
|
人工智能 关系型数据库 分布式数据库
拥抱Data+AI|“全球第一”雅迪如何实现智能营销?DMS+PolarDB注入数据新活力
针对雅迪“云销通App”的需求与痛点,本文将介绍阿里云瑶池数据库DMS+PolarDB for AI提供的一站式Data+AI解决方案,助力销售人员高效用数,全面提升销售管理效率。
|
14天前
|
人工智能 数据库 自然语言处理
拥抱Data+AI|DMS+AnalyticDB助力钉钉AI助理,轻松玩转智能问数
「拥抱Data+AI」系列文章由阿里云瑶池数据库推出,基于真实客户案例,展示Data+AI行业解决方案。本文通过钉钉AI助理的实际应用,探讨如何利用阿里云Data+AI解决方案实现智能问数服务,使每个人都能拥有专属数据分析师,显著提升数据查询和分析效率。点击阅读详情。
拥抱Data+AI|DMS+AnalyticDB助力钉钉AI助理,轻松玩转智能问数
|
4月前
|
物联网 数据管理 Apache
拥抱IoT浪潮,Apache IoTDB如何成为你的智能数据守护者?解锁物联网新纪元的数据管理秘籍!
【8月更文挑战第22天】随着物联网技术的发展,数据量激增对数据库提出新挑战。Apache IoTDB凭借其面向时间序列数据的设计,在IoT领域脱颖而出。相较于传统数据库,IoTDB采用树形数据模型高效管理实时数据,具备轻量级结构与高并发能力,并集成Hadoop/Spark支持复杂分析。在智能城市等场景下,IoTDB能处理如交通流量等数据,为决策提供支持。IoTDB还提供InfluxDB协议适配器简化迁移过程,并支持细致的权限管理确保数据安全。综上所述,IoTDB在IoT数据管理中展现出巨大潜力与竞争力。
125 1
|
1月前
|
人工智能 数据挖掘 数据库
拥抱Data+AI|破解电商7大挑战,DMS+AnalyticDB助力企业智能决策
本文为数据库「拥抱Data+AI」系列连载第1篇,该系列是阿里云瑶池数据库面向各行业Data+AI应用场景,基于真实客户案例&最佳实践,展示Data+AI行业解决方案的连载文章。本篇内容针对电商行业痛点,将深入探讨如何利用数据与AI技术以及数据分析方法论,为电商行业注入新的活力与效能。
拥抱Data+AI|破解电商7大挑战,DMS+AnalyticDB助力企业智能决策
|
27天前
|
存储 关系型数据库 数据库
【赵渝强老师】PostgreSQL的数据文件
PostgreSQL的物理存储结构主要包括数据文件、日志文件等。数据文件按oid命名,超过1G时自动拆分。通过查询数据库和表的oid,可定位到具体的数据文件。例如,查询数据库oid后,再查询特定表的oid及relfilenode,即可找到该表对应的数据文件位置。
|
1月前
|
人工智能 数据库 决策智能
拥抱Data+AI|如何破解电商7大挑战?DMS+AnalyticDB助力企业智能决策
本文为阿里云瑶池数据库「拥抱Data+AI」系列连载第1篇,聚焦电商行业痛点,探讨如何利用数据与AI技术及分析方法论,为电商注入新活力与效能。文中详细介绍了阿里云Data+AI解决方案,涵盖Zero-ETL、实时在线分析、混合负载资源隔离、长周期数据归档等关键技术,帮助企业应对数据在线重刷、实时分析、成本优化等挑战,实现智能化转型。
拥抱Data+AI|如何破解电商7大挑战?DMS+AnalyticDB助力企业智能决策
|
1月前
|
关系型数据库 分布式数据库 数据库
云栖大会|从数据到决策:AI时代数据库如何实现高效数据管理?
在2024云栖大会「海量数据的高效存储与管理」专场,阿里云瑶池讲师团携手AMD、FunPlus、太美医疗科技、中石化、平安科技以及小赢科技、迅雷集团的资深技术专家深入分享了阿里云在OLTP方向的最新技术进展和行业最佳实践。
|
2月前
|
存储 人工智能 安全
【荣誉奖项】荣获2024数据治理优秀产品!瓴羊Dataphin联合DAMA发布数据管理技能认证
瓴羊Dataphin连续俩年获得DAMA年度优秀数据治理产品奖,本次与DAMA联合发布“DAMA x 瓴羊 数据管理技能认证”,助力提升全民数据素养。
172 0
【荣誉奖项】荣获2024数据治理优秀产品!瓴羊Dataphin联合DAMA发布数据管理技能认证
|
2月前
|
数据采集 安全 数据管理
通信行业数据治理:如何实现高效、安全的数据管理?
在未来的发展中,通信行业的企业应加强数据治理意识,提高数据治理能力;同时,积极开展跨行业的合作创新,共同推动行业的繁荣与发展。相信在不久的将来,通信行业将迎来更加美好的明天。
|
4月前
|
Java 测试技术 容器
从零到英雄:Struts 2 最佳实践——你的Web应用开发超级变身指南!
【8月更文挑战第31天】《Struts 2 最佳实践:从设计到部署的全流程指南》深入介绍如何利用 Struts 2 框架从项目设计到部署的全流程。从初始化配置到采用 MVC 设计模式,再到性能优化与测试,本书详细讲解了如何构建高效、稳定的 Web 应用。通过最佳实践和代码示例,帮助读者掌握 Struts 2 的核心功能,并确保应用的安全性和可维护性。无论是在项目初期还是后期运维,本书都是不可或缺的参考指南。
56 0