华为数据之道-读书笔记

内容简介

关键字

数字化生产

已经成为普遍的商业模式,其本质是以数据为处理对象,以ICT平台为生产工具,以软件为载体,以服务为目的的生产过程。

信息与通信技术平台(Information and Communication Technology Platform,ICT)

数据孤岛

IT系统中的数据语言不统一,不同I系统之间的数据不贯通,同样的数据需要在不同TT系统中重复录入,甚至不同I系统中的同一个数据不一致等。这些问题限制了运营效率的提升和效益的改进,华为迫切需要数字化转型来改变这种状况。

数字化转型(怎么做)

ToB / ToC

数据入湖

数据入湖 是指将数据从各种数据源(如数据库、文件系统、实时流数据等)导入到 数据湖 中的过程。数据湖是一个存储系统,能够以原始格式保存海量结构化、半结构化和非结构化数据,为后续的数据分析、机器学习和数据驱动决策提供支持。

数据消费

数据消费 是指在数据生态系统中,用户或系统通过对数据的访问、分析和处理,从而获取有价值的信息,用于支持决策、优化业务流程或推动创新。它是数据生命周期的重要阶段,通常紧接在数据存储(如数据湖或数据仓库)之后。

数据消费的核心含义

  • 数据消费的本质是将存储在数据平台中的原始数据转化为对业务有意义的洞察和价值。
  • 数据消费的形式可以多种多样,比如生成报表、构建机器学习模型、驱动实时决策等。

数据消费的常见形式

  1. 报表与可视化

    • 数据被消费为可视化的报表和图表,用于业务监控和决策支持。
    • 工具:Power BI、Tableau、FineBI 等。
    • 例子:通过销售数据生成月度销售报表。
  2. 业务分析与洞察

    • 利用统计学或分析工具,对数据进行深度挖掘。
    • 工具:Excel、Python(Pandas、Matplotlib)、R 等。
    • 例子:分析用户行为数据,发现客户流失的原因。
  3. 实时数据处理

    • 消费实时流数据,支持快速响应和实时决策。
    • 工具:Kafka、Spark Streaming、Flink 等。
    • 例子:实时监控物流运输状态。
  4. 数据驱动的自动化

    • 数据直接被系统或服务消费,用于触发自动化流程。
    • 例子:银行的风控系统根据用户交易数据自动判定风险。
  5. 机器学习与AI模型

    • 数据作为模型训练的输入,驱动机器学习或人工智能应用。
    • 工具:TensorFlow、PyTorch、Scikit-learn 等。
    • 例子:根据历史数据训练模型预测未来销售趋势。
  6. API 数据消费

    • 数据通过 API 提供给应用程序消费。
    • 例子:电商平台通过 API 查询库存数据并更新页面。

数据消费的技术架构

数据消费通常依赖于以下技术架构:

  1. 数据湖与数据仓库

    • 数据消费的基础是数据存储。数据湖存储原始数据,数据仓库存储加工后的结构化数据。
    • 工具:Hadoop、Amazon S3、Snowflake 等。
  2. 数据集成与查询

    • 数据通过 ETL 或 ELT 流程集成,并通过查询工具消费。
    • 工具:Presto、Hive、BigQuery 等。
  3. 数据可视化平台

    • 将复杂数据呈现为易于理解的图表或仪表板。
    • 工具:Tableau、Power BI、Grafana 等。
  4. 实时流处理

    • 实时数据的消费需要强大的流处理能力。
    • 工具:Kafka、Flink、Spark Streaming 等。

数据消费的挑战

  1. 数据质量
    • 如果数据不准确、不完整或不及时,会直接影响消费结果的可靠性。
  2. 访问性能
    • 当数据量过大时,如何高效查询和处理数据是一个难题。
  3. 安全与隐私
    • 数据消费涉及敏感数据时,如何确保合规性和安全性。
  4. 数据孤岛
    • 数据分散在多个系统中,导致消费过程中难以整合。

数据底座

数据底座 是一个支持企业数字化转型的核心技术平台,用来统一管理、存储和处理企业所有的数据资源。它是企业实现数据驱动决策、智能化应用的基础设施,类似于建筑物的地基,支撑着上层的各种数据应用。

数据底座的主要组成部分

  1. 数据存储

    • 数据底座需要存储结构化、半结构化和非结构化数据,通常包括以下系统:
      • 数据湖:存储原始的、海量的多种数据类型。
      • 数据仓库:存储经过处理和结构化的数据,用于高效分析。
      • 云存储:灵活支持弹性存储(如 AWS S3、阿里云 OSS)。
  2. 数据集成

    • 将企业的多种数据源(如数据库、日志系统、实时流数据)统一整合到数据底座。
    • 工具:ETL(提取、转换、加载)工具(如 Apache NiFi、Informatica)。
  3. 数据治理

    • 确保数据的质量、规范性和安全性。
    • 包括数据清洗、数据标准化、元数据管理、数据权限控制。
  4. 数据分析与服务

    • 支持多种数据分析需求,包括统计分析、机器学习、实时处理等。
    • 提供数据 API 和服务,支持上层应用调用数据。
  5. 数据安全

    • 实现数据加密、访问控制、日志记录,确保数据合规性和安全性。
  6. 开发与运维支持

    • 为数据科学家、分析师和开发者提供统一的平台工具(如 Jupyter Notebook、BI 工具)。

ETL(提取、转换、加载)

ETL 是指 提取(Extract)、转换(Transform)、加载(Load),是一种将数据从一个或多个来源提取出来,经过转换处理后加载到目标系统(如数据仓库、数据湖)的数据集成过程。ETL 是数据处理的重要环节,广泛用于数据仓库建设、数据分析和业务报表生成。


ETL 的三个主要步骤

  1. 提取(Extract)

    • 从多个数据源中获取原始数据,包括结构化数据(如数据库表)、半结构化数据(如 JSON、XML)和非结构化数据(如文本、日志)。
    • 数据源示例:
      • 数据库(MySQL、Oracle、PostgreSQL)
      • 文件系统(CSV、Excel)
      • API 或实时流(如 Kafka)
    • 目标是尽可能完整地提取数据,同时避免影响源系统性能。
  2. 转换(Transform)

    • 对提取的原始数据进行清洗、规范化和处理,以满足目标系统的要求。通常包括以下操作:
      • 数据清洗:处理空值、重复值、异常值。
      • 格式转换:统一日期格式、单位等。
      • 数据聚合:计算总数、平均值等。
      • 维度处理:将数据映射到维度表或事实表。
      • 业务规则应用:根据业务逻辑衍生新字段或分类数据。
  3. 加载(Load)

    • 将转换后的数据加载到目标系统中,如数据仓库(如 Snowflake、Redshift)或数据湖(如 Hadoop、S3)。
    • 加载方式:
      • 全量加载:每次将所有数据重新加载到目标系统。
      • 增量加载:只加载新增或更新的数据。
    • 确保数据加载的完整性和准确性。

IoT数据

IoT数据(Internet of Things 数据)是指由物联网设备生成、收集和传输的数据。这些设备通过网络互联,可以实时感知、监测和传输信息,从而为数据分析和智能化应用提供支持。

IoT 数据的来源

IoT 数据主要来源于各种连接到互联网的设备和传感器,这些设备可以分为以下几类:

  1. 工业设备

    • 工厂中的机器、机器人、设备传感器。
    • 例如:温度、压力、振动传感器。
  2. 智能家居设备

    • 智能音箱、智能门锁、智能灯泡、智能电表。
    • 例如:记录室内温湿度、用电量、用户行为等。
  3. 可穿戴设备

    • 智能手表、健身追踪器。
    • 例如:记录心率、步数、睡眠数据。
  4. 交通工具

    • 车辆中的 GPS、车载诊断系统(OBD)。
    • 例如:车辆位置、速度、燃油使用情况。
  5. 环境监测设备

    • 气象站、空气质量监测仪。
    • 例如:二氧化碳浓度、噪声水平、降雨量。
  6. 物流与零售

    • 包括物流追踪器、智能货架、RFID 标签。
    • 例如:商品库存、运输位置、存储条件。

IoT 数据的特点

  1. 实时性

    • IoT 数据通常以流数据的形式实时产生,适合用于实时监控和快速响应。
    • 例如:传感器每秒传输一次温度数据。
  2. 多样性

    • IoT 数据可以是结构化、半结构化或非结构化的,包含数值、文本、图片、视频等。
    • 例如:结构化的电量数据,非结构化的设备日志。
  3. 海量性

    • 由于设备数量庞大,数据生成频率高,IoT 数据通常呈现出"数据爆炸"的特点。
    • 例如:一台传感器每天产生上 GB 的数据。
  4. 分布式来源

    • 数据来自分布在不同地点的设备,具有高度分散性。
    • 例如:不同城市的环境监测设备生成的数据。
  5. 时序性

    • 数据通常是以时间序列形式产生,带有时间戳,用于分析变化趋势。
    • 例如:每天记录温度变化曲线。

IoT 数据的存储与处理

由于 IoT 数据量大、种类多且实时性强,对数据存储和处理系统的要求较高。

存储方式

  1. 云存储

    • 使用云平台(如 AWS、Azure、阿里云)存储数据,具有弹性扩展性。
    • 例如:将 IoT 数据存储在 AWS IoT Core。
  2. 边缘计算

    • 在设备附近(边缘)处理和存储部分数据,降低传输延迟。
    • 例如:工业设备实时分析振动数据,异常时才上传到云。
  3. 数据湖与数据仓库

    • 数据湖(如 Hadoop、AWS S3):存储原始数据。
    • 数据仓库(如 Snowflake、Redshift):存储结构化数据用于分析。

处理方式

  1. 实时数据处理

    • 使用流处理框架(如 Apache Kafka、Flink)分析实时数据。
    • 例如:监控车辆速度,超速时发出警报。
  2. 批量数据分析

    • 将 IoT 数据定期导入数据仓库,使用大数据工具(如 Spark)进行批处理。
    • 例如:分析一周内设备的运行状态。
  3. 机器学习与AI

    • 使用 AI 模型对 IoT 数据进行预测和异常检测。
    • 例如:预测工业设备的故障。

Mapping

Mapping 在开发中通常指的是数据或信息之间的映射关系,即将一种数据结构、字段或实体转换成另一种对应的数据结构或字段,以便在不同系统或模块之间进行数据的传递或处理。Mapping 是软件开发中常见的概念,广泛应用于数据传输、转换、模型映射等场景。

Mapping的常见场景

Mapping 的作用

  1. 数据转换

    • 将数据从一种格式或结构转换为另一种,以满足不同模块或系统的需求。
  2. 系统集成

    • 在多个系统之间共享数据时,通过映射来解决字段或数据结构不一致的问题。
  3. 降低耦合性

    • 使用映射层可以隔离不同系统或模块的实现细节,降低代码的耦合性。
  4. 提升代码可维护性

    • 通过统一的映射规则或工具,简化数据转换的逻辑,方便后续维护。

常见的 Mapping 技术与工具

  1. 编程语言中的工具

    • Java:ModelMapperMapStruct
    • Python:pydanticMarshmallow
    • JavaScript:手动映射(如使用 map() 方法)。
  2. 数据库工具

    • Hibernate、JPA(ORM 工具)。
    • 数据库视图用于映射复杂字段。
  3. ETL 工具

    • Apache Nifi、Talend、Informatica,用于跨系统的大规模数据映射和转换。
  4. 配置文件与规则

    • JSON、YAML 配置文件中定义的映射规则。
    • 自定义映射规则文件。

逻辑实体

物理表

虚拟表

视图

数据模型

数据模型 是一种对现实世界数据及其相互关系的抽象表达,用来描述数据的结构、操作和约束。它是数据库设计、数据处理和数据管理的基础工具,帮助我们理解和组织复杂的数据。

Data Lab

Data Lab 是指企业数据管理和分析中的一个核心功能模块或场景,通常代表了一个集中的数据实验室(Data Laboratory)或分析平台。它的主要目标是为用户提供灵活的探索、分析和试验数据的环境,帮助实现业务洞察和智能决策。

第一部分

第一章

数字化转型目标

数字化转型蓝图

数据工作框架

数据体系建设的整体框架

第二章

数据治理体系框架

数据管理总纲

第三章

数据分类管理框架

数据分类

基础数据治理

基础数据是用于分类或目录整编的数据,通常有一个有限的允许、可选值范围。也就是常见的基础码值。如性别、币种、业务单类型等。

基础数据治理无论对优化业务流程还是数据分析都有较高的价值。一方面是增强与外部系统、提高业务敏捷度;另一方面,减少mapping的开发,支持业务端到端分析,增加业务确定性。码值管理最好通过系统来管控,目前的工作里也遇到这类问题,因为老系统之前较为混乱,新建系统建了一套全新的,但当时相关标准管理系统不完善,且在新老mapping上并不完善,导致数据部门很难开展工作。

基础数据治理的价值
基础数据治理的收益
基础数据治理的框架

主数据治理

主数据具有高业务价值的、可以在企业内跨流程跨系统被重复使用的数据,具有唯一、准确、权威的数据源。通常是业务事件的参与方,参与方在业务中是一个很重要的概念。常见的主数据有机构主数据、员工主数据、产品主数据、财务主数据等。

华为的主数据范围包含客户、产品、供应商、组织和人员。每个主数据都有相应的架构、流程及管控组织来负责管理。目前的工作里也各自新建域来管理相应的主数据,但缺少良好的流程和管控,产品功能存在但实际转起来时没有那么顺畅,需要不断打磨。最后的目的是保证数出一孔,提高数据质量、支持交易流打通等。

主数据管理策略
主数据管理框架
客户主数据

客户数据是企业最重要的主数据之一,几乎贯穿所有业务经营活动。客户数据在全流程中的及时性、准确性、完整性、一致性、有效性、唯一性是业务高效运作、经营可控的重要保障。随着业务发展,华为客户数量迅速增长,客户数据种类复杂多样,因此要构建客户数据管理和服务化能力,以满足经营分析、交易打通、内外部遵从、客户价值挖掘等核心要求,支撑面向多BG的战略转变。

这里的"多BG"指的是"多业务群"(Business Groups)的意思。华为作为一个全球化的大型企业,通常会根据不同的产品线、市场需求、技术方向等,划分为多个业务群(BGs)。这些业务群可能包括消费业务、企业业务、运营商业务等。每个BG都有其独立的目标、运作模式和管理需求。因此,"支撑面向多BG的战略转变"意味着要建立一个能够支持多个业务群战略需求的系统或平台,以确保客户数据能够在各个业务群之间高效流通和利用。

事务数据治理

事务数据用于记录企业经营过程中产生的业务事件,其实质是主数据之间活动产生的数据。如一条xx订单数据。

事务数据会调用主数据和基础数据,当然也有自身的数据。如一张订单上,一般有客户、产品、机构主数据,币种、订单类型等基础数据,也有订单金额、订单号等事务数据。因此,事务数据治理的重点是管理好事务数据对主数据和基础数据的调用,以及事务数据之间的关联关系,确保上下游传递顺畅,数仓中间层建模时就是事实表表来源。

报告数据治理

报告数据是对数据进行处理加工后,用作业务决策依据的数据。主要是指维度、指标。

观测数据治理

观测数据是观测者通过观测工具获取观测对象行为/过程的记录数据。如系统日志、物联网数据、GPS数据等。

观测对象主要是人、事、物和环境,观测对象要定义成业务对象进行管理。观测方式分为软感知(使用软件或各种技术进行数据收集,比如某log日志)和硬感知(收集对象为物理世界中物理实体,如IOT数据)。

规则数据治理

规则数据是结构化描述业务规则变量(一般为决策表、关联关系表、评分卡等形式)的数据,是实现业务规则的核心数据。无法实例化,只能以逻辑实体存在。如某下单流程中的定价规则,风控规则等。业务规则/规则变量->规则数据,一个业务规则可以包含0-N个规则数据。

非结构化数据

外部数据

外部数据是指华为公司引入的外部组织或者个人拥有处置权利的数据,如供应商资质证明、消费者洞察报告等。外部数据治理的出发点是合规遵从优先,与内部数据治理的目的不同。

元数据

元数据是定义数据的数据,是有关一个企业所使用的物理数据、技术和业务流程、数据规则和约束以及数据的物理与逻辑结构的信息。属于描述性标签,描述了数据、相关概念以及他们之间的关系,如业务术语、指标定义、表/字段描述等。

元数据设计原则
数据资产编码

数据资产编码(DAN,Data Asset Numbering) 是一种对数据资产进行唯一标识的编码体系,用于帮助企业对其数据资产进行统一管理、标识和追踪。

Schema (skiːmə,s给m)是数据库的设计图,定义了数据的结构、类型和关系,为数据存储、管理和使用提供规范。

元数据注册

元数据注册 是指将元数据(Metadata)按照一定的规范和标准,登记到一个元数据管理平台元数据仓库中,以便统一管理和使用。这个过程确保企业或组织中的数据资源可以被清晰地描述、分类和追踪,从而实现对数据的全面理解、利用和管控。

元数据注册有4种模式,一对一模式(逻辑实体和物理表一对一)、主从模式(一对多,逻辑实体对应多张物理表)、主扩模式(一对多主物理表为核心表,少数属性存在其他物理表中)和父子模式(多个逻辑实体业务属性完全相同,按照不同场景区分逻辑实体,但落在同一物理表中)。

第二部分

第四章

企业级信息架构

信息架构原则

第五章

数据底座总体架构

数据湖(入湖方法)

这里区分下物理入湖和虚拟入湖:

(1)物理入湖是指将原始数据复制到数据湖中,主要有批量集成、数据复制同步(实时,CDC)、消息集成(实时,API提取数据,MQ工具)和流集成(实时,Pipline工具)。

(2)虚拟入湖是指原始数据不在数据湖中进行物理存储,而是通过建立虚拟表的集成方式实现入湖,实时性强,一般面向小数据量应用,数据量过大可能影响源系统。主要是面向需要低数据低时延、高灵活性和临时模式(不断消费下的模式)的消费场景。如Denodo中的逻辑数据架构,支持数据虚拟化。

批量集成

数据复制同步

结构化数据入湖

结构化数据是指由二维表结构来逻辑表达和实现的数据,严格遵循数据格式与长度规范,主要通过关系型数据库进行存储和管理。

触发结构化数据入湖的场景有两种:

第一,企业数据管理组织基于业务需求主动规划和统筹;

第二,响应数据消费方的需求。

结构化数据入湖过程包括:数据入湖需求分析及管理、检查数据入湖条件和评估入湖标准、实施数据入湖、注册元数据。

第六章

相关推荐
抱抱宝20 分钟前
Pyecharts之饼图与多饼图的应用
信息可视化·数据挖掘·数据分析
大数据张老师1 小时前
【实践】Python实现气象数据分析与可视化
python·信息可视化·数据分析·可视化
抱抱宝1 小时前
Pyecharts之双轴图表的魅力
python·信息可视化·数据分析·pyecharts
抱抱宝3 小时前
Pyecharts之图表样式深度定制
python·信息可视化·数据分析
青云交3 小时前
Java 大视界 -- Java 大数据在元宇宙中的关键技术与应用场景(65)
大数据·数据分析·元宇宙·数据存储·实时处理·虚拟身份·虚拟经济
大数据魔法师3 小时前
1905电影网中国地区电影数据分析(二) - 数据分析与可视化
python·数据分析
云天徽上19 小时前
【机器学习案列】探索各因素对睡眠时间影响的回归分析
人工智能·算法·机器学习·数据挖掘·数据分析·回归
m0_7482526021 小时前
爬虫基础之爬取某基金网站+数据分析
爬虫·数据挖掘·数据分析
zoney hu1 天前
Python数据分析-准备工作(一)
python·数据分析
Ray.19981 天前
Flink底层架构与运行流程
大数据·数据分析·flink