开发者社区> 问答> 正文

RDS的数据源如何配置?


云数据库(Relational Database Service,即关系型数据库服务,简称RDS)是阿里云对外提供的一种即开即用、稳定可靠、可弹性伸缩的在线数据库服务( 了解RDS )。 [font=PingFangSC, 'helvetica neue', 'hiragino sans gb', arial, 'microsoft yahei ui', 'microsoft yahei', simsun, sans-serif]创建应用前须知: [font=PingFangSC, 'helvetica neue', 'hiragino sans gb', arial, 'microsoft yahei ui', 'microsoft yahei', simsun, sans-serif]

  • 开放搜索对外只支持右侧3个区域,华东 1 、华东 2 、华北 1 、华北 2
[font=PingFangSC, 'helvetica neue', 'hiragino sans gb', arial, 'microsoft yahei ui', 'microsoft yahei', simsun, sans-serif]应用基于RDS 及购买RDS 实例前须知: [font=PingFangSC, 'helvetica neue', 'hiragino sans gb', arial, 'microsoft yahei ui', 'microsoft yahei', simsun, sans-serif]
  • RDS 实例在购买时建议选择5.6版,并且必须是常规实例 (双机高可用版) (5.2 以下版本,5.7及以上版本都不支持,目前创建RDS 实例默认是高版本,例如 5.7)。
  • 不支持通过 RDS 高权限账号连接访问。(否者会报连接RDS服务失败)
  • RDS服务所在的区域必须与OpenSearch应用的区域保持一致。
  • RDS 必须隶属于当前登录阿里云账号下,才能访问使用。(即处于同一账号下)。
  • (华北 1)区域(暂不支持vpc专有网络模式的RDS 实例,暂不支持创建标准版应用,暂不支持RAM子账号功能)
  • 不支持 RDS clone实例,如果配置了RDS clone实例,应用激活后,会导致应用状态一直处于初始化
  • 外网区域的 RDS 实例需要申请内网地址后才能访问,否者会报“连接RDS服务失败,请稍后再试”。

OpenSearch针对RDS数据源(支持/不支持),如下所示( 外网区域,暂不支持DRDS):
  • 使用RAM子账号在控制台中配置rds数据源,必须要再对该RAM子账号进行授权,否者会报“连接RDS服务失败,请稍后再试”,参考 授权访问鉴权规则 文档
  • 标准版应用在配置 RDS 数据源后,就不能再使用SDK API 推送增量,即 RDS(支持增量索引构建) 和 API 只能选择其中一种
  • 目前只支持Mysql类型的实例,且只能是常规实例 (双机高可用版)
  • 支持手动/定时拉取指定数据库指定表的全量数据
  • 支持增量实时同步(默认勾选)
  • 外网区域标准版应用中若配置RDS数据源,则数据源中的过滤条件配置,暂不支持
  • 支持将 一个数据源 或 多个数据源中的一个或多个源表数据横向合并到一个OpenSearch目标表中,要求各源表主键值均不重复,重复主键值会覆盖
  • 不支持不同源表结构字段列合并,即应用表中配有一个数据源,且配有多个源表,则这些表结构必须完全相同。以及应用表中配有多个数据源,则多个数据源中的所有源表结构及数据源插件配置也必须完全相同,并且都要求各源表主键值均不重复,重复主键值会覆盖。
  • 支持数据字段转换插件
  • 支持全量/增量过滤条件
  • 支持部分分表名正则匹配
  • 不支持 replace into 用法
  • 若高级版应用的RDS 实例期间欠过费,但后续有将该欠费补上,此时必须要向我们提工单反馈进行特殊处理,否者后续推送的增量将无法同步。但若是标准版应用,只需要触发一次索引重建,生成的新应用可正常同步增量
  • RDS 密码不能包含 “ % ” 百分号,会导致索引重建任务失败(报错信息: Illegal hex characters in escape (%) pattern)。


配置说明


在创建应用->配置数据源或者应用管理->数据源都可以进行 RDS 数据源的配置。步骤如下:
1 . 在“数据来源”中选择RDS,点击“添加数据”:
2 . 配置数据源信息
插件名称说明
实例IDRDS数据库的实例ID(不是名称),可以在RDS控制台中获取(大小写敏感),暂不支持只读实例,需填写的实例ID格式参考: rm-bp19b4g5n11111111
数据库名该实例下需要连接的数据库名(大小写不敏感)
表名该数据库下需要访问的表名(大小写敏感),支持table_name[start-end]、table_name*的分表方式,如table_[00-07]、table_[0-7]等,应用表中也可配置多个数据源, 但最终这些表的表结构及配置必须要完全相同
过滤条件该过滤条件会同时作用于全量和增量数据(如果开启同步),支持如下格式:数据库字段 OP(<、>、<=、>=、=、!=) 数值。多个过滤条件的AND关系需要使用英文逗号(,)分隔,表示且的关系(暂不支持或的关系),例如当过滤条件为 type=2,is_delete=0 时,则只能拉取符合该条件的记录。
用户名数据库只读账号,用于获取数据库表模式及全量数据(大小写敏感且具有只读权限)
密码只读帐户对应的密码
数据自动同步是否自动同步用户数据库的增量数据
授权对OpenSearch获取RDS数据做授权操作,在用户设置了IP白名单的情况下,OpenSearch会将所用IP添加到用户白名单中。若不勾选授权,则“连接数据”不会高亮显示。

[backcolor=transparent]OpenSearch的全量数据过滤方式为将过滤条件直接增加在SQL语句的where条件中, 如果应用无需使用增量数据,过滤条件数值部分可以替换为表达式,与数据库中支持的表达式一致。
3 . 配置完成后,点击“连接数据”,OpenSearch会尝试连接,并根据具体情形给出结果提示:
提示信息处理方法
当前用户的当前区域没有此RDS实例请检查实例ID是否正确并确保用户RDS服务所在的区域与OpenSearch应用的区域保持一致;如果一致但仍然报错可提工
连接RDS服务失败请检查RDS连接串是否正确包括实例ID、数据库名、用户名、密码
当前RDS数据库下没有此表请检查表名填写是否正确/RDS数据库中是否确实存在该表

4 . 若连接成功,则进行字段配置,OpenSearch会自动获取表字段。

注意事项

  • RDS支持内/外网的域名切换,OpenSearch对 RDS 数据获取均不收取任何流量费用;
  • OpenSearch目前仅支持从主库拉取全量数据,建议用户根据业务繁忙情况选择低峰期数据导入操作。
  • 对于RDS表中的datetime及timestamp类型系统会自动转化为毫秒数,请将对应OpenSearch字段类型设置为INT。
  • truncate命令暂不支持,需要删除数据请使用delete命令;
  • 系统要求主键是唯一的,对于分表情况下,如果各个分表主键有重复,可以对OpenSearch主键字段使用StringCatenateExtractor插件,来源字段为”pk,$table”(其中pk请替换为 RDS 表中主键字段,$table为默认系统变量,表示当前表名)拼接字符为“-”(可自定义)。如rds表为my_table_0,主键字段值为“123456”,那么拼接后的新主键值为“123456-my_table_0”。

展开
收起
轩墨 2017-10-25 10:22:19 2048 0
0 条回答
写回答
取消 提交回答
问答排行榜
最热
最新

相关电子书

更多
搭建电商项目架构连接MySQL 立即下载
搭建4层电商项目架构,实战连接MySQL 立即下载
PolarDB MySQL引擎重磅功能及产品能力盛大发布 立即下载

相关镜像