# 数据中台

## 是什么

数据中台是聚合和治理跨域数据，将数据抽象封装成服务，提供给前台以业务价值的逻辑概念。

核心思想：**数据共享**

## 为什么

数据中台的出现，就是为了弥补数据开发和应用开发之间，由于开发速度不匹配，出现的响应力跟不上的问题

1. 效率：为什么应用开发增加一个报表，就要十几天时间？为什么不能实时获得用户推荐清单？当业务人员对数据产生一点疑问的时候，需要花费很长的时间，结果发现是数据源的数据变了，最终影响上线时间。
2. 协作问题：当业务应用开发的时候，虽然和别的项目需求大致差不多，但因为是别的项目组维护的，所以数据还是要自己再开发一遍。
3. 能力问题：数据的处理和维护是一个相对独立的技术，需要相当专业的人来完成，但是很多时候，我们有一大把的应用开发人员，而数据开发人员很少。

## 怎么做

1. 实时接入：flume + kafka
2. 计算框架：flink
   1. 流计算组件划分实时数据切片，
   2. 批处理组件提供离线数据模型（驻留内存）
   3. 两类数据在处理过程中实现批流关联
3. 实时模型
   1. 动态模型：对实时的数据进行汇总统计，适合做实时的统计指标分析，比如实时的业务办理量，一般可存储于Kafka和Hbase
   2. 事件模型：把实时的数据抽象成一系列业务事件，比如从位置日志轨迹中记录用户的位置变更事件，从而可以触发LBS的位置营销，以下是典型的位置事件模型设计，一般可存储于MQ和Redis
   3. 时序模型：主要保存用户的在线的时空位置等信息，可以基于业务场景需要进行各种快速的计算，比如非常方便的计算驻留时长，存储于Hbase或TSDB（时序数据库）
4. 实时服务
   1. 编程可视化（开发高效）：降低实时程序开发的复杂度，在脚本开发之外，提供另外一套可视化、直观的实时级开发能力
   2. 组件可编排（快捷编排）：抽象数据操作过程完整组件，组件自身包含丰富的计算表达式和函数能力，满足绝大多数实时应用场景
   3. 模式可切换（便利切换）：用户在图形化编排之外，还可以视图直接切换为脚本语言开发，方便高级用户快速构建流处理程序
5. 实时应用

## 好不好

1. 灵活，随意组合
2. 避免重复建设
3. 通用业务能力沉淀，前台减负
4. 统一服务接口，提升运营效率

价值

1. 创新力：帮助企业用数据思维激活行业沉淀，形成发展新动力。业务人员和技术人员需要从各自不同角度去发掘业务价值，并将业务价值转变为更接地气的用户角度的东西，易懂易用易理解，用户才会接受。
2. 场景驱动：外部环境及内部业务调整，快速适应不断变化的需求。场景驱动需要将被动变成主动，问题发生时，能够基于数据资产体系及服务体系的积累快速给出响应。
3. 经验沉淀：资产价值挖掘过程中，需将经验转换为数据资产体系的一部分。业务方通过对场景的理解，快速选择所需的数据能力验证数据价值，验证过程及结果数据，做为数据资产沉淀的重要部分，回馈到数据中台中，做为持续优化的关键能力。

## 参考

1. [阿里数据中台分析](https://juejin.im/post/5df1ac28e51d45584476e8d0)
2. [数据中台总结](https://zhuanlan.zhihu.com/p/88537265)
