概述-数据服务是什么?

2023-10-31

数据服务是什么?

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

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

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

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

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

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

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

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


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


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

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

概述-数据服务是什么? 的相关文章

  • Java 异常

    目录 1 自己不处理 交给调用者处理 1 1 throws 声明一个异常 1 2 throw 抛出一个异常 2 自己处理异常 2 1 try catch 2 2 try catch的常见问题 3 Throwable 的成员方法 4 自定义异
  • [2021.9.13][OpenGL ES 3.0编程指南]1 OpenGL ES 3.0简介

    1 1 OpenGL ES 3 0 OpenGL ES 3 0实现了具有可编程着色功能的图形管线 由两个规范组成 OpenGL ES 3 0 API规范和OpenGL ES着色语言3 0规范 图1 1展示了OpenGL ES 3 0 图形管

随机推荐

  • java网络编程01——网络基本概念

    阅读 java网络编程 等诸多资料个人所思所想读书笔记 1 网络 因特网 两种方式回答问题 其一是描述因特网的基本构成即构成因特网的基本硬件和软件组件 其二根据分布式应用提供服务的联网基础设施描述因特网 因特网是世界范围的计算机网络 即是一
  • 服务器光信号闪红灯是什么意思,路由器光信号闪红灯是什么意思

    现在不少宽带在安装之后还需要配备一个路由器用来接收光纤信号 在路由器上会有几个指示灯 如果你的路由器信号灯一直闪红灯知道是什么意思吗 一起来了解一下吧 闪红灯的意思 宽带 费 现在宽带基本都是后付费模式 因为 费的时间太 运营商直接关掉了宽
  • 矩阵通高效监管企业新媒体矩阵,账号集中管理与运营数据分析

    越来越多的企业在全网布局旗下账号 希望通过社媒传播矩阵 以内容连接产品与用户 达成增加销售线索或扩大品牌声量的目的 构建矩阵的优势在于 内容能多元发展 聚集不同平台流量 多种营销渠道自主掌控 分散单一平台传播风险 各平台账号间也能协同互补
  • JavaScript中Math.max()和Math.min()方法

    JavaScript中Math max 和Math min 方法 Math是JavaScript中的对象 不是构造函数 可以用来执行数学任务 1 Math max max 返回给定的一组数据中的最大值 但是不接收数组作为参数 参考用法
  • vue3.0 兼容ie浏览器

    vue3 0 兼容ie浏览器 安装babel polyfill npm install save babel polyfill 在main js里面引入 一定要在最上面 第一行 import babel polyfill 安装完成后会有ba
  • HTML页面结构

  • Unity实现点击显示不同UI

    在开发过程中经常遇到切换显示不同UI的需求 实现方案有2套 1 创建两个场景A B 在A中点击某个button后触发切换事件后加载B场景现在新的场景信息 优点 是逻辑简单 在不同的场景中创建对应的UI即可 缺点是当两个场景中有重复显示的模型
  • 高德地图JSAPIvue项目的使用

    最近在项目中使用高德地图JSAPI 遇到一些问题整理一下做个总和记录 希望能帮到看到文章的大家 1 关于引用 npm i amap amap jsapi loader save 然后创建好地图容器后引入地图 注意避坑的点 1 使用loca可
  • vue指令实现埋点

    1 自定义指令 import Vue from vue 自定义埋点指令 Vue directive track 钩子函数 只调用一次 指令第一次绑定到元素时调用 在这里可以进行一次性的初始化设置 el 指令所绑定的元素 可以用来直接操作 D
  • Linux 读文件 - readahead预读算法

    顺序读场景 intmain charc 4096 intin 1 in open news txt O RDONLY intindex 0 while read in c 4096 4096 printf index d len ld n
  • linux 内核 - ioctl 函数详解

    linux 内核 ioctl 函数详解 1 概念 ioctl 是设备驱动程序中设备控制接口函数 一个字符设备驱动通常会实现设备打开 关闭 读 写等功能 在一些需要细分的情境下 如果需要扩展新的功能 通常以增设 ioctl 命令的方式实现 在
  • leetcode 907. 子数组的最小值之和

    给定一个整数数组 arr 找到 min b 的总和 其中 b 的范围为 arr 的每个 连续 子数组 由于答案可能很大 因此 返回答案模 10 9 7 leetcode题目链接 示例 1 输入 arr 3 1 2 4 输出 17 解释 子数
  • 根据数据库名生成数据库结构说明

    根据数据库名生成数据库结构说明 package com cjm common import java io File import java io FileOutputStream import java sql Connection im
  • 文件上传优化

    文件上传优化 文件的名称需要优化 服务端 保存的文件名称如果固定 那么最终会导致服务器硬盘 只会保留一个文件 对上传的文件名称优化 System currentTimeMillis new Random nextInt 1000000 jp
  • CMake - 报错:Missing variable is: CMAKE_FIND_LIBRARY_PREFIXES

    问题描述 今天学习ZeroMQ 写了一个HelloWorld的测试程序 cmake的时候 报错Missing variable is CMAKE FIND LIBRARY PREFIXES 具体CMakeLists txt内容为 cmake
  • 【第29篇】MAE:屏蔽自编码器是可扩展的视觉学习器

    文章目录 摘要 1 简介 2 相关工作 3 方法 4 ImageNet 实验 4 1 主要属性 4 2 与之前结果的比较 4 3 局部微调 5 迁移学习实验 6 讨论与结论 摘要 论文链接 https arxiv org abs 2111
  • js将后台返回的数据转化为树形结构(扁平数组转树状结构)

    前言 做项目使常遇到需要将后台返回的数据 转换为树状结构给用户展现 例如 这也是前端面试常考的算法题 一起来检测一下吧 步骤 准备一个空的树对象 遍历列表中的每个元素 对于每个元素 根据该元素的父级ID找到其对应的父节点 如果找到了父节点
  • 如何开始使用 Python 3 编程:入门

    Python 是世界上发展最快的编程语言 这种流行的编程语言已帮助无数设计师 科学家和工程师努力解决当今消费者和企业面临的重大问题 使用 Python 更智能地工作 什么是 Python 编程 Python 编程是编写代码以执行任务或解决问
  • 小象课堂在线授课教育系统

    此项目包含后端全部代码 前端包括后台和web界面的源码 数据库用的mysql 可当作课设或者毕设 还可写入自己的简历中 web界面展示 前端后台界面展示 用户管理 课程管理 内容配置 订单管理 系统管理 系统监控
  • 概述-数据服务是什么?

    数据服务是什么 我以前认为 数据服务 就是通过数据接口提供数据的方式的统称 就是你调用一个接口 我传给你一些数据 数据处理逻辑接口内已经封装了 用这些数据你可以处理某些问题 而直接查询数据的不是数据服务 后来看了 大数据之路 阿里巴巴大数据