Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/238.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 对于大规模的系统-数据库过程或编程逻辑,什么是最好的方法_Java_Php_Database_Database Administration - Fatal编程技术网

Java 对于大规模的系统-数据库过程或编程逻辑,什么是最好的方法

Java 对于大规模的系统-数据库过程或编程逻辑,什么是最好的方法,java,php,database,database-administration,Java,Php,Database,Database Administration,我真的陷入了困惑 我们使用某种语言(java/php/python)作为前端和数据库之间的中介。我们使用JPA/hibernate来平滑这个数据流。如果我们与任何DBA进行检查,大多数数据处理、计算、作业处理都可以在过程或触发器的帮助下直接在db端完成,并且具有良好的可伸缩性。同样的事情,如果在java/php端处理,它需要花费相当长的时间,并且可能会再次出现可伸缩性问题,因为事务处理不是很直接 我想澄清的是:1]用DB过程处理最可能的逻辑(比如处理影响许多表的大块处理)真的更好/正确吗?2]

我真的陷入了困惑

我们使用某种语言(java/php/python)作为前端和数据库之间的中介。我们使用JPA/hibernate来平滑这个数据流。如果我们与任何DBA进行检查,大多数数据处理、计算、作业处理都可以在过程或触发器的帮助下直接在db端完成,并且具有良好的可伸缩性。同样的事情,如果在java/php端处理,它需要花费相当长的时间,并且可能会再次出现可伸缩性问题,因为事务处理不是很直接

我想澄清的是:1]用DB过程处理最可能的逻辑(比如处理影响许多表的大块处理)真的更好/正确吗?2] 可伸缩性可以通过数据库实现,而不能通过编码实现吗?3] 有没有更好的方法来看待数据库和编码的关系

提前谢谢


关于

好吧,根据你说的,你说对了

但是,并非总是您会有一个正确的答案,例如,我正在处理一个记录超过6M的系统,您需要分析系统并检查数据库性能,当您开始时,性能会很好,但是随着系统的扩展,您开始有越来越多的记录,在这里,您将知道是否可以将触发器和所有内容保存在数据库中,或者需要对它们进行硬编码,但从我所看到的情况来看,您最好在数据库中完成计算,因为它在3个系统之间共享


因此,我的建议是,将计算结果保存在数据库中,除非由于性能或任何因素而必须移动它们。

我们当前的系统是Java。但随着流量的增长(预计将达到1000万左右),我们将把大部分繁重的处理转移到DB程序。这是一个好的举动吗?请建议您需要确保不在存储过程中执行业务逻辑,因为这是一个非常糟糕的主意,同时,请确保您将始终监视数据库的性能,并确保您的团队有资格为存储过程编写干净的代码。