数据服务作为数据中台方法论OneService的核心内容,主要解决数据最后一公里问题,将大数据平台开发好的数据资产通过在线化配置API的方式提供给业务方调用,同时也能够支持用户已有的API注册到数据服务平台上调用。
为何要有数据服务平台?解释这一问题就需要了解其能解决客户的哪些痛点,我这边做了简单的梳理,主要存在以下几个痛点:
痛点解析
针对上述痛点做如下说明:
应用场景:
应用价值:
数据中台OneData、OneService方法论在国内最早是由阿里提出来的,因此国内数据中台的鼻祖非阿里莫属,其它的中台厂商大多数在阿里的产品方法论上结合自己实际业务需求进行开发的,整个数据服务平台的竞品选择如下几家厂商的产品:
概述 - 大数据开发治理平台 DataWorks
DataWorks数据服务旨在为企业搭建统一的数据服务总线,帮助企业统一管理对内对外的API服务。
整体业务流程:
业务流程
其中
核心功能
1. 数据源管理
首先是进行数据源的连接,阿里该部分主要是DataWorks其它模块共用的数据源管理连接,此部分详见数据集成产品中的配置各种数据源,阿里目前已支持多种数据源接入,详细请查看文档:支持的数据源
数据源连接
因此对于自研数据服务平台的厂商来说可以考虑该模块与数据中台中的其它产品共用该功能模块。例如:海豚调度(DophinSchduler)中的数据源中心。
2. 业务流程创建
DataWorks数据服务根据业务种类将不同类型的资源组织在一起,即构成业务流程,能够更好地帮助您以业务为单元进行开发。每一个业务流程下均包括API、函数和服务编排三个类目,分别存放您创建的API、函数和服务编排。
其中:
目前分析来看,对于自研数据服务的厂商,MVP版本可以暂时考虑仅做API的开发,对于函数及服务编排可作为后续的版本的迭代升级功能。
3. 创建API
支持向导模式和脚本模式两种方式创建API,目前行业内所有产品都是这样,对于两种模式有如下区别:
两种模式区别
向导模式
首先会进行基本属性的配置,如下:
基本属性
配置完之后会进行详细参数配置页面:
详细页面
可视化方式支持用户选择相应的库、表之后进行请求参数、返回参数、排序参数的配置选择,完成之后会自动生成相关参数,同时用户可进行过滤器配置(此部分主要通过函数实现):
过滤器配置
同时可进行资源组配置一级查看该API的版本记录,此部分不做说明,具体见DataWorks说明文档,配置完成之后点击右上角的测试,测试通过之后可以点击提交,完成API的开发。
脚本模式
脚本模式主要区别是通过编写SQL完成API的配置开发,其它内容与向导模式相同,如下图:
脚本模式
4. 注册API
与创建API不同的是
服务定义
请求参数
其它流程同创建API
5. 测试API
输入API的相关请求参数,可以进行API的测试,右侧出现请求详情及返回结果
6、授权API
阿里的授权是将API授权给某个云账号ID
API授权
7、调用API
因此对于此处存在疑虑,上面的是直接授权某个云ID,在API调用时,强调了需要新建应用,然后将API授权给某个应用。
操作步骤
8、计量API
此处是DataWorks新增的功能,此处主要对API的调用情况进行整体的统计分析说明,API计量大屏提供了各类可视化图表及统计数据,包括工作空间下的API总数、总调用次数、总执行时长用量,以及网关状态码、服务错误码、服务资源分配、排行榜单等信息,帮助您从全局角度了解API的调用情况。
API计量详情提供了各类可视化图表及统计数据,可以针对单个API分别查看监控图表,包括API网关状态码、数据服务错误码、App请求次数、流量带宽、平均响应时间。
8、其它
函数及服务编排此处暂时不做说明,详细请查看DataWorks相关文档
网易有数的一站式的数据开发及管理平台提供全链路的大数据开发,任务调度,数据质量,数据治理及数据服务平台,其中数据服务模块也是经过内部多条业务产品线的验证。
网易的数据服务平台整体业务流程如下:
业务流程
其主要作为数据资产和上层业务连接的纽带,能够快速将数仓的表通过API接口的方式提供业务方调用
整体的技术架构如下:
技术架构
从数据服务的技术角度,整个产品包含API管理服务、API查询服务、统一查询服务和网关服务,其中网关服务能够对某 些服务的调用起到限流等作用,且自身通过多副本节点的方式保证高可用。
其中:
网易猛犸数据服务平台API的主要开发流程如下
API开发流程
根据开发流程对应的功能点主要有以下部分:
数据服务功能
接下来对其核心功能进行介绍:
1、数据源登记
首先是数据源登记,平台支持多种数据源的接入
数据源登记
选择数据源类型,填写包括数据源名称、连接串、用户名和密码等基本信息。
2、API开发
首先是进行API集合创建,类似对为API创建不同的分组,比如我们可以根据我们不同的业务需求去创建不同的集合,其中集合的path作为整个API的一部分,能够方便我们快速定位该API的应用场景。
API集合创建
第二步进行API的配置开发(先介绍生成API,后面介绍注册API),同阿里DataWorks相同,网易也支持两种方式创建API,网易主要是分三步:配置基本信息、配置参数、测试
配置基本信息
基本信息配置
鉴权设置
需要注意的是,网易在创建API的时候就可进行apiToken鉴权的设置,若打开,可通过apiToken调用API,只需要在header中添加字段apiTOken、 appKey和version即可,适用于报表、数据大屏等安全性要求不高的使用场景。
配置参数
配置参数
在配置参数时,网易有个功能就是如果用户需要对返回参数进行二次处理,平台支持上传Jar包达到对返回参数的二次处理,可以将对返回参数的处理逻辑在Jar中 完成,然后上传Jar包,填写类名,若Jar中对返回参数进行了修改,可添加真实的返回参数,给API调用者将暴露真实的 返回参数信息,具体页面如下:
返回参数二次处理
保存和测试
提供在线功能测试,便于测试API取数逻辑配置的正确性
API测试
3、API发布
发布API
测试成功的API便可以进行发布上线,只有发布的API才可以绑定应用,API才可以被调用。
4、API授权
在API授权之前,首先需要在应用管理里面创建某一个应用,如下:
创建应用
在创建应用时会自动生成AppKey和AppCode值,方便在后续调用时进行签名验签认证
创建完应用之后,在API详情页将该API授权给某个应用,如下:
添加授权
5、调用API
在应用详情里可以看到AppKey和AppCode值
调用API
6、API集市
API集市功能相当于API的售卖市场,所有发布上线的API均可在此处看到,API的调用人员可根据需求查看搜索自己想要使用的API,可以通过详情页,查看当前 API的请求和返回参数,若属于需要的API,可点击”申请API”进入申请审批流程,审批通过后即可进行API的调用。
申请API
审批API
说明:如果我们自研数据服务,API集市可以作为迭代版本功能,MVP版本暂时不需要考虑该功能
7、服务概览
服务概览类似于DataWorks里面的计量API,在服务概览页面,可以查看今日、近7日和近30日的API的调用情况,包括累计已发布的API数量、累计调用API的数量、 累计调用API的次数以及累计调用API的成功次数,通过图表可了解在对应时间范围内的API调用的Top10以及服务的调 用比率等。
服务概览
8、注册API
注册API与创建API除了第二步配置参数不同,其它步骤类似,配置参数页面如下:
配置参数
9、复制、导出和锁定API
复制API
导出API
锁定API
10、API 版本管理
支持API回滚及历史版本对比,不过对于历史版本的记录,只有下面两种情况下才会进行记录:
版本对比
11、API 多环境
12、策略管理
主要分为流控策略、访问策略、报警策略三种
流控策略:支持限制单位时间内对API的调用次数,支持按照分/秒粒度级别的流量控制,也支持针对授权的应用设置流量控制,实现双重的流控。
流控策略
访问策略:主要是对API黑白名单的控制
访问策略
告警策略:配置不同的监控指标进行告警策略推送的配置
报警策略
13、API行级权限
支持控制API行级权限,从入参的角度,设置行级权限方案,整体使用流程如下:
行级权限方案
新建行级权限方案,选择入参类型,支持字符串、整型和浮点型,添加行权限值(表示可授权查看的行数据,比如city字 段有上海、杭州、北京,但只允许用户获取杭州的数据,则行权限值为杭州);
行级权限配置
其它:
资源组配置:根据需求配置不同的资源组
事件追踪:能够对操作记录进行统一的展示
袋鼠云数据服务平台整体架构如下:
整体架构
袋鼠云整体功能如下:
产品功能脑图
接下来对其核心功能进行介绍:
1、数据源管理
该功能与其他厂商产品类似,主要用于数据库的连接,支持关系型数据库及非关系型等多种数据库的连接
数据源列表
关系型数据库连接
关系数据库
非关系型数据库
非关系型数据库
2、新增API
主要包括新建API(向导模式、脚本模式)、注册API、创建函数,
其中袋鼠云的创建方式和其它厂商的功能有以下区别:
具体页面如下:
基本信息配置:
基本信息配置
参数设置(向导):
数据预览
行级权限
参数设置(脚本):
点击“编辑参数”,系统将解析当前SQL代码,得到输入参数与输出参数的关系映射并展示,帮助用户快速确认API配置逻辑是否有误。
脚本模式
API测试:
测试API
注册API(第二步)
注册API第二步
函数配置
函数配置
服务编排:
类似于DAG工作流的方式
服务编排
3、API管理
API管理主要包括API类目管理、API列表管理、函数管理、服务编排管理,详细说明如下:
API类目管理,其类似于分组管理,当前仅支持三级类目
API类目管理
API列表管理:查看当前所有的API,包括生成API、注册API、服务编排。
在API中,主要可进行API的状态管理,以及查看API。
API详情
函数管理:
函数的提交、发布状态决定了引用该函数的服务编排是否生效。
函数管理
服务编排管理:可对服务编辑进行相应的操作,查看服务编排的详情内容
服务编排管理
4、API测试
API测试
5、API申请
类似网易的API集市,用户可在集市里看到上线的API,如查询到与自己业务相关的API需要使用时,则可进行API的申请,通过审批流进行API的调用。
API调用
6、API调用
在"API管理—我的API—API申请-已审批"页面查看申请通过的API。点击API名称,查看API详情.
API调用
7、行级权限
API调用时,行级权限用来控制用户对字段的访问权限。若输入参数不符合行级权限标识下的该用户的权限值,则无法获得相应内容的输出。
步骤一:点击新增权限标识
步骤二:点击关联用户按钮,进入关联用户面板。
步骤三:确认完API基本属性后,在参数配置页面,选择数据源配置,选择相应的输出参数以及输出参数,并在输入参数中设置是否需要行级权限以及权限标识的选择。
行级权限配置
8、安全组
主要进行API黑白名单控制
黑白名单控制
9、API导出
10、API告警
API告警用于及时告知用户API调用失败的情况,并支持单次调用失败和某时间段内累计调用失败达到指定次数两种配置方式。
API告警配置
11、概览
是API的首页,展示整体调用情况,并根据API角色展示不同视角的概览全局。
提供全链路、精细化、高可用的API全生命周期开发管理工具,双模式完成数据查询、标签查询、智能计算等类型API生成和API注册,一站式完成API发布、安全认证、调用流控等服务管控,提高数据开放与数据共享。
核心功能
数澜的主要是阿里出来的一拨人创业的,因此整个产品和DataWorks类似
数澜的相关功能截图
API开发
API概览
API管理
API测试
API调用
DGC数据服务旨在为企业搭建统一的数据服务总线,帮助企业统一管理对内对外的API服务。数据服务为您提供快速将数据表生成数据API的能力,涵盖API发布、管理、运维、售卖的全生命周期管理,帮助您简单、快速、低成本、低风险地实现微服务聚合、前后端分离、系统集成,向合作伙伴、开发者开放功能和数据。
华为数据服务架构图:
架构图
华为数据治理中的数据服务主要从开发API、调用API两方面说明的,两部分的流程如下:
开发API
调用API
华为产品演示相对较少,所以目前只有官方文档,具体内容请查看官方文档
对比上述几个厂商产品,这边总结了数据服务平台的核心功能点,如下:
核心功能点
根据上述功能点绘制的详细产品原型如下:
整体功能原型设计
对于自研厂商来说,MVP版本可以按照上述功能点实现,同时可进行产品的迭代优化,我这边也简单梳理了迭代版本的一些功能点,如下:
迭代功能点
类似阿里的删减版原型如下:
简易原型设计
同时笔者也调研了一些开源的产品,这里简单介绍下:
首先是的DbApi,详细Gitee链接如下:freakchicken/DBApi,其主要存在以下缺陷:
建议:
如果公司内部使用不做商业化可暂时使用DbApi,后续进行二次开发优化
如果是商业化产品,产品设计可按照大厂设计,里面的部分功能可以使用DbApi的底层技术
1、阿里DataWorks:概述 - 大数据开发治理平台 DataWorks - 阿里云
2、极客时间数据中台实战课:极客时间数据中台实战课
3、网易猛犸:大数据开发及管理 | 数据开发_数据治理_数据治理_数据质量_数据服务_网易有数
4、袋鼠云:数据共享_数据运营_数据共享服务_袋鼠云
5、数澜科技:数据开发_API_数据管理_数澜科技
6、华为数据治理:DGC使用简介_数据湖治理中心 DGC_用户指南_华为云
原文:https://zhuanlan.zhihu.com/p/519873005 侵删
页面更新:2024-04-25
本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828
© CopyRight 2008-2024 All Rights Reserved. Powered By bs178.com 闽ICP备11008920号-3
闽公网安备35020302034844号