读数据工程之道:设计和构建健壮的数据系统28数据服务常见关注点

1.       使用场景

1.1.         为分析和BI,也就是统计分析、报表和仪表板提供数据服务

  • 1.1.1.           是数据服务最为常见的目标

  • 1.1.2.           这些概念的提出早于IT和数据库,但是它们对于了解业务、组织和财务流程的利益相关者来说仍然至关重要

1.2.         为机器学习应用程序提供数据服务

  • 1.2.1.           机器学习完全依赖于高质量的数据

  • 1.2.2.           数据科学家和机器学习工程师需要在数据工程师的帮助下来获取、转化以及交付必要的数据,从而训练模型

1.3.         为反向ETL提供数据服务

  • 1.3.1.           反向ETL是一种将数据回传给数据源的过程

  • 1.3.2.           反向ETL和BI以及机器学习有着深度的共生关系

2.       常见关注点

2.1.         信任

  • 2.1.1.           人们需要相信你提供的数据

  • 2.1.2.           花20年建立的名誉可能只需要5分钟就可以毁掉。如果你明白这一点,你就会换种方式做事情。

    • 2.1.2.1.            沃伦·巴菲特(Warren Buffett)
  • 2.1.3.           信任一旦丢失就极难挽回

    • 2.1.3.1.            不可避免的结局是业务方不能发挥数据的潜在价值,数据团队也会丢失信誉(甚至被解散)​
  • 2.1.4.           信任是提供数据服务的根本关注点

    • 2.1.4.1.            终端用户需要信任他们接收的数据

    • 2.1.4.2.            失去信任通常是数据项目无声的表钟,即使这个项目直到几个月或几年后才正式取消

  • 2.1.5.           利用数据验证流程以及数据可观测性流程,同时与利益相关者一起目视检查和确认数据有效性

    • 2.1.5.1.            数据验证使用数据分析方法来保证数据可以忠实反映财务信息、客户行为以及销售记录等信息

    • 2.1.5.2.            数据可观测性提供了一个观测数据和数据处理的持续视图

  • 2.1.6.           SLA和SLO也是工程师建立终端用户和上游利益相关者信任的必要手段

    • 2.1.6.1.            当用户开始依赖数据来完成业务需求时,会要求使用的数据有持续的可用性以及数据工程师保障的最新状态

    • 2.1.6.2.            高质量的数据在没有达到预期内的可用性时很难发挥辅助商业决策的价值

    • 2.1.6.3.            SLA和SLO也可以采用正式或者非正式的数据契约形式

    • 2.1.6.4.            SLA都给了用户对于数据产品的预期

    • 2.1.6.5.            SLO是SLA的关键部分,阐述了用于衡量契约的方法

  • 2.1.7.           一定要确保各方的预期是清晰的,并且你有能力验证能否满足约定的SLA和SLO

  • 2.1.8.           对SLA达成一致是不够的

    • 2.1.8.1.            持续的沟通才能维持一个好的SLA:对可能对SLA和SLO预期有影响的事项进行沟通,并提供补救和改进措施

2.2.         用例是什么,用户又是谁

  • 2.2.1.           需要了解你的用例和用户、产出的数据产品以及如何提供数据服务(是否自助服务)​、数据定义和逻辑,以及数据网格

  • 2.2.2.           数据服务层是为了数据的使用

    • 2.2.2.1.            数据在决策中的作用才是核心
  • 2.2.3.           数据的用例远远超出了查看报告和仪表板的范围

    • 2.2.3.1.            一份数据往往被用于多个用例
  • 2.2.4.           高质量、高影响力的数据自然而然地会吸引很多很有趣的用例

  • 2.2.5.           尽量挑选有着最高ROI的用例

    • 2.2.5.1.            数据工程师喜欢纠结于他们搭建的系统的技术实现细节,而忽略目的

    • 2.2.5.2.            当工程师能够以价值和用例为导向时,产出就能更有价值和效率

      2.2.5.2.1.             很多工程师只想做最擅长的事情:搞工程

  • 2.2.6.           当开启一个新的数据项目时,倒排工序是很有必要的

  • 2.2.7.           问自己的一些问题

    • 2.2.7.1.            谁会使用这些数据?怎么用?

    • 2.2.7.2.            利益相关者有什么期望?

    • 2.2.7.3.            怎么和数据利益相关者(数据科学家、分析师、业务用户)合作,更好地了解这些数据的用途?

  • 2.2.8.           在开展数据工程的时候,一定要从用户及其用例入手

    • 2.2.8.1.            在了解他们的期望和目标后,就会更容易产出优秀的数据产品

2.3.         数据产品

  • 2.3.1.           数据产品的良好定义是能够通过使用数据促成最终目标的产品。

    • 2.3.1.1.            D.J.Patil
  • 2.3.2.           数据产品不是凭空产生的

    • 2.3.2.1.            开发数据产品像是一项需要全身心投入的运动,在技术的框架下混合了产品和业务

    • 2.3.2.2.            核心利益相关者参与数据产品的开发是非常重要的

    • 2.3.2.3.            一个好的数据产品应该有着正反馈循环

      2.3.2.3.1.             更多的数据产品使用产生更多的有用数据,产品也因此得以改进

  • 2.3.3.           在大多数公司,数据工程师会负责除了终端用户操作外的数据产品全流程

    • 2.3.3.1.            优秀的数据工程师会尽力去了解提供给直接用户(比如数据分析师、数据科学家或公司外部客户)的产物
  • 2.3.4.           当创造一个数据产品时,应该从“完成任务”的角度思考

    • 2.3.4.1.            用户为了“完成任务”才“雇用”数据产品

    • 2.3.4.2.            常犯的错误是在不了解终端用户的需求或者没有产品市场调研的情况下盲目开发

  • 2.3.5.           做人人都爱用的数据产品是很难的

    • 2.3.5.1.            没用的特性和失信的数据会破坏数据产品的采用

    • 2.3.5.2.            需要专注在数据产品的采用和利用上,并且愿意做出令用户满意的调整

2.4.         是否用自助服务

  • 2.4.1.           让用户可以自己构建数据产品

  • 2.4.2.           落地难度高,数据自助服务项目容易虎头蛇尾

  • 2.4.3.           如果面向的用户是高管级别的,他们想知道业务运行情况,那么一个清晰且有着可操作指标的预定义仪表板往往就足够了

    • 2.4.3.1.            如果报告揭示了更多问题,那么他们可能会找分析师来深挖数据
  • 2.4.4.           成功搭建自助服务数据项目从找对受众开始,识别自助服务用户和他们要做的“工作”​

  • 2.4.5.           具备数据相关技术背景的业务主管,他们就很适合自助服务,他们可能想要自己对数据进行切片,而又不重拾SQL技能

  • 2.4.6.           构建好的数据自助服务要确定如何为特定用户提供数据服务

  • 2.4.7.           更多的数据带来更多的问题,而这又需要更多的数据来解决

  • 2.4.8.           需要理解灵活性和范围之间的微妙平衡,这将有助于你的受众找到价值和洞见,而不会产生错误的结果和混乱

2.5.         数据定义和逻辑

  • 2.5.1.           组织中利用数据看重的是它的准确性和可信度

    • 2.5.1.1.            数据的准确性不仅仅是对源系统中事件值的忠实再现

    • 2.5.1.2.            数据准确性包括了准确的数据定义和逻辑,这两个要素必须融入数据的全生命周期,从源系统到数据管道,再到BI工具等

  • 2.5.2.           数据定义指的是数据在一个组织中的共识

  • 2.5.3.           数据逻辑规定了指标计算公式

    • 2.5.3.1.            合适的逻辑必须融汇数据定义以及完整的统计方法

    • 2.5.3.2.            要计算客户流失率指标,就需要定义谁是客户

    • 2.5.3.3.            要计算净利润,就需要一系列的规则来规定从收入总额扣除哪些支出

  • 2.5.4.           数据定义和逻辑的存在经常被认为是理所当然的,并且在组织内以组织知识(institutional

knowledge)的形式传播

  • 2.5.5.           组织知识有着自己的生态,很大程度上会以“奇闻”取代数据推动的洞见、决策和行动

  • 2.5.6.           数据定义体现为多种形式,有些是显式的,但是多数是隐式的

    • 2.5.6.1.            隐式是指为查询、仪表板或者机器学习提供数据服务时,数据和指标总是可以被持续准确地展示
  • 2.5.7.           语义层可以整合业务定义和逻辑,使其可复用

    • 2.5.7.1.            一次建设,全局通用

    • 2.5.7.2.            范式是建设指标、计算规则和逻辑的面向对象思想的体现

2.6.         数据网格

  • 2.6.1.           一种日益流行的数据服务提供方式

  • 2.6.2.           数据网格从根本上改变了组织内部的数据服务提供方式

  • 2.6.3.           与孤立的数据团队服务于内部成员不同,数据网格需要每个业务领域的团队同时担负起去中心化的、点对点的数据服务的责任

    • 2.6.3.1.            团队要对其他团队的数据消费负责

    • 2.6.3.2.            数据必须都是开箱即用的

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/464282.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Linux中断、软中断、MMU内存映射-深入理解

中断: Linux中,中断上半部不能嵌套,如果一直保存上下文,栈可能会溢出。中断上半部处理紧急事情,下半部处理非紧急事情。下半部通常通过软中断来实现。在上半部执行完后会执行下半部的软中断,如果囤积了A和…

MySQL之JDBC入门详解

01-JDBC入门 一、JDBC概念 jdbc : java database connection , java数据库连接 jdbc是sun公司定义的java程序访问数据库的规范。 二、JDBC操作需要6步 三、入门程序 1、使用eclipse打开一个新的工作空间 2、切换到java视图界面 3、创建java工程:01-jdbc-helloworl…

Vue3版本的uniapp项目运行至鸿蒙系统

新建Vue3版本的uniapp项目 注意,先将HbuilderX升级至最新版本,这样才支持鸿蒙系统的调试与运行; 按照如下图片点击,快速升级皆可。 通过HbuilderX创建 官方文档指导链接 点击HbuilderX中左上角文件->新建->项目 创建vue3…

html简易流程图

效果图 使用htmlcssjs&#xff0c;无图片&#xff0c;没用Canvas demo: <!DOCTYPE html> <html> <head><link href"draw.css" rel"stylesheet" /><script src"draw.js" type"text/javascript"></…

人工智能原理实验一:知识的表示与推理实验

一、实验目的 本实验课程是计算机、智能、物联网等专业学生的一门专业课程&#xff0c;通过实验&#xff0c;帮助学生更好地掌握人工智能相关概念、技术、原理、应用等&#xff1b;通过实验提高学生编写实验报告、总结实验结果的能力&#xff1b;使学生对智能程序、智能算法等有…

针对解决前后端BUG的个人笔记

1-IDEA Q&#xff1a;Required Java version 17 is not supported by SDK 1.8. The maximum supported Java version is 8. A: 我们只知道IDEA页面创建Spring项目&#xff0c;其实是访问spring initializr去创建项目。故我们可以通过阿里云国服去间接创建Spring项目。将https…

Linux操作系统 ------(3.文本编译器Vim)

目录 1.前言 2.本章学习目标 3.vim的三种工作模式 3.1一般模式‌ 3.2编辑模式‌ 3.3命令行模式‌ 4.运行vim 5.vim 不同工作模式下的常见命令 6.一般模式下的功能键 6.1移动光标类 6.2删除、复制和粘贴类 6.3查找替换类 7.从一般模式进入编辑模式 8.命令行模式下的…

4种鼓励创业创新的方法

随着市场趋于饱和&#xff0c;许多企业&#xff0c;尤其是初创企业&#xff0c;很难在竞争中保持领先地位。技术为企业彻底改变其营销和管理策略铺平了道路。另一个经过实践检验的成功渗透特定市场的方法是在办公室内部激发创新&#xff0c;从员工到品牌皆如此。 那么究竟如何…

【华为HCIP实战课程31(完整版)】中间到中间系统协议IS-IS路由汇总详解,网络工程师

一、IS-IS的汇总 1、可以有效减少在LSP中发布的路由条目,减小对系统资源的占用。 2、会减少LSP报文的扩散,接收到该LSP报文的其他设备路由表中只会出现一条聚合路由。 3、可以避免网络中的路由震荡,提高了网络的稳定性。 4、被聚合的路由可以是IS-IS路由,也可以是被引入…

后端java——如何为你的网页设置一个验证码

目录 1、工具的准备 2.基本方法 3.实现类 4.实践 HTML文件&#xff1a; Java文件1:创建验证码 Java文件2:验证验证码 本文通过HUTOOL实现&#xff1a;Hutool参考文档Hutool&#xff0c;Java工具集https://hutool.cn/docs/#/ 1、工具的准备 如果我们通过hutool来实现这个…

1、Qt6 Quick 简介

一、Qt6 Quick 简介 1、Qt Quick简介 Qt Quick 是 Qt 6 中使用的用户界面技术的总称。它是在 Qt 4 中引入的&#xff0c;现在在 Qt 6 中进行了扩展。Qt Quick 本身是几种技术的集合&#xff1a; QML——用户界面标记语言JavaScript - 动态脚本语言Qt C - 高度可移植的增强型…

微服务系列二:跨微服务请求优化,注册中心+OpenFeign

目录 前言 一、纯 RestTemplate 方案存在的缺陷 二、注册中心模式介绍 三、注册中心技术&#xff1a;Nacos 3.1 Docker部署Nacos 3.2 服务注册 3.3 服务发现 四、代码优化&#xff1a;OpenFeign工具 4.1 OpenFeign快速入门 4.2 连接池的必要性 4.3 抽取服务、最佳实…

andrular输入框input监听值传递

效果图&#xff1a; step1: E:\projectgood\ajnine\untitled4\src\app\apple\apple.component.html <button mat-button (click)“openDialog()”>Open dialog step2: E:\projectgood\ajnine\untitled4\src\app\apple\apple.component.ts import {Component, inject}…

像`npm i`作为`npm install`的简写一样,使用`pdm i`作为`pdm install`的简写

只需安装插件pdm-plugin-i即可&#xff1a; pdm plugin add pdm-plugin-i 然后就可以愉快地pdm i了&#xff0c;例如&#xff1a; git clone https://github.com/waketzheng/fast-dev-cli cd fast-dev-cli python -m pip install --user pipx pipx install pdm pdm plugin a…

qt QTabWidget详解

1、概述 QTabWidget是Qt框架中的一个控件&#xff0c;它提供了一个标签页式的界面&#xff0c;允许用户在不同的页面&#xff08;或称为标签&#xff09;之间切换。每个页面都可以包含不同的内容&#xff0c;如文本、图像、按钮或其他小部件。QTabWidget非常适合用于创建具有多…

关于wordpress instagram feed 插件 (现更名为Smash Balloon Social Photo Feed)

插件地址&#xff1a; Smash Balloon Social Photo Feed – Easy Social Feeds Plugin – WordPress 插件 | WordPress.org China 简体中文 安装后&#xff0c;配置教程&#xff1a; Setting up the Instagram Feed Pro WordPress Plugin - Smash Balloon 从这里面开始看就…

初始JavaEE篇——多线程(5):生产者-消费者模型、阻塞队列

找往期文章包括但不限于本期文章中不懂的知识点&#xff1a; 个人主页&#xff1a;我要学编程程(ಥ_ಥ)-CSDN博客 所属专栏&#xff1a;JavaEE 文章目录 阻塞队列生产者—消费者模型生产者—消费者模型的优势&#xff1a;生产者—消费者模型的劣势&#xff1a; Java标准库中的阻…

用ChatGPT提升工作效率:从理论到实际应用

伴人工智能技术的迅速演进&#xff0c;像ChatGPT这类语言模型已成为提升工作效率的关键工具。这类模型不仅具备处理海量数据的能力&#xff0c;还能自动化许多日常任务&#xff0c;从而提高决策的准确性。本文将深入探讨如何在工作中利用ChatGPT等AI工具提升效率&#xff0c;涵…

如何修改网络ip地址:一步步指南‌

在当今这个数字化时代&#xff0c;网络已成为我们日常生活与工作中不可或缺的一部分。无论是浏览网页、在线办公还是享受流媒体服务&#xff0c;稳定的网络连接和适当的IP地址管理都是确保良好体验的关键。然而&#xff0c;出于隐私保护、绕过地理限制或测试网络环境等需要&…

ENSP (虚拟路由冗余协议)VRRP配置

VRRP&#xff08;Virtual Router Redundancy Protocol&#xff0c;虚拟路由冗余协议&#xff09;是一种用于提高网络可用性和可靠性的协议。它通过在多个路由器之间共享一个虚拟IP地址&#xff0c;确保即使一台路由器发生故障&#xff0c;网络依然能够正常运行&#xff0c;防止…