首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何为快速变化的架构维护数据仓库

如何为快速变化的架构维护数据仓库
EN

Software Engineering用户
提问于 2020-02-20 17:53:39
回答 2查看 512关注 0票数 4

我目前正在为一家快速成长的初创公司维护一个数据仓库。客户端有很多报告要求,这通常由我们建立的数据仓库来处理。然而,与我过去工作过的更大、更成熟的公司不同,该公司有一个快速增长的模式,几乎每两周就会有一个新的表和2到3个表的变化。这些快速的模式更改已经被ETL团队发现了,但是它一直很难跟上,所以我想知道是否有更好的方法来处理它。

为了更详细地解释这个过程,我们使用了传统的星型模式数据仓库模型。这些表将首先在没有任何更改的情况下转移到ODS DB,并将作为尺寸表和事实表转移到数据仓库层。如果生产DB模式中有一个更改,我们将需要更改ODS和数据仓库的DB结构,并更改ETL步骤。本质上,我们每个sprint都要举行一次会议,检查生产数据库中是否有任何更改,并将这些更改应用到ODS DB、数据仓库和ETL。在这一点上,我想知道是否有更好的系统方式来进行这种维护。

EN

回答 2

Software Engineering用户

回答已采纳

发布于 2020-02-20 20:59:35

你的总体策略很好。您可以尝试改进的一点是如何定义用于填充ODS和DW的转换规则。您可能会发现一种声明式方法,其中源列和表到目标列/表的映射定义在非常紧凑、简洁的DSL中,这些规则用于驱动转换过程(至少部分地)。这不会让您承担采用ETL过程来更改模式的负担,但它实际上可以使其变得更简单和更快。

一般来说,这个主题还在研究中,你会发现一些文件,甚至一些商业产品谷歌搜索“声明etl”。但是也许您会找到一种方法来设计一些适合您特定环境的简单的东西,以及您的用例所期望的模式更改类型。

票数 2
EN

Software Engineering用户

发布于 2020-02-21 05:48:03

考虑将仓库模式更改为“数据库”(https://en.wikipedia.org/wiki/Data_金库_建模),这非常适合于快速适应数据结构的变化。

作为两行总结:基本上,您将对象的核心标识符保存在一个所谓的“中心”中,所有属性都在连接的“卫星”表中。如果您有一个给定对象的新属性,您只需添加另一个卫星,而不是修改现有结构。集线器之间的关系表示为“链接”,这在卫星中也有其属性。

票数 2
EN
页面原文内容由Software Engineering提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://softwareengineering.stackexchange.com/questions/405505

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档