介绍
云数据库RDS(ApsaraDB for RDS,简称RDS)是一种稳定可靠、可弹性伸缩的在线数据库服务。基于飞天分布式系统和全SSD盘高性能存储,支持MySQL、SQL Server、PostgreSQL和PPAS(高度兼容Oracle)引擎。目前实时计算支持的RDS引擎包括: MySQL。
通常受限于关系型模型,RDS对于大容量高并发请求的支持不如TableStore,因此在实时计算中,大部分情况是将RDS作为结果表。但对于小批量数据、低并发的情况下,实时计算可以使用RDS作为维表。
注意:
- RDS在公有云使用需要您授予实时计算代为您访问RDS权限,具体请参看角色授权。否则可能出现报错”No Permission”的情况。
2.在实时计算中,下游数据库使用MySQL等关系数据库(对应的CONNECTOR为TDDL和RDS),当实时计算频繁写某个表或者资源时,存在死锁风险。高QPS/TPS或高并发写入情况场景,一般不建议使用TDDL或者RDS作为Flink Job的结果表,建议使用表格存储(TableStore)作为结果表,可以解决死锁的问题。
RDS的使用
1. 数据存储方式:
(若使用当前主张号的存储资源)强烈建议在使用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实例时选择的不是经典网络,而是专有网络(VPC模式),对于这种实例应该进行授权操作,步骤如下:
第一步:
第二步:
第三步:
地域即RDS地域
Instance ID地址:
如下图:
端口号查询如下图:
2. 明文方式:
若使用主账号下的存储资源,则不建议使用明文的方式使用RDS。
若使用的不是当前主账号的存储资源,跨属主的数据存储不能注册。例如A用户拥有RDS的实例A,但B用户希望在实时计算使用实例A,目前实时计算暂不支持这种情况下使用数据存储注册的方式注入,需要使用明文的方式。
B用户需要将作业with参数中的url,username,password,tablename参数按照实例A的信息填写,如下图:
说明:使用VPC下的RDS时,url需填写VPC授权页面的Mapping IP:Mapping Port。例如:
url='jdbc:mysql//Mapping IP:Mapping Port/库名
。
Mapping IP和Mapping Port的查询如下图:
使用明文的方式需要用户进行白名单设置。具体步骤如下:
如何添加RDS的白名单
部分数据存储为了自我的安全需求,提供白名单机制,即仅允许用户指定的白名单IP地址中的访问链接,其他不在白名单均予以拒绝,但同样机制会拦住其他阿里云产品写入数据存储的需求。以RDS为例,新建的RDS数据库是完全拒绝任何外部连接的,此时必须要添加访问白名单,即加入访问者的IP才能够访问RDS。同样,对于实时计算需要将RDS作为维表、结果表使用时候,需要多次读写数据库,因此对于存在白名单机制的数据存储而言,必须将实时计算的WebConsole以及执行节点(Worker)加入白名单才能够连接RDS。说明如下:
RDS支持两种访问地址,包括内网地址、外网地址。针对RDS,您只需要补充实时计算白名单网段地址即可,具体范围如下:
华东:
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
华北:
11.223.0.0/16
华南:
11.200.0.0/16
操作如下图所示:
-
登录RDS管理控制台,选择目标实例。
-
在实例菜单中选择 数据安全性。
-
在数据安全性页面的默认分组后单击修改,如下图所示。您也可以使用自定义分组,单击默认分组后的清空,删除默认分组中的白名单,然后单击添加白名单分组新建自定义分组。
- 在添加白名单分组 页面删除默认白名单 127.0.0.1,填写自定义白名单后,单击 确定,如下图所示。 127.0.0.1 为新建 RDS 实例的默认值,需要用户在正式使用前进行修改。如果白名单只包含了 127.0.0.1,则该实例禁止任何 IP 访问。
-
参数说明如下:
-
分组名称:由 2~32 个字符的小写字母,数字或下划线组成、开头需为小写字母,结尾需为字母或数字。默认分组不可修改,且不可删除。
-
组内白名单:填写可以访问数据库的 IP 地址或者 IP 段,IP 地址或者 IP 段间用英文逗号分隔。
-
其他的有关RDS白名单详细说明请参考RDS相关文档。
注意事项
问题描述
解决方案
- 将自己所在区域的IP添加至白名单,具体步骤请参考该文档中的如何添加RDS的白名单进行添加。
华东:
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
华北:
11.223.0.0/16
华南:
11.200.0.0/16