数据仓库(英语:data warehouse,也称为企业数据仓库)是用于报告和数据分析的系统,被认为是商业智能的核心组件。 数据仓库是来自一个或多个不同源的集成数据的中央存储库。数据仓库将当前和历史数据存储在一起,用于为整个企业的员工创建分析报告。 ——来自维基百科
数据仓库是存放数据的仓库,用户可以在仓库中直接或者间接找到所需要的数据,用于写报告、做分析、统计历史、预测未来。数据仓库不产生数据,它的数据都是来自不同的业务系统,业务系统专注于做业务,产生的数据都集成到数据仓库存储起来。 ——来自作者的白话文
图-1 通用数据仓库数据架构
2-1 数据仓库的几大特性
1、更全的公司数据——集成性(Integrated)
数据来自企业各OLTP系统,在数据仓库中是集成过且一致的。
2、按照一定规则分类好的数据——主题导向(Subject-Oriented)
有别于一般OLTP系统,数据仓库的数据模型设计,着重将数据按其意义归类至相同的主题区(subject area),因此称为主题导向。举例如Party、Arrangement、Event、Product等。
3、数据都是历史留痕的——时间差异性(Time-Variant)
数据的变动,在数据仓库中是能够被纪录以及追踪变化的,有助于能反映出能随着时间变化的数据轨迹。
4、尊重史实的数据——不变动性(Nonvolatile)
数据一旦确认写入后是不会被取代或删除的,即使数据是错误的亦同。(i.e.错误的后续修正,便可因上述时间差异性的特性而被追踪)
5、安全的数据——安全性(Security)
数据进入数据仓库后,常常伴随一系列举措保障数据的存储、使用安全。
2-2 数据仓库的几大分层
数据仓库为甚么要分层? 类似于高速公路分道、流水工艺分段,是为了让数据编排更整洁、使用更方便。对比IBM、TD等传统公司,以及当下美团、阿里等互联网公司,在数据仓库分层方面大同小异。
所以,数据仓库分层可以是
1) stage->ods->dwd->dwb->dws->app
2) stg->odm->idm->sdm->dmx
3) bdm->fdm->gdm->adm->app
4) … 等等
图-2 数据仓库分层策略
2-3 数据仓库的几大数据
数据仓库的数据除了横向分层以外,纵向也会按照主题进行切分,通常主题的裁剪和设计伴随着公司归属行业的不同而有所区别,比如,零售行业、金融行业等等。行业分类通常会参考国家统计局国民经济行业分类方式,根据各行业的不同业务属性进行数据仓库主题的裁剪。
图-3 数据仓库数据概览
数据仓库的建设目标,是融合多领域数据,建设企业级标准化、统一、可共享的全、准、快、省、通的全部数据体系,給下游提供稳定数据服务。通常来说,数据仓库为下游用户提供贴源数据、整合数据、指标数据三类数据服务内容。所谓贴源数据,指对原始数据,做了敏感数据处理、数据归属打标,其他与原始数据保持一致,常用于数据探查场景;整合数据,指经过一系列的业务逻辑、技术逻辑加工后的,产生的口径统一的公共数据,具备高质量、高时效、一致口径等特性,常用于运营报表、经营分析、财务结算、风控策略等场景;指标数据,指通过对业务数据进行分析得到的汇总结果,是将业务单元量化后的度量值,常用于运营报表、经营分析等场景(备注:财务和风控通常有专有领域的指标模型提供数据)。
使用数据的主要场景可概括为以下几类:
3-1 数据探查场景
灵活的查询,可以解决用户敏捷、灵活的数据加工需求,大多数的部门用户都可以通过数据查询平台,通过自助查询的方式,解决临时性的数据提取和探查的数据需求。
图-4 结果数据探查要素
3-2 运营报表场景
主要是指业务及产研侧为了满足不同业务部门的运营需求,根据特定的指标数据、关键的业务问题来设计和生成的助力运营的报表体系,通常包括销售报表、供应链报表、市场报表等等。
3-3 经营分析场景
主要指用于分析和评估公司组织经营表现的经营分析报告数据,通常会对组织盈利状况、财务状况、现金流状况进行详细分析,同时负责对业务策略、业务经营风险进行评估。
3-4 财务核算场景
主要指组织进行财务核算的关键活动,用于对组织财务情况、经营成果、现金流量等进行分析,为企业决策提供可靠依据。
3-5 风控策略场景
主要指根据不同的业务场景,进行的相应的风险控制策略,包括但不限于对授信、反欺诈、反洗钱、全面风险、催收等各类风险管理活动。