mysql 、sqlserver数据库,实时同步,增量同步(脚本模式)

数据集成(Data Integration)产品提供数据同步服务,有向导模式和脚本模式两种方式。向导模式更简单,脚本模式更灵活。

本章介绍如何将Table Store中的增量数据通过数据集成的脚本模式同步到OpenSearch中。

途径

数据集成脚本模式

  • Reader:OTSStreamReader
  • Writer:OSSWriter

配置Table Store

无需配置。

配置OSS

无需配置。

配置数据集成

  1. 创建Table Store数据源。

    说明

    • 如果已经创建了Table Store的数据源,可以跳过这一步。
    • 如果您不希望创建数据源,也可以在后续的配置页面中配置相应的endpoint、instanceName、AccessKeyID和AccessKeySecret。

    创建数据源的具体步骤,请参见创建Table Store数据源

  2. 创建OSS数据源。

    本操作与上一个步骤类似,只是选择OSS作为数据源。

    说明 配置OSS数据源的参数时,注意Endpoint不包括bucketName。

  3. 创建同步任务。
    1. 登录数据集成控制台
    2. 在同步任务页面,选择脚本模式。
    3. 在弹出的导入模板对话框中,来源类型选择OTS Stream,目标类型选择OSS。
    4. 单击确认,进入配置页面。
  4. 完善配置项。
    1. 在配置界面,已经提前嵌入了OTSStreamReader和OSSWriter的模板,请参考以下解释完成配置。

      {
      "type": "job",
      "version": "1.0",
      "configuration": {
      "setting": {
      "errorLimit": {
       "record": "0"  # 允许出错的个数,当错误超过这个数目的时候同步任务会失败。
      },
      "speed": {
       "mbps": "1",  # 每次同步任务的最大流量。
       "concurrent": "1"   # 每次同步任务的并发度。
      }
      },
      "reader": {
      "plugin": "otsstream",  # Reader插件的名称。
      "parameter": {
       "datasource": "", # Table Store的数据源名称,如果有此项则不再需要配置endpoint,accessId,accessKey和instanceName。
       "dataTable": "", # TableStore中的表名。
       "statusTable": "TableStoreStreamReaderStatusTable", # 存储TableStore Stream状态的表,一般不需要修改。
       "startTimestampMillis": "",  # 开始导出的时间点,由于是增量导出,需要循环启动此任务,则这里每次启动的时候的时间都不一样,这里需要设置一个变量,比如${start_time}。
       "endTimestampMillis": "",  # 结束导出的时间点。这里也需要设置一个变量,比如${end_time}。
       "date": "yyyyMMdd",  # 导出哪一天的数据,功能和startTimestampMillis、endTimestampMillis重复,这一项需要删除。
       "mode": "single_version_and_update_only", # TableStore Stream导出数据的格式,目前需要设置成:single_version_and_update_only。如果配置模板中没有则需要增加。
       "column":[  # 需要导出TableStore中的哪些列到OSS中去,如果配置模板中没有则需要增加,具体配置个数由用户自定义设置
                {
                   "name": "uid"  # 列名,这个是Table Store中的主键
                },
                {
                   "name": "name"  # 列名,这个是Table Store中的属性列。
                 },
       ],
       "isExportSequenceInfo": false, # single_version_and_update_only 模式下只能是false。
       "maxRetries": 30 # 最大重试次数。
      }
      },
      "writer": {
      "plugin": "oss", # Writer插件的名称
      "parameter": {
       "datasource": "", # OSS的数据源名称
       "object": "",  # 最后备份到OSS的文件名的前缀,建议Table Store实例名/表名/date。比如"instance/table/{date}"
       "writeMode": "truncate", # 支持truncate|append|nonConflict,truncate会清理已存在的同名文件;append会加到已存在的同名文件内容后面;nonConflict会报错当同名文件存在时。
       "fileFormat": "csv", # 文件类型
       "encoding": "UTF-8", # 编码类型
       "nullFormat": "null", # 当遇到控制时,在文本中如何表示
       "dateFormat": "yyyy-MM-dd HH:mm:ss", # # 时间格式
       "fieldDelimiter": "," # 每一列的分隔符
      }
      }
      }
      }

      说明 详细的配置项解释请参见配置OTSStreamReader配置OSSWriter

    2. 单击保存,保存任务。
  5. 运行任务。
    1. 单击页面上方的运行。
    2. 在弹出的配置框中,配置变量参数。
    3. 单击确认后开始运行任务。
    4. 运行结束后登录OSS控制台检查是否成功备份文件。
  6. 配置调度。
    1. 单击提交。
    2. 在弹出的对话框中,配置各项参数。


      参数说明如下:

       
      参数 描述
      调度类型 选择周期调度。
      自动重跑 如果勾选,则当失败的时候会默认重试3次,每次间隔2分钟。
      生效日期 使用默认值。默认从1970-01-01到一百年后。
      调度周期 选择分钟。
      起始时间 选择00:00至23:59,表示全天24小时都需要调度。
      时间间隔 选择5分钟。
      start_time 输入$[yyyymmddhh24miss-10/24/60],表示调度时间减去10分钟。
      end_time 输入$[yyyymmddhh24miss-5/24/60],表示调度时间减去5分钟。
      date 输入${bdp.system.bizdate},表示调度日期。
      依赖属性 如果有依赖则填写,没有则不用填。
      跨周期依赖 选择自依赖,等待上一调度周期结束,才能继续运行。
    3. 单击确认。

      周期性的同步任务配置完成,当前配置文件显示为只读状态。
  7. 查看任务。
    1. 单击页面上方的运维中心。
    2. 在左侧导航栏,选择任务列表 > 周期任务,可以查看新创建的同步任务。
    3. 新建的任务会从第二天00点开始执行。
      • 在左侧导航栏中,选择任务运维 > 周期实例,查看每一个预创建的当天同步任务,每个任务相隔5分钟,每个任务处理过去10~5分钟的数据。
      • 单击实例名称,可以查看详情。
    4. 单个任务在运行中或运行结束后,可以查看日志。
  8. 检查导出到OSS中的数据。

    登录OSS控制台,查看是否生成了新的文件,文件内容是否正确。

至此,Table Store数据可以在延迟5~10分钟的基础上自动同步到OSS中了。

原文地址:https://www.cnblogs.com/syncnavigator/p/10193510.html

时间: 2024-11-07 13:46:07

mysql 、sqlserver数据库,实时同步,增量同步(脚本模式)的相关文章

使用SyncNavigator进行SqlServer或者MYsql数据库的实时、增量同步

SyncNavigator是一款高效的数据库同步工具,支持sqlserver数据库和mysql数据库,采用增量同步的方式实时保存数据库数据. 因为是增量同步,记录每次同步时间戳,所以同步效率很高,不用每次整个数据库检查,每次只需要同步新修改的部分或者增加的部分,删除的部分本地也会删除,默认是同步增.删.改. 如果勾选只新增,那么同步时只会增加新内容,不会对修改和删除的老数据做任何操作,默认是不勾选的. 因为我们的数据库常规新产生的数据其实并不大,每一秒产生的数据也不会很多,原则上每一秒新产生的数

MySQL和MsSQL实时自动数据同步

使用SyncNavigator轻松实现数据库异地同步.断点续传.异构同步 最近碰到一个项目php和asp程序之间数据如何共享导出和导入所以一直在研究数据库同步的问题,在网上查了很多资料,也请教了很多人,找到了一种通过快照复制的方法.研究了一番后发现之前就是用的这个方法,效果不是很好,果断放弃.经过了一番寻觅和他人指点,最后从一位热心网友那里得知一款很好用的软件-- SyncNavigator. <特别感谢QQ网友会爬的猪猪提供的技术支持信息> 好东西就要拿出来跟大家分享,所以今天向大家介绍一下

关于mysql转移数据库时没有导出sql脚本的情况下,如何导入数据到新的数据库中

因为某些原因,在转移数据库的数据时,没有导出sql脚本,然后就被坑的不要不要的.不过,忙活了一下午,终于找到一种办法将数据库的文件夹直接导入到新的mysql的文件文件夹下的data文件中,就可以直接使用了. 具体步骤,往下看 在操作之前先要停止mysql的服务(net stop mysql),所有操作完成后,再启动mysql服务(net start mysql) (1)在mysql的安装文件中找到data文件夹 (2)将你原先data下的某个数据库中的文件夹拷到新的mysql的安装文件中的dat

oracle mysql sqlserver数据库中的分页

oracle: select * from (select rownum r,t1.* from tablename t1 where rownum <M+N ) t2 where t2.r>M; 说明:从tablename表里筛选出从M条记录开始,筛选N条记录. mysql: select * from tablename limit n,m; 说明:从tablename表筛选出,从第n条记录开始,筛选出m条记录. 备注:记录位置从0开始. sqlserver: select top n *

mysql/sqlserver数据库sql语句练习

1.在test数据库上建表create table DemoTable(Name VarChar(20),Age VarChar(3));create table ThisTable(Firstname Text,Lastname Text);mysql:mysql> create Table get0(Word nvarchar(31) NOT NULL,Comment nvarchar(50) NOT NULL);mysql报错的写法:mysql> create Table get0(Wo

关于SyncNavigator数据库实时同步软件新手使用教程【推荐阅读】

购买事宜请联系QQ:1793040 WWW.syncnavigator.cn HKROnline SyncNavigator企业版 8.4.1 使用教程 首先,SyncNavigator现在没有试用版了,试用版在2018年起就停止运营了,需要正式激活之后,软件才能新建项目,功能才算正常. SyncNavigator的基本功能:自动同步数据/定时同步数据无论是实时同步/24小时不间断同步 SyncNavigator是一款高效的数据库同步工具,支持sqlserver数据库和mysql数据库,采用增量

MYSQL同步Sqlserver数据库数据

MYSQL同步sqlserver数据库数据的方法. 1.下载安装SQLyog v10.51,确保本机安装了Mysql和Sql server 2008 r2. 2.使用SQLyog连上本地mysql数据库 3.点数据库>导入>导入外部数据 进入SQLyog外部数据导入向导,选择"开始新的工作",点"下一步" 4.在数据源类型中只有access.excel.csv.任何odbc数据源.使用前面三个中间数据格式转换方式都可以导入不过就麻烦了.这里我们选择任何O

MySQL和MsSQL实时自动同步

SyncNavigator的基本功能: 自动同步数据/定时同步数据无论是实时同步/24小时不间断同步,还是根据计划任务(每小时/每日/每周/等)定时自动同步都能完全胜任. 完整支持 Microsoft SQL Server完整支持 Microsoft SQL Server 2000 2005 2008 数据库类型.并能在不同数据库版本之间相互同步数据. 支持 MySQL 4.1 以上版本支持 MySQL 4.1 5.0 5.1 5.4 5.5.并能在不同数据库版本之间相互同步数据. 无人值守和故

rsync+inotify+ssh远程实时增量同步

一.准备工作 -主服务器: Rsync,发起端 Inotify Ssh IP:192.168.10.128 -备份服务器 ssh,备份端 IP:192.168.10.129 二.部署过程 1.备份端建立上传用户,并设置权限 -创建用户 [[email protected] ~]# useradd rput [[email protected] ~]# passwd rput -为同步目录设置访问权限 [[email protected] ~]# chown -R rput:rput/var/ww