关于数据中台的几点思考
1:什么是数据中台?数据中台的特点?
数据中台是指通过数据技术,对海量数据进行采集、计算、存储、加工,同时统一标准和口径。数据中台把数据统一之后,会形成标准数据,再进行存储,形成大数据资产层,进而为客户提供高效服务。 数据中台是一套可持续“让企业的数据用起来”的机制,通过有形的产品和实施方法论,构建一套持续不断把数据变成资产并服务于业务的机制,数据来自于业务,并反哺业务,不断循环迭代,实现数据数据可见、可用、可运营,通过数据中台把数据变成一种服务能力,其目标是提供普惠的数据服务。 数据中台的4个核心能力(最核心的竞争力):汇聚整合、提纯加工、服务可视化、价值变现 数据中台的功能与定位: 1)数据中台具备数据汇聚整合、数据提纯加工、数据服务可视化、数据价值变现核心能力。 2)数据中台的核心就是实现公共计算逻辑下沉,实现数据复用,提供给接口使用。 3)数据中台不是某一个单一的产品或者某个技术。本质上讲数据中台就是从数据中发现价值,赋能业务数据管理机制。 4)数据中台最核心的理念就是"OneData,OneEntity,OneService" Onedata致力于统一数据标准,让数据成为资产而非成本 Oneentity致力于统一实体,让数据融通,而非孤岛 Onservice致力于统一数据服务,让数据复用而非复制
2: 标准数据中台架构?
3: 数据中台包含哪些内容?
数据采集 数据集成 数据存储 数据模型管理 数据仓库/数据湖 数据计算/ETL 主数据管理 元数据管理 数据血缘 数据质量 指标管理 数据生命周期管理 数据安全管理 数据标准管理 自助分析平台 olap查询 BI可视化 统一数据服务 调度平台
3: oneData ?
One Data就是指所有数据只加工一次。 有以下五点需要保障: 分主题域管理 命名规范定义 指标一致 数据模型复用 数据完善 oneData包含以下模块:数据同步/采集,数据目录,数据资产,数据模型,数据质量检查,元数据管理,数据治理,数据存储,数据计算,etl...
4: oneEntity ?
oneEntity旨在连接数据孤岛,实现数据融通。其中包括:IDMapping,OneEntity统一实体,GProfile全域标签萃取,GBehavior全域行为。(用户画像标签平台,oneModle(多业务模型融合)
5: oneService ?
One Service即数据即服务,强调数据中台中的数据应该是通过API 接口的方式被访问。 有以下四点: 屏蔽异构数据源 把控数据网关 提供面向用户的逻辑模型 保证性能和稳定性 OneService体系方法论至少包括:主题式数据服务、统一但多样化的数据服务、跨源数据服务3个方面。 (1)主题式数据服务。举一个例子,假设用户想要看的是“会员”这个主题下的数裾.,至于“会员”主题背后有1000张物理表还是2000张物理表,他都不关心。而主题式数据服务要做的是,从方便用户的视角出发,从逻辑层面屛蔽这1000张甚至是2000张物理表,以逻辑模型的方式构建而非物理表方式。 (2)统一但多样化的数据服务。例如,双十一当天上百亿次的调用服务是统一的,但获取形式可以是多样化的,可以通过API提供自主的SQL查洵数据服务,也可以通过API提供在线直接调用数椐服务。 (3)跨源数据服务。不管数裾服务的源头在哪里,从数据服务的角度出发,都不应该将这些复杂的情况暴露给用户,而是尽可能地屏蔽多种异构数据源。 oneService包含内容:统一查询API接口,集群性能监控,全链路监控,调度平台,网关服务,鉴权,安全认证,高可用建设,容器化...
OneService平台的第一个关键技术是API矩阵。API矩阵是指,平台面向不同的数据服务业务场景,而沉淀下来的API创建模板或者API类型。API类型非常多,我们将API类型从两个维度来划分,一是查询灵活度,二是查询速度,每个象限中都有API分布。用户在平台创建API时,可根据自己的需求,从对应象限中寻找符合自己场景的API。此外,针对单类API,面向不同的业务使用场景时,还可做到定制化,如设置数据压缩、热点数据加速等特性,从而更好满足业务需求。
本文选取三类典型的API类型介绍:
- KV API:KV API 底层基于KV 引擎,如Redis、Hbaes、Pika 等,因此取数很快,且可支撑百万QPS。KV API消息是基于Protobuf,传输效率也非常高。用户在使用时,拿到的结果对象也是基于PB(结果集是自动ORM),因此在编码时也很方便。典型使用场景包括用户标签查询、IP查询等点查类场景。
- SQL API:SQL API底层基于OLAP引擎,如Clickhouse、Druid 等,其支持的查询速度相对慢一些,不过能够支持更加灵活自由的查询条件。SQL API提供了Fluent API风格的接口,调用者可在select中自行传入要查询的字段信息,也可在where方法中自由构造多种嵌套的过滤查询条件。SQL API典型使用场景是支持数据BI看板。
- Template API:Template API 和 SQL API 类似,底层也是基于Clickhouse、Druid等,不过有个较大区别点是用户在使用Template API时,查询模板是预定义在服务端,然后在客户端动态传入参数变量,后台将模板和变量组合成完整语句查询。其典型场景和SQL API类似。
OneService平台的第二个关键技术是「配置即开发」的设计理念。早期快手建设数据服务依赖于手工开发,而「配置即开发」意味着,用户只需要配置好一个API,就相当于开发一个API接口。基于这个设计理念,用户通过平台创建API,主要包含三个阶段:
- 配置 API:配置创建API的必要信息,包括数据底表来源、接口本身形态(RPC or HTTP)、是否需要批量访问数据、访问QPS范围、测试链路独立数据源等等。
- 自动生产接口:OneService平台根据前面的 API 配置信息,自动化生成客户端接口以及自动部署服务端。在不需要用户参与的情况下,后台自动化去做好数据加速、数据服务接口生成、接口验证、测试环境配置、接口上线和上架等操作。
- 使用接口:待 OneService 平台自动化创建 API 接口之后,调用者只需要在平台上申请接口权限,即可在测试环境和正式环境访问数据。
上述三个阶段中,对用户提效最大的是第二阶段,即自动生产接口。这也是「配置即开发」的核心落脚点。OneService 平台自动化生产包括三个主要步骤:
- 基于Code Generation的客户端自动化生成:用户提交的 KV API 创建申请,后端根据其配置详情信息,来生成 Java 代码,并且自动发布 SDK。该 Java 接口针对每个业务是定制化的,使用体验更好。除了 KV API 之外,针对 SQL API创建申请,后端无需再次创建定制化的Java 接口,用户是使用统一的固定的预先开发好的 Java 接口来访问 SQL API数据。未来趋势是,OneService 平台提供一个统一的接口,来应对所有类型的场景。
- 热部署轻量虚拟服务:KV API / SQL API 客户端的请求打到后端,会有对应的虚拟服务处理。虚拟服务保留了API粒度的处理逻辑,如数据存储地址、读取方式、解析逻辑等,由于其非常轻量,因此也可以动态迁移到其他物理集群上,来动态平衡流量和服务压力。
- 数据加速:由于数据资产主要存储于离线存储体系,读取速度较慢,因此需要进行数据加速,将数据以一次性或者周期性的方式加速到高速存储引擎,包括 KV 引擎或者 OLAP 引擎中。虚拟服务可直接从高速引擎中取数。
6: 统一存储
统一存储不仅仅在于架构简单,更主要是避免了跨源连接,复用性增强,统一管理起来,消除了数据孤岛,而且避免了多组件之间的兼容性和效率影响。也为后续湖仓一体提供了存储基石。
7: 统一计算引擎
统一数据计算引擎,降低传统实时计算与批处理技术不一致的问题,降低系统的管理成本。 后续可以采用批流一体,避免了维护两套代码,也简化了技术架构。
8: 统一数据服务
中台核心目的就是对外提供便捷、准确、高效的数据服务,前期包括数据集成与数据资产管理均为统一的数据服务提供保障。对外服务的主体包括但不限于数仓数据、指标信息、元数据信息。服务方式包括但不限于:数据接口、SDK开发包、搜索展示平台、数据地图、数据门户等。 统一服务出口的意义主要有以下几点: 中台内部集成与治理后的数据,对外服务过程中可确保公司层面的数据一致性。 通过可复用的数据服务出口,为后续应用开发减少了工作量。 提供方式 数据接口:通过HTTP接口对外提供数据服务。 可视化图表:将数据通过可视化图表进行展现。 数据地图:在元数据基础上,通过多层次图形化的数据资产管理工具,将企业内各类数据进行展示,帮助业务人员、管理人员、开发人员更好更快地查找、理解、使用和管理数据。 数据门户:通过配置导航菜单,自由组合报表、⼤屏、数据填报、外部链接等资源,形成⼀个可通过自定义地址统一访问的资源。数据门户可⽅便用户对多个关联⻚⾯进⾏集中查看。 消息队列:将数据发送至消息中间件中,由下游进行统一消费。