概述-数据服务是什么?

数据服务是什么?

我以前认为,数据服务,就是通过数据接口提供数据的方式的统称。就是你调用一个接口,我传给你一些数据,数据处理逻辑接口内已经封装了,用这些数据你可以处理某些问题。而直接查询数据的不是数据服务。
后来看了《大数据之路-阿里巴巴大数据实践》的第六章,阿里服务架构演进,思路被打开了。

最简单的数据服务,接口应该是直接调用,就返回结果。
复杂的接口,应该还支持传参,可以从多个结果中选择一个结果。
更复杂的接口,传入的参数还可以参与接口内的逻辑运算。
那应该还可以设计个更复杂的接口(使用复杂),直接传入完整的计算逻辑,接口内只提供数据并根据逻辑进行计算返回结果。

基于我的工作经验,数据仓库的数据在被使用的时候,基本有三种途径。
一种是提供一个可视化窗口写SQL直接查询数据,如HUE,解决临时查询和下载数据的需求。
一种是提供接口让业务系统调用获取需要的数据,如用户画像系统,解决业务系统的数据支持需求。
一种是其他系统直接连接数据仓库,发送SQL并获取返回数据,如自助报表系统,解决可视化和在线分析需求。
但它们的本质都是生成SQL,传到hive运行并返回行列形式的结果数据。

我个人觉得对于数据的所有的需求,都可以通过一个表或多个表满足。既然如此,逻辑预先处理好,把表落地,提供一个统一的接口,调用接口时传入select * 表名即可。同样可以实现逻辑的封装,使用也简单。
也可以传入有计算逻辑的SQL,满足更多个性化需求。
对调用方来说,并不会增加额外学习成本。(这是阿里服务架构第三阶段,还有第四阶段)

只有一个接口,就可以做到所有对数据仓库的访问都经过这个接口。
统一接口的目的,实际就是统一输出,为了便于管理。当所有对数据仓库数据的访问的都从一个接口走,访问日志留存后,所有访问都在掌握之中。

哪些数据最多访问说明那些数据比较重要,可以考虑提升数据的重要等级,优先保障,优先优化。
那些数据访问时逻辑最复杂,耗时最久,可以考虑将数据进行再加工,将重复逻辑沉淀,简化使用。
那些数据无访问,可以尝试沟通下线。而下线时也可以根据数据最先访问人,找到对应的需求方。避免想下线缺找不到对应的需求方不敢下线的尴尬。

我觉得数据服务不复杂,也不高大上。它最有价值的地方就在于预先做了处理,使用时会非常简单。可数据仓库数据仓库本身就是做数据预处理的吧,所以数仓每一个表,实际上都可以认为是一个数据服务。

以数据服务的角度来考虑数据仓库的建设,应该能够让数据仓库的工作更偏数据应用一些,更偏数据价值一些,更偏为业务方解决实际问题一些。

点击 数据文章目录 查看更多

注: 以上所有内容不确保正确准确, 仅是个人思考的结果, 欢迎交流沟通
V1.0 2020年10月14日

    原文作者:钱锋0519
    原文地址: https://blog.csdn.net/weixin_42258472/article/details/109046870
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞