数据中台实战课
郭忆
网易大数据专家
31971 人已学习
新⼈⾸单¥59
登录后,你可以任选2讲全文学习
课程目录
已完结/共 19 讲
数据中台实战课
15
15
1.0x
00:00/00:00
登录|注册

09 | 数据服务到底解决了什么问题?

数据服务将数据应用和中台数据进行解耦
建立了从数据应用到数据中台数据的全链路数据血缘关系
数据服务打通了数据和应用的访问链路
数据服务具备限流的功能,使接口背后的数据共享成为可能
数据服务使接口可以在不同的数据应用之间共享
数据接入效率低导致数据应用的研发效率低
数据服务为数据开发屏蔽了不同的中间存储
数据部门字段变更导致应用变更
不知道数据被哪些应用访问
数据和接口没有办法复用
数据接入方式多样,接入效率低
数据服务解决的问题

该思维导图由 AI 生成,仅供参考

你好,我是郭忆。
从 04 讲元数据中心开始,到 08 讲成本治理,我已经把元数据以及在它基础上的五大应用场景:数据发现(数据地图)、指标管理、模型设计、数据质量、成本优化,全部讲完了。这部分内容对应的就是数据中台 OneData 方法论。相信学完这部分内容之后,你已经了解了 OneData 方法论在企业内部落地的方法了。
而这节课我要和你聊的,是数据中台另外一个核心方法论,OneService 的实现:数据服务。
服务化在业务系统中提的比较多,它是业务系统化繁为简,实现业务拆分的必经之路(特别是这几年微服务的概念深入人心)。那对于数据中台,服务化意味着什么呢?数据服务到底解决了什么问题? 我相信很多人会有这样的疑问。
服务化:不同系统之间通过服务方式交互,服务通常以 API 接口形式存在。
当然,关于数据服务的“料”很多,信息比较密集,所以我会用两讲的时间帮你搞清楚这部分内容,今天咱们先来从问题入手,看一看数据服务解决了什么问题,打消你“为什么要有数据服务”这样的疑问。
在我看来,要想搞清楚数据服务解决了什么问题,就要先知道,没有数据服务,我们在日常数据建设中存在哪些痛点。

数据接入方式多样,接入效率低

数据中台加工好的数据,通常会以 Hive 表的形式存储在 HDFS 上。如果想直接通过数据报表或者数据产品前端展现,为了保证查询的速度,会把数据导出到一个中间存储上:
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
  • 深入了解
  • 翻译
    • 英语
    • 中文简体
    • 中文繁体
    • 法语
    • 德语
    • 日语
    • 韩语
    • 俄语
    • 西班牙语
    • 阿拉伯语
  • 解释
  • 总结

数据服务在数据中台中扮演着重要角色,本文从数据接入效率、数据和接口复用、数据访问链路和数据变更对应用的影响等方面,深入探讨了数据服务解决的问题。首先,文章指出数据中台加工好的数据存储在不同中间存储上,导致数据接入效率低,而数据服务通过统一的API接口访问数据,提高了数据应用的研发效率。其次,数据服务使接口可以在不同的数据应用之间共享,解决了不同应用共享数据相互影响的问题。在运维阶段,数据服务建立了从数据应用到数据中台数据的全链路数据血缘关系,使得在任务出现问题时能够快速定位影响范围,加速恢复速度。此外,数据服务也解耦了数据应用和中台数据,当中台数据表结构变更时,无需修改代码重新上线数据应用。文章通过深入分析数据服务的功能和作用,为读者提供了对数据服务的全面了解,并为设计数据服务或数据服务产品选型提供了参考。

仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《数据中台实战课》
新⼈⾸单¥59
立即购买
登录 后留言

全部留言(20)

  • 最新
  • 精选
  • 发现新大陆
    oneservice建设过程中,数据使用方常常希望还是直接访问表,认为自身需求的多变中台无法快速适应,怎么办?在基本数据需求定义标准API的基础上,能否开放一个通用servcice,允许使用方传入SQL,支持多变的临时性需求,采用这种方式是否可行,会有什么问题・_・?

    作者回复: 你好,首先,数据服务的API接口可以让用户自己定义,如果还是没办法满足,可以考虑通过数据服务放开SQL接口接入,但是必须要由数据服务代理。否则,你没办法获取到链路关系。另外,尽量不要放开SQL,不好管理。至少也要经过审批。 感谢你的阅读~

    2020-04-22
    19
  • 高圣
    你好,全链路的数据血缘是怎么做到的?因为数据表的血缘可以做到,但是数据服务或者数据应用这部分怎么和表级血缘关联呢?有什么工具实现吗?

    作者回复: HI,你好,高圣, 数据服务化,其中之一就是解决你说的这个问题的,打通数据和应用之间的访问链路。数据服务,在定义API接口时,必然会定义每个接口访问的数据中台的表(如果是数据中台抽取到中间存储,然后由中间存储对外提供API接口查询,数据服务也可以关联到中台的表),在接口授权给某个数据应用时,数据应用和数据中台表之间的链路关系就建立了,然后由数据服务把链路关系推送给元数据中心,最终沉淀到元数据中心中。 数据服务和数据报表,在元数据中心的存储,是以标签的形式存储的,这么做的好处,是方便,我们在查询一个表影响了哪些下游的接口或者报表时,查询起来非常快,因为不仅是数据服务直接访问的表会打上数据应用的标签,整个表的上游链路中所有涉及的表都会打,这样当任何一个表的数据出现问题,我们都能以O(1)的时间复杂度,给出这个表的下游影响应用和报表,非常的高效。 感谢你的提问~希望我的答案已经解决了你的问题,也欢迎你在数据中台实践中,任何问题与我分享和交流~祝好~

    2020-05-17
    8
  • cristal
    郭老师好,写的真棒,有个问题想咨询下,大数据数仓中每一层的任务你们是怎么调度的?对于依赖,是需要结合元数据管理中的数据血緣,还是说我们手动的配置依赖?谢谢

    作者回复: 你好~ 首先感谢你的认可,我来回答一下你的问题。 数据中台中,每一层的任务,都是基于任务调度系统调度的,网易的调度系统是基于Azkaban 二次开发。调度系统解决的核心问题是复杂的任务依赖和定时的任务执行,至于任务依赖,我们是数据开发在提交任务上线时人工配置的,但是系统会根据数据血缘,自动的推荐他建立到哪个任务的依赖关系。 同时,我们也提供了任务治理的功能,系统会自动检测,有数据依赖,但是没有任务依赖的任务,然后推荐给任务对应的数据开发,由数据开发建立任务依赖关系。 由系统直接根据数据血缘,建立任务依赖,这个对数据开发不太受控制,不够灵活。最佳的实现方式,还是自动推荐依赖任务,由开发来决定要不要建依赖。 希望我的答案可以帮助到你~

    2020-06-14
    2
    6
  • JohnT3e
    数据服务可以通过鉴权和数据分级分类实现数据访问时的安全控制。但数据接入,存储,备份恢复,乃至治理过程中的安全则需要其它方面的技术配合。比如加密传输,透明加密存储,集群访问认证控制,数据脱敏,开发环境和线上环境分离等

    作者回复: 你好,其实我提这个问题,想说的是,数据服务重点还是数据接入效率提高和数据接入后数据的管理效率提升。数据安全,其实还是通过权限控制的。 感谢你的提问,下一次见~

    2020-04-22
    6
  • 吴科🍀
    统一的数据服务,可以统一管理数据的权限,规范统一的数据格式,对外暴露的是服务接口,应用层不关心底层是MySQL还是oracle。 我们也存在多份数据保存在不同的存储中的问题,某张宽表,在clickhouse,gp都保存了一份,不同的系统在用。业务场景不一样,不好统一。 期待老师后面的课程。

    作者回复: 你好,你说的数据服务的作用都是对的。 如果业务场景不一样,数据也可以存在不同的中间存储上,为了保证性能和查询的场景,比如ck对于多表join支持不好,gp可以满足,但是ck性能比较强。这个也是灵活掌握。 感谢你的提问~

    2020-04-22
    5
  • 你好
    “而数据服务打通了数据和应用的访问链路,建立了从数据应用到数据中台数据的全链路数据血缘关系,这就等于我们在迷宫中拿到了一个地图“ 没看懂,数据服务和打通地图有什么关系,老师能再给阐述下吗?谢谢

    作者回复: 你好,数据服务,打通了数据应用和数据中台数据的链路关系,也就是说,原先,一个数据中台某个表数据有问题,我都不知道影响了那个数据应用。现在,基于全链路数据血缘,再加上数据服务,我可以推断出一个表影响了哪些下游的数据应用。 这就好比你有了一个全局的视角,在一个迷宫中,可以知道每一条路到哪个终点。像一个地图一样。

    2020-05-01
    2
  • leslie
    记得去年GOPS大会就有过2场关于安全的议题,特意去听过;其实目前安全这个词已经敏感的渗透的到各个环节。记得道哥曾经有过一句话“如果云计算还剩下最后一个属性,那就是安全”。 数据服务并不是解决了数据的安全,数据的安全不仅仅是考服务就能解决的;它对于上下的依赖其实很明显,我们可以去看到云计算目前的框架就可以看到现在都是称为数据存储,一旦问题到数据服务了-说明已经到了接近最后一层了。 谢谢今天的分享,期待后续课程。

    作者回复: 你好, 其实我提这个问题,就是为了让大家搞清楚,数据服务,并不是为了解决数据安全的问题。有的人可能会说,你可以在数据服务上,去控制,不让用户访问原始数据,或者明细数据,但是这个通过数据权限也可以完全做的到。所以我觉得,解决安全问题的,你可以说数据权限。但是数据服务不是,数据服务主要还是为了解决数据接入效率和接入后的管理效率引入的。 感谢你的提问,欢迎继续与我在留言区交流。

    2020-04-22
    2
  • Aaron
    我觉得数据安全主要还是通过权限来控制,虽然数据服务打通了表与数据应用的链路,很清晰的知道有哪些应用在使用数据,但这不是控制数据安全的根本。

    作者回复: 对的~

    2020-06-28
  • 手心里的阳光
    赞,一直想请教一下,最后总结是用的什么工具呢?

    作者回复: 你好,感谢你的认可。 你说的是课堂总结中的脑图么? 这个我是在xmind上完成的,不过编辑是基于我提供的xmind,重新画的。 感谢你的阅读~

    2020-04-24
  • jerry guo
    对于一些小批量的数据,API返回没问题。 如何做到大批量的数据返回呢?
    2021-11-01
    4
收起评论
显示
设置
留言
20
收藏
沉浸
阅读
分享
手机端
快捷键
回顶部