31、数据架构演进与访问安全:从模式管理到数据消费

数据架构演进与访问安全:从模式管理到数据消费

1. 模式变更对业务逻辑的影响

在数据处理中,模式变更可能会对业务逻辑产生意想不到的影响。例如,在 SQL 里,如果将 NULL 值与非 NULL 值相加,结果会是 NULL。这可能导致业务用户在查看销售总额报告时看到空值,这显然不是预期的结果。若使用 “0” 作为默认值,虽然能避免 sum_sales 列出现 NULL,但即使有新数据到来,现有数据也不会改变,看起来就像没有新销售发生一样。

即便数据管道仍在运行,模式变更时其中的业务逻辑也可能会被破坏。目前,这个问题没有简单的解决方案。因此,设置一些警报机制很重要,它能让我们知道模式发生了变更,这样就能审查现有的管道并在必要时进行调整,同时告知用户某些报告可能暂时不准确。

2. 数据转换管道与数据仓库的模式管理差异

2.1 数据转换管道

数据转换管道大多处理文件(实时管道除外)。当使用 Avro 作为文件格式时,每个文件都会存储模式定义。这意味着我们可以在云存储中存储不同模式版本的文件,然后让管道依靠兼容性规则来协调这些不同版本的模式。

2.2 数据仓库

数据仓库(包括云供应商开发的)的工作方式不同。数据仓库将所有数据存储在表中,这些表必须有定义好的模式,同一表不能有多个模式版本。这对模式演进场景有两个影响:
- 随着数据源或数据产品的模式发生变化,我们需要调整数据仓库中相应表的模式。
- 数据仓库表的模式必须随着时间累积变化,而不能应用不可逆的更改。

现有数据仓库不与外部模式注册表集成。这意味着,虽然我们会使用模式推断并将

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值