为什么不建议采用数据库写入的方式集成不同系统

标签: 数据库 系统 | 发表时间:2014-03-06 23:40 | 作者:caowf
出处:http://www.iteye.com
今天参加一个项目方案沟通会,实施方是一个外部公司,需要我帮忙确定内部系统和本次开发系统的接口需求。实施方提出的方案是直接写入内部系统的数据库,我给出的建议是通过交换一个XML文件实现数据同步。理由有三个:
1.审计跟踪。直接写入数据库,很难记录访问日志,一旦出现问题,很难界定责任。
2.数据完整性。一个单据是否有效,单靠数据库提供的约束机制是很难准确描述的,在很多情况下,是由应用逻辑负责检查验证。如果通过数据库直接写入,应用逻辑的检查功能很难触发,数据完整性保证会有问题。
3.灵活性。对方的方案相当于建立了对于我方系统实现的依赖,如果将来内部系统实现有变化,对方的逻辑就需要修改,会引起一些列不必要的麻烦。

已有 0 人发表留言,猛击->> 这里<<-参与讨论


ITeye推荐



相关 [数据库 系统] 推荐:

8种Nosql数据库系统对比

- xcv58 - 伯乐在线 -博客
  导读:Kristóf Kovács 是一位软件架构师和咨询顾问,他最近发布了一片对比各种类型NoSQL数据库的文章. 文章由敏捷翻译 - 唐尤华编译.   虽然SQL数据库是非常有用的工具,但经历了15年的一支独秀之后垄断即将被打破. 这只是时间问题:被迫使用关系数据库,但最终发现不能适应需求的情况不胜枚举.

OceanBase 数据库的系统架构

- -
OceanBase 数据库采用 Shared-Nothing 架构,各个节点之间完全对等,每个节点都有自己的 SQL 引擎、存储引擎,运行在普通 PC 服务器组成的集群之上,具备可扩展、高可用、高性能、低成本、云原生等核心特性. OceanBase 数据库的整体架构如下图所示. OceanBase 数据库支持数据跨地域(Region)部署,每个地域可能位于不同的城市,距离通常比较远,所以 OceanBase 数据库可以支持多城市部署,也支持多城市级别的容灾.

在数据库层面分析系统性能(原创)

- - ITeye博客
按照OracleDocument中的描述,v$sysstat存储自数据库实例运行那刻起就开始累计全实例(instance-wide)的资源使用情况. 1>.事件发生次数的统计(如:user commits). 2>.数据产生,存取或者操作的total列(如:redo size). 3>.如果TIMED_STATISTICS值为true,则统计花费在执行操作上的总时间(如:CPU used by this session).

Oracle、Db2、SqlServer、MySQL 数据库插入当前系统时间

- - CSDN博客推荐文章
例如有表table,table 中有两个字段:name 、makedate. 插入系统时间应为sysdate:. insert into table (name,makedate) values('测试',sysdate);. 插入系统时间应为current timestamp并且makedate数据类型为timestamp.

ActiveMQ系统之——消息持久化到MySQL数据库中(二)

- - CSDN博客推荐文章
关于这一节的程序,需要使用到《 ActiveMQ系列之——安装、运行及事例代码(一)》中的示例代码. 本文主要介绍关于消息持久化的配置. ActiveMQ默认情况下是基于文件的存储,使用的是kahaDB,当然还有其它的持久化方式,例如LevelDB,这个是在5.8的版本中引入的,本文主要介绍数据库持久化,使用的数据库是MySQL,其它数据库类似.

数据库系统load飙高问题解决思路

- - BlogJava-qileilove
数据库服务器器load 飙高的报警,比如:.   如何处理load 异常飙高的报警呢. 本文尝试从原理,原因,解决方法来阐述这类问题的解决思路.   CPU作为服务器的关键资源经常成为性能瓶颈的根源,CPU使用率高并不总是意味着CPU工作繁忙,它有可能是正在等待其他子系统. 在进行性能分析时,将所有子系统当做一个整体来看是非常重要的,因为在子系统中可能会出现瀑布效应.

某物流系统数据库故障诊断

- - SQL - 编程语言 - ITeye博客
某物流公司新上一套软件系统,数据库CPU占用率基本维持在80%以上,业务高峰期数据库宕机. 重做日志缓冲区的已使用的空间达到三分之一时. 当dbwn进程向磁盘写入已修改的缓冲区的时候. 用户提交事务处理时的一条提交记录(经常commit会及时刷新重做日志缓冲区空间). 重做日志缓冲区的已使用的空间达到三分之一时.

美团 MySQL 数据库巡检系统的设计与应用

- - IT瘾-dev
我们生活中随处可见各种巡检系统,比如电力巡检、消防检查等,正是这些巡检工作,我们才能在稳定的环境下进行工作、生活. 巡检对于数据库或者其他IT系统来说也同样至关重要,特别是在降低风险、提高服务稳定性方面起到了非常关键作用. 为了保障数据库的稳定运行,以下核心功能组件必不可少:. 图1 数据库运维保障核心功能组件 其中,数据库巡检作为运维保障体系最重要的环节之一,能够帮助我们发现数据库存在的隐患,提前治理,做到防患于未然.

Binlog, Redolog 在分布式数据库系统中的应用

- - idea's blog
在一个系统中, 有 client 和 server 两个角色, client 向 server 发起请求(request), 这里的请求指写数据请求, 例如某条类似 "update table set a=1" 这样的 SQL 语句. 我们把 server 进行拆分, 得到下面这个更细化一些的系统结构:.

基于CWM的ETL元数据库系统模型的设计

- -
1 引 言 在工业领域,数据仓库连同前端的数据挖掘工具向企业高层提供决策分析的平台体系机制被称为商业智能(Business Intelligence,BI). BI项目的实施牵涉到企业各个事务处理系统之间海量数据的定向流动,这个数据流动的过程被称为数据抽取、转换与装载(Extraction、Transformation and Loading,ETL),是BI系统的心脏与灵魂.