RDS数据订阅服务使用说明

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,高可用系列 2核4GB
简介: RDS数据订阅服务使用说明RDS数据订阅服务主要解决的RDS上的数据同步到HBase,用户可以在HBase上查到RDS的数据,满足大数据查询分析的需求使用场景历史数据沉淀业务使用MySQL承担交易等关键的在线业务,同时有数据分析的需求,需要做一些复杂查询,但不能影响在线业务。

RDS数据订阅服务使用说明

RDS数据订阅服务主要解决的RDS上的数据同步到HBase,用户可以在HBase上查到RDS的数据,满足大数据查询分析的需求

使用场景

历史数据沉淀

业务使用MySQL承担交易等关键的在线业务,同时有数据分析的需求,需要做一些复杂查询,但不能影响在线业务。利用BDS异构数据源迁移,把RDS数据实时同步到HBase,可以轻松应对大数据查询需求。

image.png

迁移方式

RDS历史数据迁移

RDS实时增量数据迁移

  • DTS服务提供对RDS binlog收集,实时抓取源RDS实例的binlog,并提供数据订阅的功能
  • BDS迁移服务订阅DTS所收集的数据,将实时的数据写入到HBase

迁移步骤

RDS历史数据迁移

客户自行使用开源的工具完成数据的迁移

RDS实时增量数据迁移

  1. 客户 - 开通DTS订阅通道
  2. 客户 - DTS通道上设置延迟报警
  3. 客户 - 获取DTS通道id、Access Key、Access Key Secret、RegionID等信息
  4. 客户 - 申请一台ECS并且绑定公网,ECS和云HBase属于同一个VPC,能够打通和HBase集群的网络
  5. 云HBase值班同学 - 协助部署BDS迁移服务,并对客户提供迁移服务的交互界面
  6. 客户 - 在HBase里面创建表信息
  7. 客户 - 录入HBase集群信息、DTS通道信息,提交迁移任务

版本支持

HBase版本:1.x、2.x
RDS版本:订阅通道的限制

BDS迁移服务使用说明

录入HBase集群信息

image.png

HDFS HA 的填写例子
集群名:xxxxx
HDFS URI:hdfs://100.81.140.116:8025,100.81.140.120:8025
HBase在HDFS根目录:/hbase
dfs.nameservices: hbase-cluster
clusterKey:  100.81.140.116,100.81.140.120,100.81.140.122:2185:/hbase

HDFS 非HA 的填写例子
集群名:xxxxx
HDFS URI:hdfs://100.81.140.116:8025
HBase在HDFS根目录:/hbase
dfs.nameservices:
clusterKey: 100.81.140.116,100.81.140.120,100.81.140.122:2185:/hbase


DTS增量数据订阅

image.png

RDS迁移到HBase Mapping例子

[
  {
    "rds_table_name": "hhh_test.phoenix_test",
    "hbase_table_name": "default:phoenix_test",
    "config": {
      "skip_delete": true
    },
    "columns_mapping": [
      {
        "name": "cf1:hhh",
        "src_columns": [
          "id",
          "title"
        ],
        "expression": "{{ concat(title, id) }}"
      },
      {
        "name": "cf1:*",
        "src_columns": [
          "*"
        ]
      }
    ],
    "rowkey_mapping": {
      "src_columns": [
        "id"
      ],
      "expression": "{{ concat('idg', id) }}"
    }
  }
]

Mapping说明

参数 描述 必选
rowkey_mapping 定义rowkey的计算方式,src_columns指定用源表哪些列计算rowkey,expression是可选的计算表达式,该计算表达式为jtwig语法,当用户需要对源表的列进行简单计算得到rowkey时可以用
hbase_table_name 目的hbase表名
rds_table_name RDS的表名
columns_mapping 定义源到目的表的转换映射信息,name为hbase列名,需要注意带上列组名,src_columns为源表的列,和rowkey的定义一样,也支持expression表达式
skip_delete 是否跳过删除操作,true为跳过,false为不跳过 否,默认为true,即跳过删除语句
  • 支持简单的表达式,如下
{
    "name": "cf1:address",
     "src_columns": ["address"],
    "expression": "{{ concat('idg', id) }}"
 }
  • 支持动态列,没有匹配到的列会走默认的匹配
{
    "name": "cf1:*",
    "src_columns": ["*"]
}
  • DML支持情况
操作 支持 备注
INSERT 对应HBase的PUT
UPDATE 对应HBase的PUT
DELETE 用户可以配置是否同步源端的DELETE,默认不同步
  • DDL支持情况
操作 支持 备注
CREATE TABLE 用户在MySQL新建表后,如果需要同步到HBase,需自行在HBase建立对应的表
DROP TABLE
ALTER TABLE ADD COLUMN 同步到默认列组,如果没有默认列组则忽略同步该列
ALTER TABLE DROP COLUMN
ALTER TABLE RENAME COLUMN 新数据同步到默认列组,如果没有默认列组则忽略同步该列,老数据不变
ALTER TABLE MODIFY COLUMN HBase无类型,所以源表列类型变更无影响
所有索引DDL
相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
2月前
|
安全 关系型数据库 MySQL
如何将数据从MySQL同步到其他系统
【10月更文挑战第17天】如何将数据从MySQL同步到其他系统
218 0
|
14天前
|
消息中间件 关系型数据库 Kafka
一种小资源情况下RDS数据实时同步StarRocks方案
使用一台4C8 G服务器轻松实现2个MySQL实例中通过负责分库分表规则之后的5000多张表的数据实时同步到StarRocks
142 67
|
28天前
|
存储 Oracle 关系型数据库
【赵渝强老师】MySQL InnoDB的数据文件与重做日志文件
本文介绍了MySQL InnoDB存储引擎中的数据文件和重做日志文件。数据文件包括`.ibd`和`ibdata`文件,用于存放InnoDB数据和索引。重做日志文件(redo log)确保数据的可靠性和事务的持久性,其大小和路径可由相关参数配置。文章还提供了视频讲解和示例代码。
132 11
【赵渝强老师】MySQL InnoDB的数据文件与重做日志文件
|
10天前
|
SQL 关系型数据库 MySQL
mysql分页读取数据重复问题
在服务端开发中,与MySQL数据库进行数据交互时,常因数据量大、网络延迟等因素需分页读取数据。文章介绍了使用`limit`和`offset`参数实现分页的方法,并针对分页过程中可能出现的数据重复问题进行了详细分析,提出了利用时间戳或确保排序规则绝对性等解决方案。
|
15天前
|
关系型数据库 MySQL 数据库
GBase 数据库如何像MYSQL一样存放多行数据
GBase 数据库如何像MYSQL一样存放多行数据
|
28天前
|
缓存 NoSQL 关系型数据库
Redis和Mysql如何保证数据⼀致?
在项目中,为了解决Redis与Mysql的数据一致性问题,我们采用了多种策略:对于低一致性要求的数据,不做特别处理;时效性数据通过设置缓存过期时间来减少不一致风险;高一致性但时效性要求不高的数据,利用MQ异步同步确保最终一致性;而对一致性和时效性都有高要求的数据,则采用分布式事务(如Seata TCC模式)来保障。
58 14
|
1月前
|
SQL 前端开发 关系型数据库
SpringBoot使用mysql查询昨天、今天、过去一周、过去半年、过去一年数据
SpringBoot使用mysql查询昨天、今天、过去一周、过去半年、过去一年数据
54 9
|
1月前
|
关系型数据库 MySQL Linux
Linux系统如何设置自启动服务在MySQL数据库启动后执行?
【10月更文挑战第25天】Linux系统如何设置自启动服务在MySQL数据库启动后执行?
94 3
|
1月前
|
关系型数据库 MySQL Linux
在 CentOS 7 中通过编译源码方式安装 MySQL 数据库的详细步骤,包括准备工作、下载源码、编译安装、配置 MySQL 服务、登录设置等。
本文介绍了在 CentOS 7 中通过编译源码方式安装 MySQL 数据库的详细步骤,包括准备工作、下载源码、编译安装、配置 MySQL 服务、登录设置等。同时,文章还对比了编译源码安装与使用 RPM 包安装的优缺点,帮助读者根据需求选择最合适的方法。通过具体案例,展示了编译源码安装的灵活性和定制性。
105 2
|
2月前
|
SQL Java 关系型数据库
java连接mysql查询数据(基础版,无框架)
【10月更文挑战第12天】该示例展示了如何使用Java通过JDBC连接MySQL数据库并查询数据。首先在项目中引入`mysql-connector-java`依赖,然后通过`JdbcUtil`类中的`main`方法实现数据库连接、执行SQL查询及结果处理,最后关闭相关资源。

热门文章

最新文章