Hadoop 之上的数据建模-Data Vault 2.


problem #4: The Business Domain:

业务分析需求多样化。

人工智能与机器学习当下火热的两个领域,分析需求是多样化而且多变性的。

每个学习模型需要的数据格式,可能都需要大量随时可灵活变化。而机器学习专家们是不会去做数据收集这么繁琐的工作,理解他们的需求就变的更有成本。往往给非所需,词不达意。这是更需要数据模型的灵活性建模,在每个需求变化了之后,原先模型都能快速转变为可用的数据原型,供数据科学家使用。


problem #5: Flexibility

综合前面四点,我们要做的就是弹性化的设计方案,ETL ,Data Modeling ,分析与报表都要弹性化。需求随时有变化,上游数据结构也会随时变化以适应需求的更改,因此作为数据应用下游的数据仓库,在设计方面需要考虑到灵活性与可扩展性。而整个数据仓库设计的中心,就是数据建模。一来数据模型是 ETL 的目标结构,可以说 ETL 的设计就是基于数据模型而开展的;二来数据模型是数据分析的基石,决定了报表逻辑以及机器学习等数据挖掘工具的数据输入格式。


以及 Data Vault 对这几个现实问题的解决方案


problem #1 : The one constant is change, so how well can an EDW/BI solution adapt?

我们将实体分为三种存在形式:一是实体的 key 值,二是实体的属性值, 三是实体的 relationship(关系)。Data Vault 2.0 将这些都分开存储,解决了耦合的复杂度,变得更加灵活与可扩展,也就是弹性化程度更高了。

key, relationship都是固定的几列值,相对稳定。

实体的属性值是可以随时变化的,而这种变化反映在Data Vault 2.0 模型上,就是增加几个列。

所以可扩展性非常高。


problem #2: big data

传统的 BI 工具,在ETL 方向上是需要做脏数据处理的,比如删掉一些不符合逻辑的数据。而 Data Vault 2.0 是基于客观事实做的数据增量抽取,不做逻辑校验,因此可以大规模的抽取和处理数据,更符合大数据特征。


problem #3: Complexity:

传统的 BI 工具,建模会有很多的可变性,比如 SCD(Slowly Change Dimension), Fact 表的多变性。而 Data Vault 2.0 就只有 Hub, Link, SAT(Satellite), Link-Satellite 表。区分清楚这些表,剩下的重点就只有设计和调度 ETL了。在建模这一步反而更简单了。


problem #4: The business Domain:

我们不应该把 Data Vault 当做处理脏数据的地方,他仅仅是反映了上游系统数据的真实性,无论是正确还是逻辑错误的数据,都应该在 Data Vault 数据仓库里面反映出来。基于Data Vault 2.0 模型,很快就可以生成业务分析需要的数据模型。这才是需要处理验证逻辑的地方。


problem #5: The Flexibility

Data Vault 2.0 是联合了 Six Sigma, TQM, SDLC 制定的符合 SEI/CMMI Level 5的标准。有着更短的发布周期,一般2-3周即可发布。因此更快更方便的更替业务需求。


分享到:


相關文章: