目录
十一:工具域优惠券领取事务事实表
11.1 主要任务:
11.2 思路分析:
11.3 图解:
十二:工具域优惠券使用(下单)事务事实表
12.1 主要任务:
12.2 思路分析:
12.3 图解:
十三:工具域优惠券使用(支付)事务事实表
13.1 主要任务:
13.2 思路分析:
13.3 图解:
十四:互动域收藏商品事务事实表
14.1 主要任务:
14.2 思路分析:
14.3 图解:
十五:互动域评价事务事实表
15.1 主要任务:
15.2 思路分析:
15.3 图解:
十六:用户域用户注册事务事实表
16.1 主要任务:
16.2 思路分析:
16.3图解:
十一:工具域优惠券领取事务事实表
11.1 主要任务:
读取优惠券领用数据,写入 Kafka 优惠券领用主题
11.2 思路分析:
用户领取优惠券后,业务数据库的优惠券领用表会新增一条数据,因此操作类型为 insert 的数据即为优惠券领取数据。
11.3 图解:
十二:工具域优惠券使用(下单)事务事实表
12.1 主要任务:
读取优惠券领用表数据,筛选优惠券下单数据,写入 Kafka 优惠券下单主题。
12.2 思路分析:
用户使用优惠券下单时,优惠券领用表的 using_time 字段会更新为下单时间,同时 coupon_status 字段会由 1401 更改为 1402,因此优惠券下单数据应满足三个条件:① 操作类型为 update;② 当前 coupon_status 字段的值为 1402;③ 修改了 coupon_status 字段。
12.3 图解:
十三:工具域优惠券使用(支付)事务事实表
13.1 主要任务:
读取优惠券领用表数据,筛选优惠券支付数据,写入 Kafka 优惠券支付主题。
13.2 思路分析:
用户使用优惠券支付时,优惠券领用表的 used_time 字段会更新为支付时间,因此优惠券支付数据应满足两个条件:(1)操作类型为 update;(2)修改了 used_time 字段。使用优惠券支付后,优惠券领用表数据就不会再发生变化,所以在操作类型为 update 的前提下,只要 used_time 不为 null,就可以断定本次操作修改的是 used_time 字段。
13.3 图解:
十四:互动域收藏商品事务事实表
14.1 主要任务:
读取收藏数据,写入 Kafka 收藏主题
14.2 思路分析:
用户收藏商品时业务数据库的收藏表会插入一条数据,因此筛选操作类型为 insert 的数据即可。
14.3 图解:
十五:互动域评价事务事实表
15.1 主要任务:
建立 MySQL-Lookup 字典表,读取评论表数据,关联字典表以获取评价(好评、中评、差评、自动),将结果写入 Kafka 评价主题
15.2 思路分析:
1)设置 ttl
前文提到,与字典表关联时 ttl 的设置主要是考虑到从外部介质查询维度数据的时间,此处设置为 5s。
2)筛选评论数据
用户提交评论时评价表会插入一条数据,筛选操作类型为 insert 的数据即可。
3)建立 Mysql-Lookup 字典表
4)关联两张表
5)写入 Kafka 互动域评论事实主题
15.3 图解:
十六:用户域用户注册事务事实表
16.1 主要任务:
读取用户表数据,获取注册时间,将用户注册信息写入 Kafka 用户注册主题。
16.2 思路分析:
用户注册时会在用户表中插入一条数据,筛选操作类型为 insert 的数据即可。
16.3图解: