大数据平台架构与原型实现-读书笔记6

第六章 主数据管理

       主数据指的是要在整个企业范围内各个应用间共享的数据。主数据需要在整个企业范围内保持一致,完整及可控。

一、主数据管理系统的建设策略

       对于批处理来说,主数据可以同步自主数据管理体统的数据库,在数仓体系下,几乎所有的主数据都是维度数据,需要建立相应的维度表以支撑业务查询和分析;对于实时处理,在各种流失数据计算过程中也需要获取主数据进行关联处理,而实时窗户里要求主数据的获取也必须是实时的。如果大数据平台通过主数据管理系统的API获取主数据,无论从并发压力还是从响应的及时性上都可能无法满足要求,还有可能给主数据管理体统带来过大的负载,导致其响应缓慢甚至宕机。

       为满足实时计算对主数据的要求,有两种可选技术方案:

  • 如主数据体量不大,变更也不频繁,可考虑将这些数据通过API读取到大数据工作节点的内存中,在数据处理过程中直接使用,然后周期性地从主数据管理体统同步最新状态的主数据。该方案优点是架构简单、易于实现,但对主数据有预设条件,不能成为一种广泛使用的方案。
  • 改造主数据管理系统,引入内存数据库,如Redis,针对所有主数据,除常规持久化的业务数据库外,再配备一个内存数据库的副本,将这个内存数据库开放给大数据平台使用。该方案是一套很完备的技术方案,可满足各种主数据获取需求,代价是架构比较复杂。

二、围绕主数据进行领域建模

       软件工程领域在业务逻辑建模方面有两种主流的额方法论:一种是面向数据库的实体关系模型,另一种是面向对象思想为基础的领域模型。前者是关系型数据库的建模理论,一个实体或业务概念对应一张数据表,实体间的关联关系通过外键实现,不存在继承、多态等更加丰富的关联关系。后者是基于面向对象对业务领域进行建模的方法论,领域模型能更加准确的描述业务系统,合理承载业务逻辑,业务系统越复杂,其优势就越大。

       领域建模在应对复杂业务场景时非常有效,因为它是对业务逻辑的一种自然的梳理和划分,最能够反映领域的本来目的,越是复杂的业务场景越能体现它的优越性。而现实领域建模最好的方法论是“领域驱动设计(Domain Driven Design,简称DDD)”

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值