• 三分钟掌握SQL Server迁移Mongodb


    下载网站:www.SyncNavigator.CN 
     客服QQ1793040
    ----------------------------------------------------------


    关于HKROnline SyncNavigator 注册机价格的问题

     

    HKROnline SyncNavigator 8.4.1 非破解版 注册机 授权激活教程
     

     

    最近一直在研究数据库同步的问题,在网上查了很多资料,也请教了很多人,找到了一种通过快照复制的方法。研究了一番后发现之前就是用的这个方法,效果不是很好,果断放弃。经过了一番寻觅和他人指点,最后从一位热心网友那里得知一款很好用的软件—— SyncNavigator。

    好东西就要拿出来跟大家分享,所以今天向大家介绍一下这款软件,及其一些使用方法。下面先看看它有什么强大的功能吧!

    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。并能在不同数据库版本之间相互同步数据。

    无人值守和故障自动恢复
    当数据库故障或网络故障以后,无需人工干预(或操作)自动恢复同步并确保数据完全准确,可靠。

    同构数据库同步/异构数据库同步
    SQL Server to SQL Server, MySQL to MySQL, SQL Server to MySQL 等都能轻松实现。

    断点续传和增量同步
    当同步完成(或中断)后,再次同步时能继续上一次的位置增量同步,避免每次都需要从头开始的问题。

    写在前面

    由于业务需要,部分老数据需要从SQLServer中迁移到mongodb数据库中去,经过各方比较后,决定使用阿里巴巴开源的datax来迁移,datax开源地址:https://github.com/alibaba/DataX。

    DataX简介

    DataX 是一个异构数据源离线同步工具,致力于实现包括关系型数据库(MySQL、Oracle等)、HDFS、Hive、ODPS、HBase、FTP等各种异构数据源之间稳定高效的数据同步功能。

    为了解决异构数据源同步问题,DataX将复杂的网状的同步链路变成了星型数据链路,DataX作为中间传输载体负责连接各种数据源。当需要接入一个新的数据源的时候,只需要将此数据源对接到DataX,便能跟已有的数据源做到无缝数据同步。如图1所示:

    三分钟掌握SQL Server迁移Mongodb

    图1

    准备工作

    Linux

    JDK(1.8以上,官方推荐1.8)

    Python(官方推荐python2.6.x)

    Apache maven 3.x(Compile DataX)

    SQL Server 2008

    Mongodb 3.2 (副本集模式)

    测试

    1.    查看sql server表结构

    CREATE TABLE[dbo].[ETeacher_Class_Apply] (

    [ID] int NOTNULL IDENTITY(1,1) ,

    [GroupID] intNULL ,

    [UserID] intNULL ,

    [Message]nvarchar(50) COLLATE Chinese_PRC_CI_AS NULL ,

    [ApplyDate]datetime NULL ,

    [StatusCode] intNULL DEFAULT ((0)) ,

    [PlatForm] intNOT NULL DEFAULT ((0)) ,

    CONSTRAINT [PK_ETeacher_School_ClassApply]PRIMARY KEY ([ID])

    )

    ON [PRIMARY]

    2.    解压datax,查看目录,如图2

    三分钟掌握SQL Server迁移Mongodb

    图2

    3.    进入job目录添加配置文件

    [root@raojiedb4 job]# cat job_sqlserver_mongodb.json

    {

    “job”:{

             “setting”: {

                    “speed”:{“byte”: 1073741824}

                    },

            “content”: [{

                    “reader”: {

                            “name”:”sqlserverreader”,

                            “parameter”:{

                                   “username”: “usernamer”,

                                   “password”: “password”,

                                   “where”: “”,

                                   “connection”: [{

                                           “querySql”: [“SELECT * FROM dbo.ETeacher_Class_Apply  WITH ( NOLOCK )”

    ],

                                           “jdbcUrl:[“jdbc:sqlserver://192.168.0.1:1433;DatabaseName=ETeacher”]

                                    }]

                            }

                    },

                    “writer”: {

                            “plugin”:”mongodb”,

                            “name”:”mongodbwriter”,

                             “parameter”:{

                                   “address”: [“192.168.0.2:7911”],

                                   “userName”: “username”,

                                   “userPassword”: “password”,

                                    “dbName”:”DBName “,

                                    “collectionName”:”usertest”,

                                   “column”: [

                                                   {

                                                   “name”: “id”,

                                                   “type”: “int”

                                                   },

                                                    {

                                                   “name”: “groupid”,

                                                   “type”: “int”

                                                    },

                                                   {

                                                   “name”: “userid”,

                                                   “type”: “int”

                                                   },

                                                   {

                                                   “name”: “message”,

                                                   “type”: “string”

                                                    },

                                                  {

                                                   “name”: “applydate”,

                                                   “type”: “date”

                                                   },

                                                    {

                                                   “name”: “statuscode”,

                                                   “type”: “int”

                                                   },

                                                   {

                                                    “name”:”platform”,

                                                   “type”: “int”

                                                   }

                                    ],

                                   “writeMode”: {

                                                   “isReplace”: “true”,

                                                   “replaceKey”: “id”

                                    }

                            }

                    }

             }]

    }}

    4.    进入datax/bin目录,启动数据迁移命令,如图3

    三分钟掌握SQL Server迁移Mongodb

    图3

    5.    迁移程序启动后,datax会先去检验reader端和writer端的连接配置是否正确。如果配置信息都是正确的,程序就会开始迁移数据,迁移结果如图4:

    三分钟掌握SQL Server迁移Mongodb

    图4

    注意事项

    1. reader端读取的字段和writer写入的字段个数相同,否则检查配置文件的时候会报错。

    2. 迁移的过程中,SQL Server要停止写操作。

  • 相关阅读:
    洛谷1113 杂务
    MySQL中的各种引擎
    剑指offer第3题:从尾到头打印链表
    向一个GitHub repository添加协作者
    String、StringBuffer与StringBuilder之间区别
    java与C语言在字符串结束符上的区别
    git 查看远程分支、本地分支、创建分支、把分支推到远程repository、删除本地分支
    Git问题Everything up-to-date解决
    Mybatis 数据库物理分页插件 PageHelper
    时间序列分析发展史
  • 原文地址:https://www.cnblogs.com/syncnavigator/p/10189225.html
Copyright © 2020-2023  润新知