【发布时间】:2020-03-26 04:24:01
【问题描述】:
Data Lake should be immutable:
重要的是,放入湖中的所有数据都应该清晰 出处地点和时间。每个数据项都应该有一个明确的 追溯它来自哪个系统以及数据的生成时间。这 因此,数据湖包含历史记录。这可能来自 将领域事件馈入湖中,与 Event Sourced 天然契合 系统。但它也可能来自定期转储的系统 当前状态进入湖中 - 一种有价值的方法 源系统没有任何时间能力,但你想要一个 对其数据进行时间分析。这样做的结果是数据 入湖不可更改,一经陈述的观察不能 已删除(尽管稍后可能会被驳斥),您还应该期待 矛盾的观察。
规则是否有任何例外,在哪些情况下覆盖 Data Lake 中的数据可能被认为是一种好习惯?我想没有,但有些队友有不同的理解。
我认为在累积算法的情况下需要数据来源和可追溯性,以便能够重现最终状态。如果最终状态不依赖于先前的结果怎么办?如果他说 Data Lake 中的 Data Lake 不变性(事件溯源)仅用于累积算法,那么有人说得对吗?
例如,您每天满负荷摄取表 A 和 B,然后计算表 C。如果用户只对 C 的最新结果感兴趣,是否有任何理由保留历史记录 ( A、B、C 的基于日期划分的事件溯源?
另一个问题可能是 ACID 合规性 - 您的文件可能已损坏或部分写入。但是假设我们正在讨论可以从源系统轻松恢复 A 和 B 的最新状态的情况。
【问题讨论】:
标签: architecture bigdata etl event-sourcing data-lake