vlambda博客
学习文章列表

建设数据仓库之前,需要考虑什么-2020年1月2日

自从Inmon归纳出数据仓库概念以来,现在已经过了30多年,一个初具规模的企业是否有必要建设数据仓库?这个问题恐怕已经不需要讨论。但建设数据仓库之前,需要理清楚哪些问题呢?今天不妨简单聊聊。
可以总结为10个方面:
  1. 需求梳理和总览:数据仓库建设开工前,首先需要全面梳理一下需求,这里的需求不是说指标定义、报表外观等细节方面,而是企业建设数据仓库的初衷是什么,目的是要解决哪些影响企业发展的问题,驱动力来自哪里(这里尤其要注意,数据仓库是典型的一把手工程,高层领导的态度及其重要)

  2. 战略层面分析:数据仓库项目建设的意义是什么?ROI如何?是否与公司发展愿景一致?只有准确回答了这些问题,高层领导才可能出面为数据仓库项目保驾护航。

  3. 战术层面分析:当前团队的建模能力、架构和技术实现能力、团队人员组成情况、公司各业务系统是否成熟,等等,这一步骤侧重于项目可行性的研究。

  4. 数据源调查:数据仓库是业务系统的下游,数据源的数据质量和数据范围,直接决定了数据仓库能否达成数据需求,数据是开展工作的最基础生产资料,如果数据源不具备条件,那报表分析需求也无从谈起。另外,尤其要注意两点:一是数据源的数据获取机制,增量还是全量、时间戳还是CDC、推送还是抽取,等等;二是数据源表结构、含义变更、系统升级、硬件更替时,如何与数据仓库项目进行信息沟通和协作的流程,非常重要。

  5. 数据发布频率:数据计算或发布的频率,是按天、按月、还是准实时,直接影响数据仓库的架构。虽然目前流式处理和批式处理框架有融合的趋势,但也仅仅是趋势而已,因此在设计数据仓库架构时,数据发布频率一定要首先确认好。

  6. 安全性:数据仓库是企业内所有数据的集中存储地,数据安全问题不能忽视,一定要做到前面,在架构时就充分考虑清楚。这可不仅仅是创建个数据库账号,做好赋权就简单解决的事情,需要一套完整的权限管控体系,例如:用户权限是否集中存储和配置,权限体系的规范(例如命名规范)和流程(赋权审批流程),甚至数据脱敏规则,数据安全定级规范和机制,等等。

  7. 合规性:尤其是在金融行业,合规性是不可忽视的架构要素,其实很多合规性要求,对软件行业来讲,既是限制,也是机遇,银行的巴塞尔协议III,保险行业的I17,等等,都催生了一大批系统研发或改造需求。或者可以说,很多数据治理水平不是很好的企业,他们的数据能力基本上就是由着合规性需求倒推出来的。

  8. 数据生命周期:数据仓库是否需要进行数据生命周期管理?答案是肯定的,虽然现在存储的价格逐年降低,但冷热数据分离,对数据仓库的运行效率具有现实性意义,另外要注意:业务系统的数据生命周期管理,例如业务系统的数据切割规则,很多时候也会对数据仓库造成很大影响。

  9. 干系人:所有项目,到最后大多都是人的问题。尤其是数据仓库这种高投入、长期投资,价值变现时间长的系统,更需要获得各相关方的理解和支持,要准确梳理对项目开展会产生影响的人、组织、流程,找准关键干系人,集中突破。

  10. 数据仓库架构:这个又可以分三块:

    1. 技术架构:技术路线选型

    2. 数据架构:数据层次划分

    3. 应用架构:数据变现方式和配套的应用端架构