凯哥讲数据中台[010]数据服务深度剖析

image

导读

本文的主题:

系统性的介绍数据中台提供的服务类型,详细讲解最重要的Data API部分。

适合的读者:

希望系统性掌握数据中台核心数据服务底层逻辑结构的数据中台建设者

核心内容和关键字:数据中台,数据服务,Data API

长度:5000字

阅读时间:30分钟

数据中台的核心是数据服务

数据中台是“数据服务工厂”,所以,数据服务是数据中台的核心能力。

那么,数据中台都提供哪些数据服务呢?

业界常用的数据服务包括五种类型,Data API,Event Hub,Database,File,Terminal & APP。

什么是数据服务

现在行业里讲的Data as a Service (DaaS),在Wiki中则特制基于SOAP的API服务。

data as a service is enabled by software as a service (SaaS).[1] Like all "as a service" (aaS) technology, DaaS builds on the concept that its data product can be provided to the user on demand,[2] regardless of geographic or organizational separation between provider and consumer. Service-oriented architecture (SOA), and the widespread use of API, has rendered the platform on which the data resides as irrelevant.[3]

广义的数据服务则可以理解为,为业务提供数据的服务。

数据服务是一个行业,广为人知的数据服务提供商有以下的几类:

image
image

金融数据服务

金融数据服务是目前商业化程度最高,最成熟的行业数据服务。全球有众多的金融数据服务公司,比较有名的有Bloomberg,Wind,汤森路透等,而在国内,典型的金融数据服务机构就包括中国外汇交易中心。

拿外汇交易中心为例,它提供的服务主要有:市场数据,市场公告,指标数据,数据服务,而典型的数据服务类型分成了以下几类:信息产品服务、数据接口服务、媒体数据服务、信息商数据服务。

image

公开数据服务

公开数据服务是将一些公共用途的数据以服务的形式提供出来,供所有的用户使用。类似于国家统计局,政府公开数据等。

拿上海市公共数据开放平台做例子:

image

上海市公共数据开放平台,提供了三类数据服务:

数据产品,数据接口,数据应用。

数据产品:

一般是指可以下载的数据集,比如CSV/DOC格式存在的。例如:

image

数据接口:

通过特定的技术手段去调用其他系统,获得数据的接口。

数据应用:

数据应用是指一个特定领域的数据及数据使用的应用系统,在上海公共数据平台中,数据应用关联到一个完整的独立的APP。

image

知识数据服务

万方数据是典型的知识数据服务的类型,提供学术研究类知识的数据服务。主要服务类型根据领域不同会有所差别,如下图所示:

image

那么什么是数据服务呢?

   我个人觉得,通过某一种或多种方式提供数据,就是数据服务。

我们先梳理一下历史上数据服务的五种类型。

数据服务的五种类型

从提供数据的技术方式上,我们可以将数据服务分为以下五种类型。

image
image

Data API

这是最常用的一种数据服务的形式,用户通过请求/响应来访问数据。优势是很容易公布/订阅这些API接口。这类数据接口服务一般包括参数,返回值,接口样本,接口地址等。

image

常用的Data API是REST形式。

image

Event HUB

Event Hub的定义是:

An event investor is a component or service that sits between event publishers and event consumers to decouple the production of an event stream from the consumption of those events.

通过消息队列(MQ)的方式,提供事件消息的数据服务,典型的架构如下图所示:

image
image

Database

数据库是最早的提供数据的服务形式,比如数据湖,当用户需要数据的时候,直接提供一个数据库访问链接给到用户,从而直接访问这个数据库里的数据。

目前企业的业务部门对于其他数据的访问形式,数据库是很重要的一种,典型的场景就是业务部门在开发业务应用的时候,需要数据,那么直接问数据部门要数据库的访问权限,然后自己基于这个数据库去做数据开发,在系统中直接调用这些数据。

这样的数据库服务形式的优点是灵活,但是缺点也很明显,没有权限划分,需要业务部门有专业的数据开发能力,并且无法追溯,最重要的是,当多个业务部门都利用这种方式访问和使用数据的时候,会产生很多份数据拷贝,也就是企业数据不一致的重要的原因。

image

File

当数据量比较大,或者没有比较好的访问通道的时候,数据文件也是一种提供服务的形式。比如,通过FTP文件服务器等。

image

Terminal & APP

前面四种数据服务形式的本质都是提供某一种形式的数据集,而Terminal & APP的形式,则不仅包括数据集,还包括使用,访问数据的方法和流程。

此类典型的样例就是大智慧,同花顺这样的证券交易APP。

image

总结

我们从实时性,数据量,访问频率,可审计性,安全性等多个维度来对比以上五类数据服务。


image.png

在目前,数据中台的语境里,主要趋势是Data API,所以,我们下面重点来剖析Data API。

image

数据访问的两种形式

以上的五种数据服务类型,根据访问的形式,都可以分为两类:推(Push)和拉(Pull)

image

Push(推)

数据供应端主动推送数据到数据消费端,典型的代表有事件订阅和数据库同步。

比如,物料主数据变化的时候,将最新的数据推送给所有的数据消费者系统。

这样的形式是从供应方的视角来处理的,所以不论数据消费者是否需要这些数据,也不论消费者对于这些数据的使用场景是怎样的,对于数据供应方来讲,都是无差别的推数据过去,哪怕消费者使用的频率很低。

这样的优势是,实时性很强,只要数据在源头发生了变化,都会第一时间推送给数据消费方。

但是劣势也很明显:

第一,推送数据产生了很多的资源浪费,无差别的推送,存储

第二,往往数据消费方需要二次加工这些推送来的数据,才能使用

第三,消费者是否使用,如何使用,不好管理,无法跟踪

Pull(拉)

数据消费方,根据自己的需要,从数据供应端拉数据回来,这样的典型服务类型包括:

Data API,文件下载,和Terminal&APP。

Pull是典型的的精益的形式,按需使用数据,用什么获取什么,什么时候用,什么时候获取,用哪部分数据获取那部分数据。

从数据消费者的视角来看

从数据消费者的视角来看,消息队列(Event)模式的数据利用如下图所示:

image

只有当数据应用方能够直接使用这个数据消息的时候,应用开发团队才不需要二次开发这个数据,否则应用开发团队需要在本地的存储中再次存储一遍这个数据,并且构建后端API,进一步加工这个数据。这样带来了前端应用利用数据的复杂性,也带来了一致性的问题。

采用数据API的方式提供服务的场景如下图所示:

image

在数据处理和加工方与数据应用方之间加入一层,数据服务层,从而可以提高灵活性和复用性,这样让数据应用放可以直接使用数据服务而不再做任何加工处理,也能够保证不同数据应用使用同一个数据服务,提高数据的一致性。

关于CQRS(命令查询责任分离)

CQRS是对应于CRUD的一种数据处理模式,使用与用于读取信息的模型不同的模型来更新信息,是Greg Young提出来的。

详见老马的博客:CQRS

从整个数据利用的趋势来看,Data API是数据中台未来主要的服务形式,所以下面重点剖析Data API。

Data API剖析

什么是API,在维基百科的解释如下:

An application programming interface (API) is an interface or communication protocol between different parts of a computer program intended to simplify the implementation and maintenance of software.

一个应用程序接口是两个不同的计算机程序之间的接口或通信协议,目的是为了简化软件的开发和维护。

An API may be for a web-based system, operating system, database system, computer hardware, or software library.

一个API可以是Web系统,操作系统,数据系统,计算机硬件或者是软件类库。

An API specification can take many forms, but often includes specifications for routines, data structures, object classes, variables, or remote calls. POSIX, Windows API and ASPI are examples of different forms of APIs. Documentation for the API usually is provided to facilitate usage and implementation.

一个API可以以多种形式存在,但是通常会包括特殊的路由规则,数据结构,对象,变量或者远程调用。POSIX,Windows和ASPI是不同的API形式。API通常会提供文档和实现形式。

而,数据API是提供数据的应用程序接口。在数据已经成为企业的核心资产的趋势下,数据API已经成为了一种业务模式,比如,已经有非常多的数据API市场用来聚集,生产和消费,交易各种数据API。

Data API的本质

Data API本质上就是一个远传调用。

image

典型的包括:

https://any-api.com/

image

https://rapidapi.com/

image

API的三种类型

常用的API主要分为三种类型:

image

业务命令API

业务API以Command (命令)为主,实际上就是一个业务行为,包括Request/Response,也可以没有Response的内容,是为了执行一个业务指令。

比如,创建订单,创建用户。

智能计算API

智能API是为了对数据进行计算,是对于输入参数的加工,返回计算的结果。

比如计算最优路径,计算推荐价格等。

数据查询API

数据API是对于已有数据的查询,可以带各种条件。

比如查询用户信息,获取用户画像,获取产品清单等。

数据中台提供的API以智能API和数据API为主,我们下面重点分析数据API。

数据API的剖析

数据API的执行过程

数据API的执行过程可以归纳为三步:

image

请求,执行和返回结果。

这与数据库层的操作来说是能够对应上的,如下图所示:

image
image

数据API的两种形式

数据API可以分为两种形式:

image
  • 搜索API

用户可以有一定的自主权,从而能够灵活的组织查询逻辑,去获取数据。

  • 模板API

用户只能根据确定的参数来访问数据,灵活度低。

数据API的三大成功要素

不论哪一种数据API,一个好的数据API需要具备以下三个成功要素。

image

快速灵活

因为业务用户很多,用户的需求变化也快,所以,好的数据API应该有一定的灵活性,从而能够按需快速响应前端的需求。

准确一致

数据的准确性,一致性是数据API的基线。

安全合规

提供安全合规的数据,确保数据的隐私,分级和和合规,也是数据API必须保证的。

所以,我们归纳出一个高质量的数据API的逻辑结构如下:

image

要包括灵活的参数解析,安全的数据权限,快速的数据缓存,根据数据合规和区域特性,制定不同的数据存储的架构,并且要有有效的日志追踪体系,从而保障数据服务的质量(SLA)。

以上这所有的,一切都是数据中台中,数据API平台组件应该提供的基础能力。

那么一个好的数据API平台应该是怎样的呢?

请关注《凯哥讲数据中台》系列

推荐阅读-2019 凯哥讲数据中台


加入凯哥讲数字化的知识星球

第一时间获取最新行业洞见,数字化报告解读

加入凯哥讲数字化

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 218,682评论 6 507
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 93,277评论 3 395
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 165,083评论 0 355
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,763评论 1 295
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,785评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,624评论 1 305
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,358评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,261评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,722评论 1 315
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,900评论 3 336
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 40,030评论 1 350
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,737评论 5 346
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,360评论 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,941评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,057评论 1 270
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,237评论 3 371
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,976评论 2 355

推荐阅读更多精彩内容

  • 谁家玉面少年郎, 仗剑天涯意气扬。 陌路红尘君一笑, 轻风不语美人香。 少年醒来的时候,首先看到的是茅屋房梁上一对...
    酉时七若阅读 411评论 0 2
  • 首先,不说废话,我先表明下自己的喜好,简书签约作者最让我觉得恶心的两个人,一个是萌薇,一个是饱醉豚。本人很早关注过...
    Sai爷呵呵阅读 1,057评论 4 11
  • 吾生也有涯,而知也无涯,以有涯随无涯,殆已! 不知道何时,学习成了一种流行的风气。尤其以朋友圈里的学习之风最好! ...
    人物洞察阅读 317评论 0 1
  • 常言道:“读万卷书不如行万里路,行万里路不如阅人无数”,文案天后李欣频对于旅行有着异乎寻常的热爱,而旅行也给她带来...
    采薇的后花园阅读 291评论 0 1
  • 心仪的鞋子断码了 就去旁边店买一件漂亮的大衣 常去的面馆停业了 就去别家吃一碗好吃的粉 喜欢的人离开了 就好好努力...
    染指徒留枕上书阅读 203评论 0 8