闲话少说,先上图。由于版主在银行工作,所以此篇文章base金融系统数据架构,但是企业级数据架构应该都大同小异,可供参考。
FIRST
先来了解一下基础数据架构流程以及设计思想,从下往上看。
整体设计思想是,各个系统的源数据通过ETL同步到操作性数据仓库ODS(贴源层)中,对ODS数据进行面向主题域建模形成DW(数据仓库),DM是针对某一个业务领域建立模型,具体用户(决策层)查看DM生成的报表。
You know、企业的系统一定不会是单一的,特别是现在微服务和SOA架构统治天下的时代,因此数据层面的存储一定是冗杂的,会用关系型数据库存储一些关系型业务数据,也会用文件数据库存储一些文件以及日志用于后续的解析和业务支撑,像银行系统内部,就会分为核心系统、信贷系统、渠道系统等等系统的数据都是分库存储的。此处为内部数据源。
由于现在信息量爆炸,大数据风潮下,互联网公司倒逼银行改革,银行会选择接入一些征信、工商等三方数据,也会采集一些社交媒体的数据整合到大数据平台中用于对后续业务系统的支撑,诸如大数据风控系统,智能营销系统等等。此处为外部数据源。
内部数据源,由于是多渠道接入的,而且用户在填写信息的时候有一些数据是不符合规范的,而且各个系统间一些相同字段的字典定义也不相同,所以会造成系统间相互调用时候出现数据不匹配等情况。此时就会出现一套企业统一的数据质量管理、数据标准管理以及元数据管理这么一套数据管控体系,如图右侧,如果系统本身的数据库积累太久的数据会导致查询速度变慢,而且对于行内的一些指标分析以及业务支撑无法提供直接的数据支撑,需要跨库联表的复杂查询,所以数据仓库由此诞生,数据仓库中存储长期的,如十年、二十年的数据信息,并将数据按应用主题的维度去汇总存储,方便以后对进行统计分析和数据应用。此处为数据仓库。
大数据时代下,大数据系统现在也成为了企业的必备核心存储计算系统,大数据平台结合业务,采集行内可用的数据和行内的多维度数据进行汇总,然后对数据进行清晰、挖掘构建客户画像,提供风控模型等支撑应用系统。此处为大数据平台。
再向上的思路就很清晰了,数据经过整理后,可以对外提供数据服务,也对平台内外的应用系统进行支撑,最终提供给相应的用户进行操作分析。
SECOND
内外数据源都很好理解,那我们来详细看看数据仓库也就是数据中台的设计。
通常企业级的数据仓库设计都是三层结构,ODS层、DW层、DM层,我们分别来看看三层结构所代表的意义以及作用。
ODS
操作性数据仓库ODS的应用场景:
1、在业务系统和数据仓库之间形成一个隔离,ODS直接存放从业系统抽取过来的数据,这些数据从结构和数据上于业务系统保持一致,降低了数据抽取的复杂性。
2、转移一部分业务系统的细节查询功能,因为ODS存放的数据与业务兄台那个相同,原来有业务系统产生的报表,现在可以从ODS中产生了。
3、完成数据仓库中不能完成的功能,ODS存放的是明细数据,数据仓库DW或DM都是存放的汇聚数据,ODS提供查询明细的功能。
DW
正经的数据仓库,为企业所有级别的决策制定过程,提供所有类型数据的战略级和,是一个包含所有主题的通用的集合。
1、效率足够高,要对进入的数据快速处理
2、数据质量,数据仓库是提供很多决策系统的支撑数据,所以数据准确非常重要
3、扩展性,企业业务扩展和降低企业建设数据仓库的成本考虑
4、面向主题,数据仓库中的数据是按照一定的主题域进行组织的,每一个主题对应一个宏观的分析领域,数据仓库派出对决策无用的数据,提供特定主题的简明视图
DM
数据集市,以某个业务为出发点而建设的局部DW,DW只关心自己需要的数据,不会全盘考虑企业整体的数据架构和应用,每个应用都应有自己的DM。
以上。
LAST
我感觉目前企业级别的数据架构规划都是大同小异,一方面需要支撑线上业务系统,一方面需要汇总加工数据、构建可以快速查询某个维度数据的数据中台,同时还要顺应大数据时代的发展,结合外部数据进行一些多维度宽领域的业务分析、挖掘出有价值的信息、构建适合的模型来增强自身的竞争力度。