我们在金融领域实施了一些业务流程。监管机构的要求(不幸的是,不是很具体)是为了审计目的而拥有数据沿袭。
该流程包含两部分:同步和异步。同步部分是包含有关销售点、客户和商品的大量信息的付款尝试。异步部分是一个批处理过程,它每小时向信用评估数据模型提供新计算的变量部分。这些变量可能包括一些聚合,如余额和与历史交易的链接。
为了计算异步部分,我们从多个关系数据库中提取数据,并将它们以原始格式存储在 HDFS 中(csv 格式的表中的行)。
当在 HDFS 上存储数据时,会触发基于 Spring XD 计算一些聚合并为同步部分生成数据的工作。
我们有关系数据、HDFS 上的原始数据和依赖于 POJO 的 MapReduce 作业,这些 POJO 描述了 SpringXD 中实现的相关语义和转换。
那么,问题是如何处理上述场景中的审计?我们需要在任何时间点能够解释为什么做出特定决定,并且能够解释策略中使用的每个变量(同步或近实时流)是如何计算的。
我查看了现有的 Hadoop 堆栈,看起来目前没有工具可以提供良好的企业级审计功能。
我的想法是从客户实施开始,包括>
- 包含所有业务术语的业务词汇表
- 操作和技术元数据 - 将每个条目的转换执行记录到单独的存储中。
- 记录对业务逻辑的更改(使用保存业务规则和转换的版本控制中的数据)。
任何建议或分享您的经验将不胜感激!