浅谈两个数据库间同步问题

企业级数据库间数据同步策略与实现

我要说的两个数据库指ORACLE和MYSQL间的数据同步。

应用场景如下:

一个公司下有很多地市都有业务,每个地市有很多销售店面,公司内部有一套自己的系统,使用ORACLE,公司和地市都是用这个ORACLE系统,而每个店面也有一套自己的销售系统,每个门店都使用各自的MYSQL数据库,因此产生了ORACLE和MYSQL间的数据同步问题。公司负责生产资料维护,店面组织管理,人员管理,物流配货,采购,财务统计,库存管理等,而店面主要是销售和自己的库存管理,店面需要从ORACLE获取最新基本资料,同时上传最新销售信息,本店库存变化和调货申请等。

基本资料只能由公司和地市录入,各个店面只需下载自己店面的资料或者店面所在地市的资料即可;

销售资料,有时店面会将票价直接给公司或地市,由公司或地市录入,这种情况主要是些特殊情况,因此销售数据会在两端都被修改;以店面的为准;

库存资料,每个门店用一个自己的仓库,地市由多个仓库,地市和门店间通过物流配货,调货等流程形成出入库,一般都是门店自己管理,然后上传店面库存,特殊情况下地市也会帮门店申请调货,配货等,因此库存也在两端都会修改,也是以店面为准。

有个别资料是两端都修改的,但是以公司的为准;

 

上面的“以XX为准”也就是如果有数据冲突就以XX的数据覆盖另外一方的数据。

 

数据同步在互联网环境下进行。

 

由于互联网环境下运行,因此不考虑用RMI,对web service的效率不满意,直接使用SOCKET开发的工作量比较大,因此也不考虑用web service,我们选定用hessian+tomcat,以HTTP协议通信,当然也可以以HTTPS协议通信。

由于业务还在不断变化,因此考虑整个同步过程不以业务为单位,而是以表为单位,极个别的需要以业务为单位的额外处理,因此我们将表间的数据都采用MAP存储。

 

 

上位机面试题 C#-IOC框架 什么是值类型和引用类型他们的本质区别是 抽象类和接口的区别 什么是委托他和事件有什么区别 IOC依赖注入怎么注入 C#集合简单介绍 简单阐述一下C#GC垃圾回收机制 依赖注入的核心思想 依赖注入的三个生命周期 Netcore 1.可以简单简述一下什么是中件吗,中的redis能简单阐述一下吗 2.JWT是个什么机制? 3.讲一下过滤器和中件的区别 4.什么是landam表达式 5.讲述一下C#里的集合,如果频繁进行增删查改操作需要用到什么集合 6.什么是泛型,为什么需要使用泛型 7.多态是什么 8.C#重载是什么 9.接口和抽象类的区别 10.值类型和引用类型的本质区别 11.什么是装箱?什么是拆箱? 12.讲一下为什么要推荐面向接口编程 13.设计模式有了解吗 WPF 1.依赖属性的应用,什么是依赖属性 2.WPF里面的命令是什么?有什么作用 3.浅谈一下mvvm模型 4.讲述你常用ORM框架 5.WPF的动画如何实现?(动画监听) 6.WPF用户控件如何进行绑定,你有封装过吗? 7. 多线程 讲一下为什么要用多线程,多线程的关键字是什么 如何保证多线程同步机制 如果我要采集500台机器,你怎么防止网络堵塞,和保证数据的实时采集 通讯协议 1.简述一下串口通讯协议 2.Modbus协议是什么 3.西门子S7通讯协议是怎么样的 4.简单阐述一下TCP三次握手协议 数据库 1.数据库索引 2.索引的数据结构 3.索引采用什么数据结构存储,在不同的数据库引擎中 4.浅谈一下数据库里面视图,存储过程。 UML 讲述一下软件生命周期步骤 分别解答下上述面试问题
08-21
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值