gydtep
发表于 2020-9-30 12:09:51
可以使用非 XML 的本地语言编写规则,从而便于学习和理解。并且,还可以将 Java 代码直接嵌入到规则文件中,这令 Drools 的学习更加吸引人。
gydtep
发表于 2020-9-30 13:24:11
使用规则的核心优势在于可以简化对于复杂问题的逻辑表述,并对这些逻辑进行验证(规则比编码具有更好的可阅读性)。规则机制可以解决很复杂的问题,提供一个如何解决问题的说明,并说明每个决策的是如何得出的。
gydtep
发表于 2020-9-30 15:07:25
Rete 在拉丁语中译为”net”,即网络。Rete 匹配算法是一种进行大量模式集合和大量对象集合间比较的高效方法,通过网络筛选的方法找出所有匹配各个模式的对象和规则。
gydtep
发表于 2020-9-30 17:19:45
同时 Agenda 通过冲突决策策略管理这些冲突规则的执行顺序,Drools 中规则冲突决策策略有:(1) 优先级策略 (2) 复杂度优先策略 (3) 简单性优先策略 (4) 广度策略 (5) 深度策略 (6) 装载序号策略 (7) 随机策略 。
gydtep
发表于 2020-9-30 17:34:25
Drools 是一个基于Charles Forgy's的RETE算法的,易于访问企业策略、易于调整以及易于管理的开源业务规则引擎,符合业内标准,速度快、效率高。
gydtep
发表于 2020-9-30 21:01:40
when 条件语句,就是当到达什么条件的时候
then 根据条件的结果,来执行什么动作
end 规则结束
gydtep
发表于 2020-10-2 09:45:31
这一步在树状匹配之前就进行了,避免不断重复Join重排带来的时间浪费。重排后的Join可以更大概率地被我们匹配到。
gydtep
发表于 2020-10-2 10:33:41
为了实现Cache的通用性,根据星型数据模型的特点,我们引入了Record Preserve的概念。
gydtep
发表于 2020-10-2 10:56:53
这和传统数据库中的Primary Key/Foreign Key的关系较为类似,当有主键的表与非空外键指向的表在外键上进行Join时,记录的条数不会变化,不会膨胀某条记录,也不会丢失某条记录。
gydtep
发表于 2020-10-2 12:00:22
PK/FK的语意在大数据处理框架中经常缺失,我们引入了新的DDL让用户自定义Record Preserve Join的关系。