数据架构

数据存储

数据库

数据仓库

数据湖

一个集中式存储库,允许以任意规模存储所有结构化和非结构化数据

常见的实现形式为表格式,只负责依照某种格式存储到存储系统中,再由独立的查询引擎实现读取数据查询

湖仓一体

业界主流有两种做法:

  1. 将数据仓库构建在数据湖之上
  2. 数据仓库与数据湖独立,二者通过消息通道进行数据同步

分布式存储

区块链

数据集成

将来自不同数据源的数据整合到一个统一的数据存储中,以便于数据分析、业务报告和决策支持。一般为 ETL 或者 ELT

批量数据抽取

流式数据抽取

批量数据转换

流式数据转换

批量数据加载

流式数据加载

错误处理

最重要的错误处理可能就是需要保证抽取过程的数据一致性,一种方式是引入事务机制保证原子性落库,另外一种则是引入死信队列,用来保存出错的数据

数据计算

批处理

流处理

流批一体

  1. 计算一体:同一套计算逻辑可以同时应用于流处理与批处理两种模式,且在最终结果上一致。
  2. 存储一体:流处理与批处理过程中全程数据存储在同一介质,即不管采用何种处理模式,数据的流转及存储都在同一介质中完成

数据应用

任务调度

任务调度通常用于调度ETL(Extract, Transform, Load)作业、数据处理作业、数据分析作业等

调度类型:

sequenceDiagram  用户 ->> 任务解析器: 定义任务  任务解析器 ->> 存储器: 持久化任务  存储器 ->> 任务调度器: 任务信息  par    任务调度器 ->> 执行器: 分发任务执行    执行器 ->> 任务调度器: 更新任务状态  end  任务调度器 ->> 任务调度器: 决定下一个任务...  执行器 ->> 监控中心: 上报任务状态、执行日志  监控中心 ->> 任务调度器: 控制任务调度

数据建模

BI

通过收集、分析和呈现数据来提供商业洞察的技术和工具

通常包括以下功能:

  1. 数据可视化: 将数据转化为图表、仪表盘、报表等形式,以便用户直观地理解数据。
  2. 数据分析: 提供各种分析功能,包括查询、筛选、排序、聚合等,以便用户对数据进行深入的分析和探索。
  3. 报告和仪表盘: 支持定制化报告和仪表盘的生成,以满足不同用户和业务部门的需求。
  4. 数据挖掘: 使用数据挖掘算法和模型来发现数据中的隐藏模式、关联和趋势,从而提供更深入的洞察和预测。
  5. 实时监控和警报: 提供实时监控功能,监测业务指标的变化和异常情况,并及时发出警报

报表

报表与 BI 的区别在于 BI 更加灵活,且 BI 覆盖更广泛的功能。同时 BI 能够支持实时数据的查询和分析

数据分析

数据可视化

机器学习

数据治理与安全

数据资产管理

对组织内部的数据资产进行管理,包括数据集、数据表、数据文件等。提供数据目录功能,帮助用户了解和查找组织中可用的数据资产

质量管理

在数据生命周期的各个阶段,通过一系列的策略、流程和工具,确保数据的准确性、一致性、完整性、可靠性和及时性的过程

规范化与标准化

元数据管理

分类:

数据血缘

classDiagram    class DataSource {        + string sourceType        + string sourceName        + string extractProcess    }    class DataTransformer {        + string transformType        + string transformLogic    }    class DataDestination {        + string destinationType        + string destinationName        + string loadProcess    }    class DataFlow {        + DataSource source        + DataTransformer transformer        + DataDestination destination    }    class DataLineage {        + DataFlow[] dataFlows        + string getLineage()    }    DataSource "1" -- "1..*" DataFlow : includes    DataTransformer "1" -- "1..*" DataFlow : includes    DataDestination "1" -- "1..*" DataFlow : includes    DataLineage "1" -- "1..*" DataFlow : contains

数据血缘包括数据源、数据转换器、数据目的地和数据流程,它们之间的关系是数据源提供原始数据,经过数据转换器处理后,将数据传递到数据目的地进行存储或进一步处理。数据流程记录了数据在整个流程中的来源、流向和变换过程,而数据血缘则由多个数据流程组成

安全与隐私

数据权限