【最佳实践】DTS轻松实现RDS for MySQL与阿里云Elasticsearch数据实时同步

本文涉及的产品
Elasticsearch Serverless通用抵扣包,测试体验金 200元
简介: 本文介绍如何使用 DTS 快速创建RDS for MySQL->阿里云Elasticsearch的实时同步作业,实现RDS for MySQL数据到阿里云Elasticsearch的实时同步。

简介:

本文介绍如何使用 DTS 快速创建RDS for MySQL->阿里云Elasticsearch的实时同步作业,实现RDS for MySQL数据到阿里云Elasticsearch的实时同步。

本文字数: 2239
阅读时间: 5~8分钟

您将了解
1、支持实时同步的类型
2、支持SQL操作的类型
3、配置步骤

以下是正文


数据传输服务 DTS (以下简称 DTS)
支持RDS for MySQL与阿里云Elasticsearch实时同步数据,通过 DTS 提供的 RDS for MySQL->阿里云Elasticsearch实时同步功能,可以将企业线上RDS for MySQL中的生产数据实时同步到阿里云Elasticsearch中进行搜索。

支持实时同步类型

同一个阿里云账号下 RDS for MySQL->阿里云Elasticsearch实例。

支持SQL操作类型

主要支持的SQL操作类型如下:

  • Inset
  • Delete
  • Update

说明 目前暂不支持 DDL同步,如果同步过程中遇到DDL操作,DTS会忽略掉。

如果后续遇到DDL某个表,则对应表的DML操作可能失败,修复方法为:

  1. 参考减少同步对象先将这个对象从同步列表中摘除。
  2. 删除阿里云Elasticsearch中这个表对应的索引。
  3. 参考 新增同步对象, 修改这个同步作业,将这个表重新添加到同步对象中,进行重新初始化。

如果是修改表、新增列的DDL,建议DDL的操作顺序为:

  1. 先在阿里云Elasticsearch中手动修改对应表的mapping,新增列。
  2. 再在源RDS for MySQL实例中手动修改表结构,新增列。
  3. 暂停DTS同步实例,重启DTS同步实例让DTS重新加载阿里云Elasticsearch中修改后的mapping关系。

配置步骤

下面详细介绍创建RDS for MySQL实例到阿里云Elasticsearch实例同步链路的具体步骤。

  1. 购买同步链路
    进入数据传输服务 DTS控制台,进入数据同步界面,点击控制台右上角创建同步作业先购买一个同步链路,购买完同步链路后返回DTS控制台,进行配置同步链路。

说明:在配置同步链路之前需要先购买一个同步链路,同步链路目前支持包年包月及按量付费两种付费模式,可以根据需要选择不同的付费模式。

购买界面参数
  • 功能
    选择数据同步
  • 源实例
    选择MySQL
  • 源实例地域
    本示例为RDS for MySQL,需选择RDS for MySQL实例所在地域。
  • 目标实例
    选择Elasticsearch
  • 目标实例
    地域阿里云Elasticsearch实例所在地域,订阅后不支持更换地域,请谨慎选择。
  • 同步拓扑
    选择单项同步
  • 网络类型
    默认为专线,目前仅支持专线模式
  • 同步链路规格
    同步链路规格影响了链路的同步性能,同步链路规格跟性能之间的对应关系详见数据同步规格说明。
  • 订购时长
    如果是预付费,默认为1个月,支持勾选开启自动续费功能。
  • 购买数量
    默认为1,根据业务实际需要进行选择。

说明 DTS控制台的同步实例按照地域展示,刚才购买的同步实例所属的地域为同步实例的目标地域。例如上面购买的是 杭州RDS for MySQL->杭州阿里云Elasticsearch的同步实例,那么这个同步实例在DTS的杭州地区。进入杭州区域的实例列表,查找刚才购买的同步实例,然后点击新购实例右侧的 配置同步作业开始配置实例。

  1. 配置同步链路
    image.png

同步作业名称
同步作业名称没有唯一性要求,为了更方便识别具体的作业,建议选择一个有业务意义的作业名称,方便后续的链路查找及管理。、

源实例信息
本示例采用数据源为 RDS for MySQL,需要配置RDS实例的ID、数据库账号、数据库密码。

image.png

目标实例信息
目标实例信息中需要配置阿里云Elasticsearch的实例ID,及访问阿里云ES实例账号密码

image.png
以上内容配置完成后,点击授权白名单并进入下一步进行RDS for MySQL及阿里云Elasticsearch的白名单添加。

  1. 授权实例白名单

说明 如果是RDS for MySQL,DTS会自动添加白名单或安全组。

如果源实例为RDS for MySQL,那么DTS将自身的IP段添加到RDS实例的白名单的安全组中,避免因为RDS实例设置了白名单,DTS服务器连接不上数据库导致同步作业创建失败。为了保证同步作业的稳定性,在同步过程中,请勿将这些服务器 IP 从 RDS实例的白名单的安全组中删除。
当白名单授权后,点击下一步,进入同步账号创建。

  1. 选择同步对象
    当白名单授权完成后,即进入同步对象的选择步骤。在这个步骤可以配置需要同步的表列,以及索引的命名规则。
  2. 索引名称命名规则可以选择:表名、库名_表名。
  • 如果选择了表名,那么索引名称同表名。
  • 如果选择了库名表名,那么索引名称的命名格式为:库名表名。例如,库名为:dbtest,表名为:sbtest1,那么这张表同步到阿里云Elasticsearch后,对应的索引名称为:dbtest_sbtest1。
  • 如果需要同步的不同库中存在相同名称的表名,建议索引名称命名规则选择:库名_表名。
  1. 选择具体需要同步的库表列,实时同步的同步对象的选择粒度可以支持到表级别,即用户可以选择同步某些库或某几张表。
    实时同步的同步对象的选择粒度可以支持到表级别,即用户可以选择同步某些库或某几张表。

image.png

  1. 默认所有表的docid为表的主键,如果部分表没有主键,那么对于这部分配置docid 对应的源表的列。在右侧-已选择对象 框中,将鼠标挪到对应表上,点击右侧的 编辑 入口,进入这个表的高级设置界面。

image.png

  1. 在高级配置中可以设置:
    索引名称、Type名称、分区列及分区数定义、_id取值列。其中 _id 取值如果选择 业务主键,那么需要选择对应的业务主键列。

e.配置完同步对象后,进入高级配置步骤。

  1. 高级配置
    主要配置

a. 同步初始化类型,建议选择 结构初始化+全量数据初始化,由DTS自动进行索引的创建及全量数据的初始化。如果不选择结构初始化,那么需要在同步创建之前,先手动在阿里云Elasticsearch中完成索引mapping的定义。如果不选择全量数据初始化,那么DTS同步增量数据的起始时间点为:启动同步的时间点。

b. 索引分片配置,默认为5个分片,1个副本。可以根据业务需要进行调整,一旦调整后,所有的索引按照这个配置定义分片。

c.字符串analyzer定义,可以选择字符串的analyzer,默认为Standard Analyzer。取值包括:Standard Analyzer、Simple Analyzer、Whitespace Analyzer、Stop Analyzer、Keyword Analyzer、English Analyzer、Fingerprint Analyzer,所有索引的字符串字段按照这个配置定义Analyzer。

image.png

d. 时区,可以配置同步到阿里云Elasticsearch中的时间字段存储的时区,默认为东八区。

  1. 预检查同步作业配置完成后,DTS会进行预检查,当预检查通过后,可以点击 启动 按钮,启动同步作业。
    同步作业启动后,即进入同步作业列表,此时刚启动的作业处于同步初始化状态。初始化的时间长度取决于源实例中同步对象的数据量大小,初始化完成后,同步链路即进入同步中的状态,此时源跟目标实例的同步链路才真正建立。
  2. 数据效验以上任务完执行成后,登录阿里云ES控制台,确认对应阿里云ES实例中有无创建对应索引,及同步的数据是否符合预期。

加入我们

9.png

【云上ELK双11限时优惠】

  • 新购用户,预付首月 75折
  • 新购/续购/升级用户,预付6个月85折
  • 新购/续购/升级用户,预付12个月8折

2019年阿里云云栖大会上,Elasticsearch背后的商业公司Elastic与阿里云Elasticsearch确定战略合作升级,在100%兼容开源的基础上,完成了ELK的完整生态云上闭环,欢迎开通使用。
点击了解更多产品信息

相关实践学习
使用阿里云Elasticsearch体验信息检索加速
通过创建登录阿里云Elasticsearch集群,使用DataWorks将MySQL数据同步至Elasticsearch,体验多条件检索效果,简单展示数据同步和信息检索加速的过程和操作。
ElasticSearch 入门精讲
ElasticSearch是一个开源的、基于Lucene的、分布式、高扩展、高实时的搜索与数据分析引擎。根据DB-Engines的排名显示,Elasticsearch是最受欢迎的企业搜索引擎,其次是Apache Solr(也是基于Lucene)。 ElasticSearch的实现原理主要分为以下几个步骤: 用户将数据提交到Elastic Search 数据库中 通过分词控制器去将对应的语句分词,将其权重和分词结果一并存入数据 当用户搜索数据时候,再根据权重将结果排名、打分 将返回结果呈现给用户 Elasticsearch可以用于搜索各种文档。它提供可扩展的搜索,具有接近实时的搜索,并支持多租户。
目录
打赏
0
0
0
0
496
分享
相关文章
阿里云DTS踩坑经验分享系列|DTS打通SQL Server数据通道能力介绍
SQL Server 以其卓越的易用性和丰富的软件生态系统,在数据库行业中占据了显著的市场份额。作为一款商业数据库,外部厂商在通过解析原生日志实现增量数据捕获上面临很大的挑战,DTS 在 SQL Sever 数据通道上深研多年,提供了多种模式以实现 SQL Server 增量数据捕获。用户可以通过 DTS 数据传输服务,一键打破自建 SQL Server、RDS SQL Server、Azure、AWS等他云 SQL Server 数据孤岛,实现 SQL Server 数据源的流动。
256 0
阿里云DTS踩坑经验分享系列|DTS打通SQL Server数据通道能力介绍
阿里云DTS踩坑经验分享系列|DTS SelectDB链路最佳实践
大数据时代背景下,高效的数据流转与实时分析能力对于企业的竞争力至关重要。阿里云数据传输服务DTS与SelectDB联合,为用户提供了简单、实时、极速且低成本的事务数据分析方案。用户可以通过 DTS 数据传输服务,一键将自建 MySQL/PostgreSQL、RDS MySQL/PostgreSQL、PolarDB for MySQL/PostgreSQL 数据库,迁移或同步至阿里云数据库 SelectDB 的实例中,帮助企业在短时间内完成数据迁移或同步,并即时获得深度洞察。
387 3
阿里云DTS踩坑经验分享系列|SLS同步至ClickHouse集群
作为强大的日志服务引擎,SLS 积累了用户海量的数据。为了实现数据的自由流通,DTS 开发了以 SLS 为源的数据同步插件。目前,该插件已经支持将数据从 SLS 同步到 ClickHouse。通过这条高效的同步链路,客户不仅能够利用 SLS 卓越的数据采集和处理能力,还能够充分发挥 ClickHouse 在数据分析和查询性能方面的优势,帮助企业显著提高数据查询速度,同时有效降低存储成本,从而在数据驱动决策和资源优化配置上取得更大成效。
296 9
阿里云DTS踩坑经验分享系列|使用VPC数据通道解决网络冲突问题
阿里云DTS作为数据世界高速传输通道的建造者,每周为您分享一个避坑技巧,助力数据之旅更加快捷、便利、安全。本文介绍如何使用VPC数据通道解决网络冲突问题。
334 0
深入解析:Elasticsearch集群性能调优策略与最佳实践
【10月更文挑战第8天】Elasticsearch 是一个分布式的、基于 RESTful 风格的搜索和数据分析引擎,它能够快速地存储、搜索和分析大量数据。随着企业对实时数据处理需求的增长,Elasticsearch 被广泛应用于日志分析、全文搜索、安全信息和事件管理(SIEM)等领域。然而,为了确保 Elasticsearch 集群能够高效运行并满足业务需求,需要进行一系列的性能调优工作。
612 3
elasticsearch学习五:springboot整合 rest 操作elasticsearch的 实际案例操作,编写搜索的前后端,爬取京东数据到elasticsearch中。
这篇文章是关于如何使用Spring Boot整合Elasticsearch,并通过REST客户端操作Elasticsearch,实现一个简单的搜索前后端,以及如何爬取京东数据到Elasticsearch的案例教程。
609 0
elasticsearch学习五:springboot整合 rest 操作elasticsearch的 实际案例操作,编写搜索的前后端,爬取京东数据到elasticsearch中。
MySQL 历史数据迁移到 Elasticsearch
MySQL 历史数据迁移到 Elasticsearch
329 4
MySQL数据实时同步到Elasticsearch:技术深度解析与实践分享
在当今的数据驱动时代,实时数据同步成为许多应用系统的核心需求之一。MySQL作为关系型数据库的代表,以其强大的事务处理能力和数据完整性保障,广泛应用于各种业务场景中。然而,随着数据量的增长和查询复杂度的提升,单一依赖MySQL进行高效的数据检索和分析变得日益困难。这时,Elasticsearch(简称ES)以其卓越的搜索性能、灵活的数据模式以及强大的可扩展性,成为处理复杂查询需求的理想选择。本文将深入探讨MySQL数据实时同步到Elasticsearch的技术实现与最佳实践。
473 0
阿里云DTS踩坑经验分享系列|Redis迁移、同步
阿里云数据传输服务DTS在帮助用户迁移Redis数据、同步数据时,在某些复杂场景下会出现报错,或者源库与目标库数据不一致的问题,给用户带来困扰。本文介绍了DTS Redis到Redis迁移、同步过程中的典型问题,以帮助用户更好地使用DTS。
788 2
mall在linux环境下的部署(基于Docker容器),Docker安装mysql、redis、nginx、rabbitmq、elasticsearch、logstash、kibana、mongo
mall在linux环境下的部署(基于Docker容器),docker安装mysql、redis、nginx、rabbitmq、elasticsearch、logstash、kibana、mongodb、minio详细教程,拉取镜像、运行容器
mall在linux环境下的部署(基于Docker容器),Docker安装mysql、redis、nginx、rabbitmq、elasticsearch、logstash、kibana、mongo

相关产品

  • 检索分析服务 Elasticsearch版
  • 推荐镜像

    更多
    AI助理

    你好,我是AI助理

    可以解答问题、推荐解决方案等

    登录插画

    登录以查看您的控制台资源

    管理云资源
    状态一览
    快捷访问