资金计算,使用的Java和Oracle / PL SQL之间的比较

royjavelosa:

伙计们,您可以在处理货币计算方面就Oracle / PL SQL和Java的优缺点进行很好的比较。如果您要开发一个将处理大量金钱计算的应用程序,那么您将使用两者中的哪一个?为什么?

这个问题并不是要引起oracle / pl sql和java爱好者之间的争论,我只想知道什么是这种要求的最佳实践或标准方法以及其背后的原因。

场景是:

  1. 数据将来自数据库(最小Oracle 10g)。
  2. 该程序将基于汇总数据(100k-1M)记录计算并生成发票
  3. 业务规则非常复杂
  4. 业务规则可能每月至少更改一次
  5. 计算中将使用几个参考表
  6. 程序每天运行一次

提前致谢。

APC:

这些条件绝对有利于使用PL / SQL。

1)数据将来自数据库(最小Oracle 10g)。
2)程序将基于汇总数据(100k-1M)记录来计算并生成发票
5)计算中将使用几个参考表
6)程序每天运行一次

如果它在数据库中并且涉及数据,尤其是大量数据,则PL / SQL是默认选项。

其余标准很难评估:

3)业务规则非常复杂
4)业务规则可能每月至少更改一次

PL / SQL绝对有能力进行计算,并且具有许多内置的算术函数。因此,这完全可以理解为您所说的“业务规则”和“复杂”。我们可以用PL / SQL编写复杂的业务逻辑(我已经做到了),但是Java的语言功能无疑使这项工作变得更加容易:我正在考虑反射和自省。

也许您正在考虑使用规则引擎?当然,金融服务行业是Rule Engines的主要用户。从处理中抽象出规则集将使满足第四条标准变得更加容易。

Java有两个已建立的规则引擎Drools和JESS还有就是在PL / SQL一个规则引擎,而且已经有一段时间了,但它主要是用来作为Oracle数据流的一部分。但是,该API是公开的,因此可以用于其他目的。了解更多

如果您正在考虑规则引擎,那么我认为这将助您迈向Java。业务规则处理是一种专业的编程范例,与PL / SQL相比,在Java中有更多的经验和支持。我怀疑这意味着在中间层使用Java,而不是Java存储过程,这对网络流量和性能有影响。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章