问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

力控组态软件同步实时数据到关系型数据库(sqlserver 2008)

发布网友 发布时间:2022-04-23 06:01

我来回答

2个回答

懂视网 时间:2022-05-03 06:28

关系型数据库同步

1)、全量同步

比如从oracle数据库中同步一张表的数据到Mysql中,通常的做法就是分页查询源端的表,然后通过数据库引擎批量(比如JDBC)插入到目标表,这个地方需要注意的是,分页查询时,一定要按照主键id来排序分页,避免重复插入。

2)、基于数据文件导出和导入的全量同步,这种同步方式一般只适用于同种数据库之间的同步,如果是不同的数据库,这种方式可能会存在问题。

3)、基于触发器的增量同步

增量同步一般是做实时的同步,早期很多数据同步都是基于关系型数据库的触发器trigger来做的。

使用触发器实时同步数据的步骤:

A、 基于原表创触发器,触发器包含insert,modify,delete 三种类型的操作,数据库的触发器分Before和After两种情况,一种是在insert,modify,delete 三种类型的操作发生之前触发(比如记录日志操作,一般是Before),一种是在insert,modify,delete 三种类型的操作之后触发。

B、 创建增量表,增量表中的字段和原表中的字段完全一样,但是需要多一个操作类型字段(分表代表insert,modify,delete 三种类型的操作),并且需要一个唯一自增ID,代表数据原表中数据操作的顺序,这个自增id非常重要,不然数据同步就会错乱。

C、 原表中出现insert,modify,delete 三种类型的操作时,通过触发器自动产生增量数据,插入增量表中。

D、处理增量表中的数据,处理时,一定是按照自增id的顺序来处理,这种效率会非常低,没办法做批量操作,不然数据会错乱。  有人可能会说,是不是可以把insert操作合并在一起,modify合并在一起,delete操作合并在一起,然后批量处理,我给的答案是不行,因为数据的增删改是有顺序的,合并后,就没有顺序了,同一条数据的增删改顺序一旦错了,那数据同步就肯定错了。

市面上很多数据交换产品都是基于这种思想来做的。

技术图片

4)、基于时间戳的增量同步

A、首先我们需要一张临时temp表,用来存取每次读取的待同步的数据,也就是把每次从原表中根据时间戳读取到数据先插入到临时表中,每次在插入前,先清空临时表的数据

B、我们还需要创建一个时间戳配置表,用于存放每次读取的处理完的数据的最后的时间戳。

C、每次从原表中读取数据时,先查询时间戳配置表,然后就知道了查询原表时的开始时间戳。

D、根据时间戳读取到原表的数据,插入到临时表中,然后再将临时表中的数据插入到目标表中。

E、从缓存表中读取出数据的最大时间戳,并且更新到时间戳配置表中。缓存表的作用就是使用sql获取每次读取到的数据的最大的时间戳,当然这些都是完全基于sql语句在kettle中来配置,才需要这样的一张临时表。

技术图片

 

关系型数据库同步

标签:img   种类   ora   实时   种类型   避免   inf   导出   modify   

热心网友 时间:2022-05-03 03:36

字段Time和TagName是建表是的自动字段,不用设置,可以根据不同需要自己增加数据转储的字段,可以自己修改字段名。
按钮AuTo是自动添加所有变量的字段名,如果是本地数据源就字段名等于变量名,如果是远程数据源字段名自动等于”远程数据源名\\变量名”。
此时点击完成,和SQLserver2000之间的一个数据转储任务就设置完成。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
如何查被录取到的专业 怎样查被录取的专业 录取后怎样查询录取的专业 录取专业怎么查 已被录取怎么查专业 ghs网络语什么意思_ghs网络语意思出处含义介绍 纸箱企业管理软件 ghs什么意思网络(ghs什么意思网络用语) 《喜羊羊与灰太狼》大结局 0与任何数相加都得原数吗? 实时数据库是什么意思?有了解的吗? 如何将实时数据库中数据写入关系型数据库? 实时数据库与关系数据库的区别?请求详细解答! 关于数据库的分类!! 实时/历史数据库和关系型数据库的区别 关系型数据库和实时数据库都有哪些? 实时库与关系库的区别? 关系数据库、内存数据库和实时数据库 之间的区别是? 实时数据库和关系型数据库的区别 汇图网悬赏没中标 为什么电脑下象棋那么厉害 帮我找个与电脑玩象棋的网址 在象棋界最厉害的人能下过电脑吗? 象棋人机对战哪个软件水平最高?(电脑象棋的智能水平高) 现在世界上最强的象棋软件是什么?电脑象棋软件? 中国象棋对战电脑 象棋特级大师比赛能赢电脑吗? 象棋小棋圣怎样才能和电脑对弈 中国象棋对战电脑怎么样才能赢? 可以与电脑对战的国际象棋游戏 什么是实时数据库 怎样进行实时数据库系统数据连接组态 WINCC集成的SQL数据库是实时数据库还是关系数据库 oracle属于实时数据库吗?目前市场上,实时数据库有哪些? 监控组态软件和实时数据库有什么关系 数据库信息实时对比 孕妇梦见硕果累累的桃树梨树是怀男怀女? 孕期梦见坟墓上有颗大场梅树结好多成熟果子? 做梦梦到果树是怎么回事呢? 高手帮我解梦:我梦见桃树硕果累累,还有苹果树也是硕果累累 梦见老家绿树成荫果实累累是什么意思? 怎样上传汇图网的图片 0pp0a92手机出现广告怎么关闭 怎样才能清除掉手机上的锁屏广告让它不再出现? 华为手机最近动不动跳出广告,广告弹出方式如图,我该怎么屏蔽这些广 手机如何恢复出广设置? 为何iPhone4自带拼音系统打guang没有“广“字出现? OPPOA37怎么恢复出广设置? DVI不能传输声音!怎么理解啊 DVI能输出音频吗?