热门标签 | HotTags
当前位置:  开发笔记 > 后端 > 正文

数据中台选型必读(六):说说数据服务的七大核心功能

在前面的文章中,我们介绍了数据中台的元数据中心、指标字典与指标体系、数据模型设计、数据质量评估等内容,这些都是OneData理念下数据中台架构的重要部分


在前面的文章中,我们介绍了数据中台的元数据中心、指标字典与指标体系、数据模型设计、数据质量评估等内容,这些都是One Data理念下数据中台架构的重要部分。

我们今天要讲的One Service——统一数据服务,指的是由数据中台提供统一的数据接入和数据查询服务。

在这里插入图片描述

数据中台核心架构中的数据服务

它提供了三项数据服务:

主题式数据服务:基于元数据和规范定义和建模,构建主题逻辑表,屏蔽复杂物理表,提供业务视角下的查询。
统一且多样化数据服务:一站式提供一般查询、OLAP分析、在线接口服务等查询和应用服务,便于数据跟踪管理。
跨源数据服务:统一数据接入层,屏蔽多种异构数据源的读写差异,减少数据访问和应用成本。
数据服务为数据和应用之间建立了一座“沟通的桥梁”,这座桥梁的存在形式是API。

可以把API想象成一个电源插座,比如你现在的应用是想用吹风机吹头发,只要你的吹风机有一个匹配的插头,并将其插入,电流(数据)就会流向你的吹风机,并转换成风能(价值)。

本文将详细介绍数据中台数据服务的七大核心功能。

第一,接口规范化定义。对各个数据应用屏蔽了不同的中间存储,提供的是统一的API。

第二,数据网关部署。作为网关服务,数据服务必须要具备认证、授权、限流、监控四大功能,这是数据和接口复用的前提。

认证。为了解决接口安全的问题,数据服务首先会为每个注册的应用分配一对accesskey和secretkey,应用每次调用API接口,都必须携带。
授权。对于每个已发布的 API,API 负责人可以对应用进行授权,只有权限的应用才可以调用该接口。
限流。API 接口的负责人可以对应用进行限流(例如限制每秒QPS不超过 200),如果超过设定的阈值,就会触发熔断,限制接口的访问频率。需要注意的是,对于接口复用来说,限流功能非常必要,否则会造成不同应用之间的相互影响。
监控。例如,接口的 90% 的请求响应时间、接口调用次数、失败次数等相关的监控。同时,对于长时间没有调用的API ,应该予以下线。
第三,数据全链路打通。服务很难避免出现问题或者故障,一旦出现问题,及早发现及早介入是非常重要的,因此,数据服务必须负责维护数据模型到数据应用的链路关系,构建服务平台的全链路监控,包括:

数据同步:对数据资产同步至高速存储的过程进行监控,包括数据质量检测(过滤脏数据)、同步超时或者失败检测等;
服务稳定性:构建一个独立的哨兵服务,来监测每个API的运行指标(如延迟、可用性等),客观的评估健康度;
业务正确性:数据服务需要确保用户访问的数据内容和数据资产表内容是一致的,因此,哨兵服务会从数据一致性层面去探查,确保每个API的数据一致性。

在这里插入图片描述

第四,确立推和拉的数据交付方式。可参考上面提到的API数据访问的两种模式。

第五,利用中间存储,加速数据查询。数据中台中数据以Hive表的形式存在,基于Hive或者是Spark计算引擎,并不能满足数据产品低延迟,高并发的访问要求,因此,一般做法是将数据从 Hive 表导出到一个中间存储,由中间存储提供实时查询的能力。

在这里插入图片描述

第六,基于逻辑模型发布API,实现数据的复用。逻辑模型是解决数据复用的一个策略,在相同的物理模型之上,应用可以根据自己的需求,构建出不同的逻辑模型。我们可以在数据服务中定义逻辑模型,然后基于逻辑模型发布API。逻辑模型实际是多个物理表,从用户的视角,一个接口可以访问多张不同的物理表。逻辑模型类似数据库中的视图,相比于物理模型,逻辑模型只定义了表和字段的映射关系,数据是在查询时动态计算的,因此,不占用大量的物理存储空间。

第七,构建数据市场(API集市),实现接口复用。为了实现接口的复用,我们需要构建API 集市,应用开发者可以直接在API集市发现已有的数据接口,直接申请该接口的 API权限,即可访问该数据,不需要重复开发。数据服务通过元数据中心,可以获得接口访问的表关联了哪些指标。使用者可以基于指标的组合,筛选接口,这样就可以根据想要的数据,查找可以提供这些数据的接口,形成闭环。

此外,需要关注的是,在当前最新的应用中,API已超越了技术范畴,从对技术的要求转变为商业战略和商业模式的需求,许多企业开始启动API战略,构建API生命周期管理。由于本篇不是重点介绍API内容,因此先抛出这样的观察。







推荐阅读
author-avatar
mobiledu2502899835
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有