决策引擎简介2-开源与商用比较
市面上有许多种决策引擎,大致可以分为免费开源和付费商用两种。本文将比较常见的开源引擎Drools和几个常见的商用引擎,并介绍它们的区别和使用场景。
特性
功能
开源决策引擎基本上只有规则管理的功能,以及使用规则组合可以构建的功能,例如规则集、决策表、评分卡等。
成熟的开源引擎例如Drools,支持高度客制化地自定义规则,但终究跳不出规则引擎的框架。
而商用决策引擎则支持更多更复杂的功能。例如,许多商用决策引擎都集成了机器学习模型,可以使用人工智能辅助决策执行。
并且,商用决策引擎往往会针对特定领域的应用开发更多特殊功能。
性能
开源决策引擎通常规模较小,结构轻量化,在处理少量数据的时候速度更快。而面对大量数据时,就比较考验用户的优化水平。
商用决策引擎往往比较重量级,对小规模数据的处理可能反而不如开源引擎。但它们对大批量的数据和大流量的访问,有更先进的优化算法,或者其他策略以减轻系统压力。
另外,针对特殊领域开发的商用引擎,也往往会对该领域的数据有特殊优化。
服务
开源决策引擎:免费给你用就是最大的服务了
商用决策引擎则提供客户服务,随时进行问题反馈。只要加钱,从培训到协助开发等服务都可以提供。
使用
易用性
开源决策引擎通常更简陋,相应的也更难使用。它们几乎没有可视化界面,需要用户本身有足够的编程水平才能使用。
例如Drools,开发时需要使用它独有的DRL语言。且需要更复杂的功能时,需要用户自己编写算法。这相当于限定了用户必须是有经验的程序员。
上图为DRL语言的示例,使用第三方开发环境
商用决策引擎则更易用。常见的大型商用引擎,例如IBM ODM、SMARTS,或者国内的Visual Rules、Urule Pro,都支持可视化决策管理。这意味着用户无需掌握编程技能,即可参与维护规则。
上图为Visual Rules的开发界面
学习成本
上面说到,开发Drools时需要学习DRL语言,因此学习成本较高。但是,取决于具体的开源社区环境,开源引擎可能有丰富的社区资源。有经验的开发者可能会更习惯这样的环境。
商用决策引擎则通常没有什么教程。当然,由于其本身比较简单易用,加上用户通常可以联系引擎提供方要求提供资料,实际学习成本更低。非技术人员也可以较轻松地使用。
扩展性
开源决策引擎通常更轻量化,便于嵌入用户自身的体系中。当然,其扩展性取决于用户的能力,和具体的开源协议。如果协议允许,用户可以进行二次开发,自行改造规则引擎。
例如Drools使用Apache Licence 2.0协议开源,这意味着用户可以自由地修改、调用引擎源代码,甚至将其嵌入商用产品。只需在产品中附带原始协议即可。
商用决策引擎则通常自成一个完整的系统。用户也可以联系引擎服务提供方,协助进行二次开发,以适应用户需求。由于其丰富的功能和接口,其扩展性比开源引擎更强
其他因素
安全
开源决策引擎的安全性取决于开源社区的维护。如果出现安全漏洞,开发者很难及时更新修复。因此,其安全性很大程度上取决于用户自己的技术能力。
商用决策引擎由于是个封闭系统,更难出现漏洞。即使发现了漏洞,也能得到开发者的及时维护。总体来说,商用决策引擎更适用于安全需求高的场景。
成本
开源决策引擎通常是免费的,无需任何成本即可使用。但是,一般来说开源引擎无法直接用于生产和应用,还需要二次开发,这就是额外的成本了。再加上其更高的风险性和使用成本,最终成本很大程度上取决于使用场景
商用决策引擎则明码标价,对个人开发者来说或许有些昂贵,但对大型企业来说可谓是物有所值。尤其是一些对价格不敏感、但对安全性要求很高的领域,必然要选择商用引擎
总结
开源决策引擎适用的场合:
- 个人开发者,开发小型独立项目
- 学生,进行学习和研究
- 小型企业,用于协助生产
- 互联网企业,进行二次开发并嵌入产品中
对于上述情景,采用开源决策引擎已经足以满足其需求。开源引擎没有初始成本,经济能力较弱的开发者也能够享受其带来的便利性。并且,开源方案提供了很高的自由度,技术能力强的互联网企业可以自由地改造开源引擎。
商用决策引擎适用的场合:
- 大型企业,用于企业管理、产品开发等
- 传统产业,如金融、医疗、制造业等
- 另外,对于银行、政府部门等机构,应该使用国产商用规则引擎以保证安全性
对于上述提到的这些行业而言,采用商用决策引擎可以带来显著的好处,比如加快决策过程、减少人为错误、增强合规性、改善客户服务质量和提高运营效率。此外,商用解决方案通常还提供了更好的扩展性、更高的性能以及更全面的安全特性。
总之,选择开源还是商用决策引擎应基于企业的具体需求、预算和技术能力。对于资源有限或者希望对软件有更多控制权的企业来说,开源可能是更好的选择;而对于那些寻求全面解决方案、专业支持和高性能的企业,则商用产品可能是更合适的选择。