像梦一样奔驰|读《数据中台-让数据用起来》笔记整理( 五 )


将计算能力根据应用场景抽象为四种类型 , 包括了批计算 , 流计算 , 在线查询和即席查询 。 对于批计算主要是MapReduce框架进行 , 对于流计算主要是类似通过Storm,SparkStreaming框架来实现等 。 而对于在线查询往往基于内存数据库 , 或者基于Elasticsearch , Solr来实现 。 对于即席查询采用类似MPP数据库 , Impala等 。
对于在线查询和即席查询对数据实时性要求最高 , 而对于批计算往往更好应对大数据量需求 , 数据在中间过程也可以落地而不是必须全部在内存里面完成 。
实时开发
要看到在构建数据中台的时候 , 实时开发是一个重点 。 随着数据应用场景的不断丰富 , 企业对于数据价值反馈到业务中的时效性要求也越来越高 , 很早就有人提出一个概念即数据的价值在于数据的在线化 。 对于实时开发和计算具备如下三个关键特点 。
实时且无边界的数据流.(数据流按时间发生顺序被实时的消费和订阅)持续且高效的运算流式且实时的数据集成基于Storm , SparkStreaming , ApacheFlink构建的一站式 , 高性能实时大数据处理能力 , 广泛适用于实时ETL , 实时报表 , 监控预警 , 在线系统等多种场景 。
数据中台的数据体系建设
因此数据中台数据体系是在全域原始数据的基础上 , 进行标准定义和分层建模 , 数据体系建设最终呈现的结果是一套完整 , 规范 , 准确的数据体系 , 可以方便支持数据应用 。
中台的数据体系建设应该具备如下特征
覆盖全域数据(覆盖所有的业务过程域)结构层次清晰(数据应该是分层的)数据准确一致(命名 , 粒度 , 计算口径 , 模型等)性能提升和降低成本在数据中台的数据体系架构里面 , 书里面将整个数据体系从下到上分为了四层 。
贴源数据ODS层统一数据仓库DW层标签数据TDM层应用数据ADS层我们对这个分层再做一下理解和解释 。 首先你可以看到从下到上是即是从系统->业务域-》跨越的一个层层聚合和整合的一个过程;其次就是在整个数据聚合和整合的过程中 , 数据来源的业务域的边界本身会越来越模糊 , 同时数据由于不断的汇聚和聚合 , 数据本身粒度会越来越粗 。
这个粗粒度如何理解?
比如我们对客户做分析 , 最终到顶层你可能只得到一个长期优质VIP客户的结论 。 但是支撑这个结论 , 我们在底层采集了大量的数据 , 经过维度分析 , 标签计算分析做了大量的工作才完成 。
在我们传统的BI和数据仓库设计里面 , 我们经常说的只有三个内容 , 即ODS库 , DW库 , 维度建模的数据模型 , 而在整个数据中台的数据体系里面增加了标签数据层和应用数据层 , 也可以更好的看到这两个层次的增加更多的都是为了业务应用提供服务的 。
对于标签数据层 , 我们再来看下解释 , 即是面向对象建模 , 对跨业务板块 , 跨数据域的特定对象数据进行整合 , 通过ID-Mapping把各个业务板块 , 各个业务过程中的同一对象数据的数据打通 , 形成对象的全域标签体系 。
举个例子来说你要建立客户的标签体系 , 客户的标签会来源于客户的静态属性信息 , 同时更多的是来源于动态的行为数据信息 , 而这些行为包括了注册登录 , 商品挑选 , 实际采购发生 , 支付 , 商品评价等诸多的业务域和业务模块 , 要建立完整的客户标签 , 那么这些业务域数据必须打通并建立关联映射 。