深入解析 RDS Serverless 之 Data API

本文涉及的产品
函数计算FC,每月15万CU 3个月
Serverless 应用引擎免费试用套餐包,4320000 CU,有效期3个月
简介: RDS Serverless Data API 已发布

前言


云数据库以及Serverless数据库的出现,对传统IT行业产生了巨大影响。用户可以在云中快速启动并运行数据库,而无需关心任何基础设施。随着Serverless以及FaaS的不断成熟,云数据库的发展方向也相应的发生了变化,降本增效越来越受到重视。同时在外界环境的快速变化下,应用程序的快速开发、快速迭代、高扩展性也成为了主要的需求。


阿里云 RDS Serverless Data API 正是在这种背景下诞生的。RDS Serverless Data API 提供了数据库操作接口,用户可以通过HTTPS请求或SDK的方式和数据库进行交互。通过该服务可以降低开发者使用数据库的门槛,同时也减少了开发者管理应用服务器的成本,最终实现化繁为简,降本增效的目标。


传统模式 vs DataAPI模式操作数据库代码量对比:传统模式(鉴权、缓存、连接池等能力还需额外编码)

1.JPG

DataAPI(内置鉴权、缓存、连接池、格式化结果集等各种能力)

2.PNG

什么是Data API ?


Data API 提供了一种安全的、快速扩展的、具有标准化查询和响应格式的API,将应用程序直接与云数据库连接。


Data API 代表了下一代应用程序构建的方式。借助于 Data API,应用程序可以打破与数据库的紧密耦合,并具备易用性、数据安全性、可扩展性、可移植性等特性。


Data API 为数据提供了一个无状态的服务层,这样做不仅可以协调存储和查询,而且还能让应用具备负载均衡的能力,并且让水平扩展变得极其容易。


阿里云 RDS Serverless Data API 无需配置,开箱即用。它可以提供无限的吞吐量并保持始终可用,保障您的应用程序可以在不可预测的负载下平稳运行。


化繁为简 降本增效


RDS Serverless Data Service 的核心目的是帮助用户减少成本,降低开发难度,提高生产效率。


降低使用数据库门槛

通过 RDS Data Service,用户不再需要配置数据库相关的连接信息、连接池等,使用简单的 RDS Data API 即可将数据存储和业务逻辑结合到一起,就算是初级开发人员也能快速上手业务逻辑开发,大大缩短开发周期。


降低使用成本

通过使用 RDS Serverless Data API,一些特定的系统可以免去后端服务,直接从前端请求到数据库,简化系统架构的同时,由于不再需要服务端业务逻辑开发,减少了应用程序开发的人力成本,降低了维护基础设施的风险,而且更便于扩展和快速迭代。

3.JPG

系统架构简化


降低系统风险

对于组件越多越复杂的系统,出故障的风险就越大。通过使用 RDS Data API,将数据持久层从业务逻辑中抽离,可以极大的降低业务系统的复杂度,从而降低系统风险。


整体架构

4.JPG

RDS Data API Service 整体架构


安全认证体系

RDS Serverless Data Service 使用AK/SK + ARN鉴权模式。用户无需在应用程序中存储数据库凭证,只需要使用 Secrets Manager 来存储在调用 RDS Data API 时需要传入的 ARN。RDS Data API 会透明地调用 Secrets Manager,根据用户传入的 AK/SK 和 ARN 进行鉴权。同时,使用 AK/SK + ARN 鉴权模式意味着用户无需在调用 RDS Data API 的时候传入数据库的用户名、密码。由此以来,安全性得以保障。

5.JPG

安全认证流程


服务核心架构

RDS Serverless Data API 的主要服务流程如下:

  1. 接收请求,进行参数初始化,同时保存用户配置
  2. 鉴权,通过则获取数据库连接,失败则直接响应失败信息
  3. SQL 参数合法性校验,验证参数类型是否合法,是否为空等
  4. SQL 参数赋值,将传入的实参赋值给对应的形参
  5. SQL 执行,并获取执行结果
  6. 结果集获取及处理
  7. 根据用户配置,构建返回值,最后响应客户端

6.JPG

服务核心架构


服务能力模型

  • SQL执行

RDS Serverless Data API 支持执行单条 SQL 语句、批处理 SQL 语句,用户可以控制是否返回所需的数据(列元数据、JSON 格式结果集等)。


  • SQL事务

RDS Serverless Data API 支持事务开启、事务提交、事务回滚,用户可以通过在执行 SQL 语句时传入事务ID,将 SQL 置于事务中执行。


  • 事务自动开启

为了保证数据的正确一致性,RDS Serverless Data API 会在用户未指定事务时,自动将 SQL 放置于事务之中执行。如果事务执行过程出错,会自动回滚。


  • 事务超时机制

开发中经常会遇到数据库锁等待超时的问题,为了避免这个问题,RDS Serverless Data API 在从用户开启事务之后开始计时,如果该事务对应的事务ID在一定时间内(3分钟)没有被使用,则会将其认定为超时。如果事务在其提交之前超时,该事务会自动回滚。


  • 结果集大小限制

通过过往开发经验可以看到,很多应用程序会因为读入内存的数据量过大导致内存溢出,进而造成应用程序崩溃,影响业务。因此,RDS Serverless Data API 对查询结果集大小进行了限制(最大不超过 1M),最大程度保障您的应用程序平稳运行。


  • SQL超时运行

如果 DDL 语句在完成运行之前超时中断,可能会导致错误并且损坏数据结构。因此,RDS Data API Service 提供了开关,用于控制是否在请求超时后继续运行SQL。


  • SQL参数化

用户无需根据不同的值来构造重复的SQL语句,RDS Serverless Data API 支持带参数的SQL。在运行时,SQL中的形参会被替换为传入的实参值。


极致性能


RDS Data API 提供近似于原生数据库驱动的性能。


连接池

当第一次调用 API 访问某个数据库实例时,RDS Serverless Data API 会为该数据库实例维护一个连接池,并保持一定数量的连接。当后续请求到来时,不需要和数据库建立新的连接,而是直接从连接池获取连接,以此来获得极致的响应速度。当数据库实例在一段时间内没被访问时,其对应的连接会被销毁,从而释放数据库实例的系统资源。


鉴权缓存

为了安全性,每次调用 RDS Serverless Data API 都会进行鉴权。因此,为了最大程度提高性能, RDS Data API 对鉴权结果进行了缓存。鉴权结果会保留一段时间,在这段时间内,如果用户再次请求并且命中缓存,则直接从缓存中获取鉴权结果,并重置其过期时间。


批处理SQL语句

RDS Serverless Data API 提供了执行批处理 SQL 的 API,用户可以使用一组参数集来运行 DML 语句(INSERT、UPDATE)。与单独的 INSERT 和 UPDATE 语句相比,批处理 SQL 语句可以显著提高性能。这在批量的数据插入和数据更新场景下极为有用。


了解更多


未来 RDS Serverless Data API 会继续大力发展,在产品功能、形态以及兼容性等方面不断提升,持续加强稳定性,让客户更省心,从而更专注于自身业务的发展,合作共赢。


RDS Serverless Data API 已经发布,您可以通过点击「查看详情」来查看产品功能。


作者信息

刘文灼,花名斩夜,RDS全栈工程师,熟悉RDS管控前后端各种技术栈。关于Serverless、Data API任何相关问题,都可以邮件咨询:vogts.wangt@alibaba-inc.com


 / End /  

相关文章
|
1月前
|
存储 关系型数据库 数据库
高性能云盘:一文解析RDS数据库存储架构升级
性能、成本、弹性,是客户实际使用数据库过程中关注的三个重要方面。RDS业界率先推出的高性能云盘(原通用云盘),是PaaS层和IaaS层的深度融合的技术最佳实践,通过使用不同的存储介质,为客户提供同时满足低成本、低延迟、高持久性的体验。
|
5月前
|
Cloud Native 安全 Serverless
云原生应用实战:基于阿里云Serverless的API服务开发与部署
随着云计算的发展,Serverless架构日益流行。阿里云函数计算(Function Compute)作为Serverless服务,让开发者无需管理服务器即可运行代码,按需付费,简化开发运维流程。本文从零开始,介绍如何使用阿里云函数计算开发简单的API服务,并探讨其核心优势与最佳实践。通过Python示例,演示创建、部署及优化API的过程,涵盖环境准备、代码实现、性能优化和安全管理等内容,帮助读者快速上手Serverless开发。
|
5月前
|
机器学习/深度学习 人工智能 自然语言处理
企业级API集成方案:基于阿里云函数计算调用DeepSeek全解析
DeepSeek R1 是一款先进的大规模深度学习模型,专为自然语言处理等复杂任务设计。它具备高效的架构、强大的泛化能力和优化的参数管理,适用于文本生成、智能问答、代码生成和数据分析等领域。阿里云平台提供了高性能计算资源、合规与数据安全、低延迟覆盖和成本效益等优势,支持用户便捷部署和调用 DeepSeek R1 模型,确保快速响应和稳定服务。通过阿里云百炼模型服务,用户可以轻松体验满血版 DeepSeek R1,并享受免费试用和灵活的API调用方式。
373 12
|
11月前
|
消息中间件 运维 Serverless
函数计算产品使用问题之如何部署Stable Diffusion Serverless API
函数计算产品作为一种事件驱动的全托管计算服务,让用户能够专注于业务逻辑的编写,而无需关心底层服务器的管理与运维。你可以有效地利用函数计算产品来支撑各类应用场景,从简单的数据处理到复杂的业务逻辑,实现快速、高效、低成本的云上部署与运维。以下是一些关于使用函数计算产品的合集和要点,帮助你更好地理解和应用这一服务。
|
11月前
|
缓存 Serverless API
函数计算产品使用问题之怎么通过API使用SD
函数计算产品作为一种事件驱动的全托管计算服务,让用户能够专注于业务逻辑的编写,而无需关心底层服务器的管理与运维。你可以有效地利用函数计算产品来支撑各类应用场景,从简单的数据处理到复杂的业务逻辑,实现快速、高效、低成本的云上部署与运维。以下是一些关于使用函数计算产品的合集和要点,帮助你更好地理解和应用这一服务。
|
8月前
|
监控 安全 Serverless
"揭秘D2终端大会热点技术:Serverless架构最佳实践全解析,让你的开发效率翻倍,迈向技术新高峰!"
【10月更文挑战第23天】D2终端大会汇聚了众多前沿技术,其中Serverless架构备受瞩目。它让开发者无需关注服务器管理,专注于业务逻辑,提高开发效率。本文介绍了选择合适平台、设计合理函数架构、优化性能及安全监控的最佳实践,助力开发者充分挖掘Serverless潜力,推动技术发展。
328 1
|
11月前
|
运维 Serverless API
函数计算产品使用问题之如何通过API传递ControlNet参数
函数计算产品作为一种事件驱动的全托管计算服务,让用户能够专注于业务逻辑的编写,而无需关心底层服务器的管理与运维。你可以有效地利用函数计算产品来支撑各类应用场景,从简单的数据处理到复杂的业务逻辑,实现快速、高效、低成本的云上部署与运维。以下是一些关于使用函数计算产品的合集和要点,帮助你更好地理解和应用这一服务。
|
11月前
|
人工智能 Serverless API
AI 创业及变现新思路:零门槛 AI 绘图,定制 ComfyUI Serverless API 应用
为了帮助用户高效率、低成本应对企业级复杂场景,本文介绍 ComfyUI API Serverless 版解决方案,通过使用该方案,用户可以充分利用 ComfyUI +Serverless 技术优势快速开发上线 AI 绘画应用,期待为广大开发者 AI 绘画创业及变现提供思路。
|
存储 数据挖掘 OLAP
阿里云 EMR Serverless StarRocks OLAP 数据分析场景解析
阿里云 E-MapReduce Serverless StarRocks 版是阿里云提供的 Serverless StarRocks 全托管服务,提供高性能、全场景、极速统一的数据分析体验,具备开箱即用、弹性扩展、监控管理、慢 SQL 诊断分析等全生命周期能力。内核 100% 兼容 StarRocks,性能比传统 OLAP 引擎提升 3-5 倍,助力企业高效构建大数据应用。本篇文章对阿里云EMR Serverless StarRocks OLAP 数据分析场景进行解析、存算分离架构升级以及 Trino 兼容,无缝替换介绍。
19375 12
|
11月前
|
存储 C# 关系型数据库
“云端融合:WPF应用无缝对接Azure与AWS——从Blob存储到RDS数据库,全面解析跨平台云服务集成的最佳实践”
【8月更文挑战第31天】本文探讨了如何将Windows Presentation Foundation(WPF)应用与Microsoft Azure和Amazon Web Services(AWS)两大主流云平台无缝集成。通过具体示例代码展示了如何利用Azure Blob Storage存储非结构化数据、Azure Cosmos DB进行分布式数据库操作;同时介绍了如何借助Amazon S3实现大规模数据存储及通过Amazon RDS简化数据库管理。这不仅提升了WPF应用的可扩展性和可用性,还降低了基础设施成本。
250 0

相关产品

  • 函数计算
  • 推荐镜像

    更多