本页目录





介绍

云数据库RDS(ApsaraDB for RDS,简称RDS)是一种稳定可靠、可弹性伸缩的在线数据库服务。基于飞天分布式系统和全SSD盘高性能存储,支持MySQL、SQL Server、PostgreSQL和PPAS(高度兼容Oracle)引擎。目前实时计算支持的RDS引擎包括: MySQL。

通常受限于关系型模型,RDS对于大容量高并发请求的支持不如TableStore,因此在实时计算中,大部分情况是将RDS作为结果表。但对于小批量数据、低并发的情况下,实时计算可以使用RDS作为维表。

RDS维表DDL定义

RDS输出表DDL定义

注意:

  1. RDS在公有云使用需要您授予实时计算代为您访问RDS权限,具体请参看角色授权。否则可能出现报错”No Permission”的情况。

2.在实时计算中,下游数据库使用MySQL等关系数据库(对应的CONNECTOR为TDDL和RDS),当实时计算频繁写某个表或者资源时,存在死锁风险。高QPS/TPS或高并发写入情况场景,一般不建议使用TDDL或者RDS作为Flink Job的结果表,建议使用表格存储(TableStore)作为结果表,可以解决死锁的问题。

RDS的使用

1. 数据存储方式:

(若使用当前主张号的存储资源)强烈建议在使用RDS的时候使用注册数据存储的功能,避免在升级扩容后连接不上给用户造成不必要的损失!如果出现没有使用的注册数据存储情况,一切后果概不负责.最终解释权由实时计算团队所有.

RDS是什么架构 rds是saas还是paas_RDS是什么架构

信息填写如下:

  • 地域

选择RDS的地域,建议您尽可能选择和自己购买实时计算相同的地域。

  • Instance

填写RDS实例ID,注意是实例ID,非实例名称。

目前实时计算支持RDS的VPC网络,请参看下属章节实时计算使用RDS的VPC模式。

  • DataBase

填写连接的数据库名称。注意,是RDS的数据库名称,非Instance的名称。

目前RDS使用白名单进行安全保证,实时计算需要为RDS自动添加白名单,请参看实时计算使用RDS的VPC模式。否则实时计算可能连接不了RDS。

  • Username

数据库登录名称。为了和数据库通信协议兼容,RDS在登录用户名/密码处,不支持使用阿里云的AccessId、AccessKey方式,推荐您为实时计算读写RDS提供单独的用户名和密码,分账号管理更容易保证RDS系统安全。

  • Password

数据库登录密码。为了和数据库通信协议兼容,RDS在登录用户名/密码处,不支持使用阿里云的AccessId、AccessKey方式,推荐您为实时计算读写RDS提供单独的用户名和密码,分账号管理更容易保证RDS系统安全!

注册成功后,选择想要注册的结果表

引用为结果表:

RDS是什么架构 rds是saas还是paas_RDS是什么架构_02

最后结果:

RDS是什么架构 rds是saas还是paas_系统安全_03

如果使用数据存储的方式发生以下报错情况,如下图:

RDS是什么架构 rds是saas还是paas_数据库_04

引起该报错的原因是您在创建RDS实例时选择的不是经典网络,而是专有网络(VPC模式),对于这种实例应该进行授权操作,步骤如下:

第一步:

RDS是什么架构 rds是saas还是paas_RDS是什么架构_05

第二步:

RDS是什么架构 rds是saas还是paas_大数据_06

第三步:

RDS是什么架构 rds是saas还是paas_大数据_07

地域即RDS地域

Instance ID地址:

查看RDS的Instance ID地址页面

如下图:

RDS是什么架构 rds是saas还是paas_RDS_08

端口号查询如下图:

RDS是什么架构 rds是saas还是paas_系统安全_09

RDS是什么架构 rds是saas还是paas_数据库_10

2. 明文方式:

若使用主账号下的存储资源,则不建议使用明文的方式使用RDS。

若使用的不是当前主账号的存储资源,跨属主的数据存储不能注册。例如A用户拥有RDS的实例A,但B用户希望在实时计算使用实例A,目前实时计算暂不支持这种情况下使用数据存储注册的方式注入,需要使用明文的方式。

B用户需要将作业with参数中的url,username,password,tablename参数按照实例A的信息填写,如下图:

RDS是什么架构 rds是saas还是paas_数据库_11

说明:使用VPC下的RDS时,url需填写VPC授权页面的Mapping IP:Mapping Port。例如:url='jdbc:mysql//Mapping IP:Mapping Port/库名。
Mapping IP和Mapping Port的查询如下图:

RDS是什么架构 rds是saas还是paas_数据库_12

使用明文的方式需要用户进行白名单设置。具体步骤如下:

如何添加RDS的白名单

部分数据存储为了自我的安全需求,提供白名单机制,即仅允许用户指定的白名单IP地址中的访问链接,其他不在白名单均予以拒绝,但同样机制会拦住其他阿里云产品写入数据存储的需求。以RDS为例,新建的RDS数据库是完全拒绝任何外部连接的,此时必须要添加访问白名单,即加入访问者的IP才能够访问RDS。同样,对于实时计算需要将RDS作为维表、结果表使用时候,需要多次读写数据库,因此对于存在白名单机制的数据存储而言,必须将实时计算的WebConsole以及执行节点(Worker)加入白名单才能够连接RDS。说明如下:

RDS支持两种访问地址,包括内网地址、外网地址。针对RDS,您只需要补充实时计算白名单网段地址即可,具体范围如下:

华东:

1. 10.152.0.0/16,10.154.0.0/16,11.132.0.0/16,11.178.0.0/16,11.217.0.0/16,11.219.0.0/16,11.223.69.0/24,11.223.70.0/24,11.222.0.0/16
 
  
华北:
 
  
 
    
 
    
   
1. 11.223.0.0/16



华南:






  1. 11.200.0.0/16



操作如下图所示:

  • 登录RDS管理控制台,选择目标实例。
  • 在实例菜单中选择 数据安全性。
  • 在数据安全性页面的默认分组后单击修改,如下图所示。您也可以使用自定义分组,单击默认分组后的清空,删除默认分组中的白名单,然后单击添加白名单分组新建自定义分组。

RDS是什么架构 rds是saas还是paas_系统安全_13

  • 在添加白名单分组 页面删除默认白名单 127.0.0.1,填写自定义白名单后,单击 确定,如下图所示。 127.0.0.1 为新建 RDS 实例的默认值,需要用户在正式使用前进行修改。如果白名单只包含了 127.0.0.1,则该实例禁止任何 IP 访问。

RDS是什么架构 rds是saas还是paas_RDS_14

  • 参数说明如下:
  • 分组名称:由 2~32 个字符的小写字母,数字或下划线组成、开头需为小写字母,结尾需为字母或数字。默认分组不可修改,且不可删除。
  • 组内白名单:填写可以访问数据库的 IP 地址或者 IP 段,IP 地址或者 IP 段间用英文逗号分隔。

其他的有关RDS白名单详细说明请参考RDS相关文档。

注意事项

问题描述

  • 运行中报错异常栈,如图所示:

    RDS是什么架构 rds是saas还是paas_RDS是什么架构_15

解决方案



  • 将自己所在区域的IP添加至白名单,具体步骤请参考该文档中的如何添加RDS的白名单进行添加。

华东:






  1. 10.152.0.0/16,10.154.0.0/16,11.132.0.0/16,11.178.0.0/16,11.217.0.0/16,11.219.0.0/16,11.223.69.0/24,11.223.70.0/24,11.222.0.0/16



华北:


1. 11.223.0.0/16
 
   
华南:
 
   
 
     
 
     
    
1. 11.200.0.0/16