这个问题在项目组不同的阶段,策略是不一样的。如果是刚组建的项目组,或者创业型的公司,开发效率优异先,跑慢了你就死了。这个时候对于服务端开发来说就直接访问DB就行了。
一、两个后台应用(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选择器和记录筛选。