数据库之间的沟通
来源:互联网 发布:饮食通餐饮软件 编辑:程序博客网 时间:2024/05/10 19:10
数据库和数据库也要交流数据?
1. 不同系统需要集成,必须建立数据直接的沟通渠道
2. 不同业务部门需要沟通,必须实现数据库到数据库的管道
3. 同一系统内部需要在两个数据库之间实现数据流通
图,数据库之间交流数据
跨数据库数据交流需求是?
1. 相同类型数据库之间的数据同步
2. 不同类型数据库之间的数据同步
3. 数据库与文件之间的数据转换
4. 实现跨数据库业务操作
一、数据库之间数据流通的需求
“简单数据同步”、“选择性数据同步”、“协同作业”是跨库数据流通的三个层次。
图,相同结构数据对象数据同步
“简单数据同步”,两个数据库中的对应表结构一致,只是完成数据的迁移。
图,异构数据对象数据同步
“选择性数据同步”,两个数据库中的对应表结构不一致,甚至于对应列的数据类型不一致,需要选择相应的列,需要数据类型转换。
图,跨数据库协同作业
“协同作业”,两个数据库之间既可以完成数据的迁移,又伴随着数据流通触发业务操作。完成跨数据库的联合操作。协同作业操作两个数据库或多个数据库,就如同操作一个数据库中的多张数据表一样,业务数据和业务数据联合实现业务流程。
二、数据库之间数据流通的方式方法
2.1数据库复制服务器
数据库复制服务器是“简单数据同步”的有效工具。它可以实现快捷的小数据量的数据的同步。
图,相同结构的对象间复制数据
复制服务器通过监控主点数据库“操作日志”来触发复制动作,在从点数据库中做同样的动作。是一种触发模式,所以比较及时迅速。
复制服务器要求主点数据库和从点数据库的复制对象严格一致。如表结构,字段的数据类型,甚至于数据库类型要相同。不谈性能方面,已经束缚了系统灵活实现数据流通。
复制服务器是从数据库系统向上提供数据同步的工具。
2.2 消息中间件
消息中间件是跨数据节点实现的数据传递的管道工具。
图,消息中间件实现数据传输
消息中间件只实现了管道层。我们需要编写出库和入库的操作流程。然后通过消息中间件将数据跨节点传递。
利用消息中间件,我们需要编写数据库接口程序,和业务数据流通控制程序。
消息中间件是从网络层向上提供数据传递的管道。
2.3 数据循环中间件----ISFRAME DC
数据循环中间件DC(Data Circulattion)是信息系统架构中间件ISFRAME的一部分。数据循环是表示数据就像有机体的血液一样在各个器官之间循环,通过所携带业务信息,使各个器官的操作联动起来。
复制系统和消息中间件都是做足底层技术,向上提供层面较低的界面。ISFRAME DC是从业务流程控制入手,满足跨数据库、跨数据节点、跨系统的“数据同步”、“协同作业”的需求。
图,DC跨节点资源协同作业
DC将不同节点,不同数据库的资源连通起来,可以方便地实现“数据同步”、“数据转换”、“联合操作”等工作,是相关联的数据库形成一个大的操作对象集合。
三、数据循环中间件特点
3.1 消除数据库差异
“数据循环中间件”支持oracle、sybase、sqlserver、mysql的主流数据库,并支持应用文件与数据库之间的数据传递和转换。
数据库种类可以不同,对应表结构可以不同,对应字段的数据类型可以不同。
免除了数据库接口编程,该中间件自动完成数据出库、入库、执行存储过程等操作。
3.2 自动控制数据流通
跨数据库的数据传输中,“数据循环中间件”可以实现一个完整的对话逻辑控制。即DC自动“装载”数据,在目标端执行“提交”操作,然后把“提交”操作的结果返回源端,进行回执操作。“装载”、“提交”、“回执”构成一个完整的对话过程。
3.3 业务数据的批次控制
DC在实现跨数据库的联合操作中,可以实现增量步进和回滚控制。使跨节点操作既直观,又易于控制。
您需要了解更多“架构中间件”的内容,敬请访问www.tcxzsoft.com
- 数据库之间的沟通
- 数据库之间的沟通
- 项目团队之间的沟通
- 夫妻之间沟通的艺术
- 如何保障工程师之间的沟通顺畅?
- C# 与 COM 之间的沟通
- 同事之间的沟通(持续更新)
- ServiceMix(四) bundles之间的简单沟通
- 利用 Delegate Design Pattern 进行 View Controller 之间的沟通
- 数据库之间的复制
- 这几年的几次“打拼”的失败的教训。程序员之间如何沟通,如何合作?!
- 关于加强公司内部员工之间的沟通与交流的一点思考1
- 工作中沟通和执行力的重要性-开发、项目经理、需求之间的矛盾冲突
- 团队成员之间的沟通(包括主管与员工,员工与员工)
- Oracle安全部门负责人承诺解决问题并增强与社区之间的沟通
- 设计技巧22:Mediator 中介者模式 顾问,沟通所有复杂组件之间的关系
- 形象讲解Android中dpi,dp和px之间的关系(设计师如何与程序员沟通)
- 数据库之间表之间数据的传送
- linux指令大全
- Android图像开源视图:SmartImageView
- something about IBM DB2
- C++备忘录
- 华为QINQ配置
- 数据库之间的沟通
- 实现android布局的左右拖动及动画效果的代码范例
- N皇后问题 C#
- 远程镜像RSPAN的配置
- json解析的注意点
- Bash Shell 快捷键
- 代码中配置log4j (同时输出不同级别的log到不同终端)
- 一个Android实现图片的倒影效果的代码示例
- Cisco IOS SHOW 命令大全