两个后台应用(J2EE)操作同一个数据库有什么风险?
一、两个后台应用(J2EE)操作同一个数据库有什么风险
这个问题在项目组不同的阶段,策略是不一样的。如果是刚组建的项目组,或者创业型的公司,开发效率优异先,跑慢了你就死了。这个时候对于服务端开发来说就直接访问DB就行了。建两个程序账号,各用各的,定好操作DB的SQL和DDL规范,尤其是DDL改表结构,严格执行规范。
如果是成规模的公司,那应该分开,每个DB只有一个程序账号,起码只有一个可以增删改,owner指定到负责人,否则会乱,出了问题DBA都不知道谁负责。从代码结构上看,也是不建议DB层有多个业务耦合的,一个是数据不安全,一个是增加了运维难度。
信息安全倒没什么问题。但是如果数据库是对方系统的一部分,还是通过接口访问更好。
首先,毕竟对方要对数据负责,如果数据被篡改或删除,他们是要负责任的。系统里已经做了身份认证,授权的控制,也有审计日志,这样出了问题是可以查审计日志的。
第二,系统仅暴露其他系统需要的信息,无关的信息尽量保护在系统内部。放开数据库访问太随意了。万一其他系统代码写的不严谨,出现问题不好定位。
第三,系统通过接口暴露数据,隐藏数据存储的细节。如果两个系统通过数据库耦合,一边修改了库表结构,另一边都要修改代码。
延伸阅读:
二、Navicat是什么
Navicat是一套快速、可靠和全面的数据库管理工具,专门用于简化数据库管理和降低管理成本。Navicat图形界面直观,提供简便的管理方法,设计和操作MySQL、MariaDB、SQL Server、Oracle、PostgreSQL和SQLite的数据。
Navicat提供一个直观和设计完善的用户界面,用于创建、修改和管理资料库的所有对象,例如表、视图、函数或过程、索引、触发器和序列。我们的表设计器帮助用户创建和修改数据库的表,让设置高级选项,如关系、限制、触发器和更多。
使用Navicat浏览和修改数据,插入、编辑、删除数据或复制和粘贴记录到数据表形式的数据编辑器,Navicat将运行相应的命令(例如INSERT或UPDATE),免除写复杂的SQL。广泛的数据编辑工具令编辑工作更为方便,例如外键查找、set/enum选择器和记录筛选。

猜你喜欢LIKE
相关推荐HOT
更多>>
format_map与format字符串格式化的区别是什么?
一、数据输入形式1、format: 主要接受位置或关键字参数。"Hello, {0}".format("world")2、format_map: 接受一个字典作为输入。"Hello, {name}"....详情>>
2023-10-16 17:26:04
有效的项目变更管理,能够减少哪些对项目的影响?
1、时间延迟的减少适时评估:变更请求提出后及时评估其对项目进度的影响有效调整:根据评估结果调整工作计划和资源分配控制范围:通过对变更范...详情>>
2023-10-16 17:07:04
站在软件开发的角度如何做bug分类管理?
一、收集BUG信息在软件开发过程中,及时收集BUG信息至关重要。测试团队应该在发现BUG后,立即记录和收集相关信息,包括BUG的描述、复现步骤、严...详情>>
2023-10-16 13:06:03
单片机有什么用?
一、嵌入式系统单片机作为嵌入式系统的核心,广泛应用于家电、智能设备、工业控制等领域。在家电中,单片机能够控制洗衣机、冰箱、微波炉等家用...详情>>
2023-10-16 12:24:41热门推荐
什么叫闭型(closed-form)?
沸管理写作项目有哪些工具?
热什么是Gradle Transform?
热有哪些 GAN 在分类/判别方面的成功应用?
新format_map与format字符串格式化的区别是什么?
有效的项目变更管理,能够减少哪些对项目的影响?
编程语言为什么要区分表达式(expression)和语句(statement)?
软件测试的作用是什么?
windows编程,MFC编程,C语言编程,三者有什么关系?
客户管理软件目前的角色权限有哪些?
深度网络模型调试性能的重要经验有哪些?
什么是7S管理?
Mysql索引为什么要用B+Tree实现?
MySQL的普通索引和少数索引有什么区别?
技术干货






