2025 年度后数据工程需要了解的基本概念
该系列文章主要介绍下列基本概念:
- 数据仓库、数据湖、数据湖仓
- 云存储平台 AWS、Azure、Google cloud
- 优化数据存储
- 大数据手段 Apache Spark、Kafka
- 实时数据处理 ETL
- 事件驱动架构 EDA
- 其他 topic:数据关联、xAI、推理计算、无限存储、人类在环集成
帮助更好的理解数据的方式
一、数据仓库、数据湖、数据湖仓
1.1 历史
数据仓库(data warehouses)作为商业手段从 Oracle、SAP 公司起源,公司由此从不同的数据源构建集中的数据库,并使用商业智能工具开展分析
数据湖(data lakes)从非结构化或半结构化数据存储需求的发展,数据湖常用语存储原始数据(结构化和非结构化),例如包括社交媒体的照片、推文等
数据湖仓(data lakehouse)结合了数据仓库和数据湖的结果,由公司Databricks提出自己的Delta lake,核心有点在于允许 存储和查询非结构化数据 in 数据湖仓,和结构化数据 in 数据仓库 中一样,解决了数据库通常受到限制,数据湖通常难以搜索的缺点
1.2 为什么需要这些结构?
从 2000 年互联网爆炸开始,个人和企业生产的数据开始越来越多。由此面临的挑战包括:
- 数据集成,在多源数据集合的基础上,复杂的 ETL、ELT 技术
- 拓展性和成本,数据库昂贵,数据湖容易造成数据混乱,数据湖仓需要技术投资
- 数据获取,各种权限要求
二、云平台 AWS、Azure、Google CLoud
这些平台提供了可扩展的存储基础设置,同时用此存储数据并使用商业智能分析手段智能的。
2.1 个人常常面临的挑战
- 在准备我的 Salesforce Data Cloud 认证(这是一个数据湖仓)时,我发现自己陷入了一个全新的术语海洋——这些术语都是 Salesforce 生态中特有的。每个云平台都有自己独特的术语和工具,这使得企业员工需要花费大量时间来熟悉这些内容。
- 数据存储在云端,所以必须明确访问控制权限
三、优化数据存储
更大的数据意味着更多的成本
- 删除冗余或者不必要的数据进行数据压缩
- 数据分区,将大型数据集拆分成更小的部分
- 选择合适的存储格式优化存储效率和查询性能
四、大数据手段 Apache Spark、Kafka
上述 1-3 介绍如何高效的存储数据,而大数据技术让我们可以处理 ta 更加高效,包括使用实时流(Real-time)或者批处理(Batch)方法
- Spark,是一个框架可以分布式处理框架用于机器学习、数据工程、ETL 处理方式
- Kafks,是一种实时数据流处理应用,比如金融或者物流企业
其中面临的挑战:
- 实施的困难,这一套系统构建和维护需要工程技术
- 数据质量,收集的数据需要确定数据的有效性
五、数据集中手段
ETL(Extract-transformer-loading)描述不同集成和处理数据手段
六、事件驱动架构
如果我们能够(几乎)实时地在系统之间传输数据,我们同样希望能够(几乎)实时地对其做出反应:这就是事件驱动架构(Event-Driven Architecture,EDA)的应用场景。
EDA 是一种以事件为驱动的架构模式,其中应用程序的运行由事件触发。事件是系统中任何相关的状态变化,例如用户登录应用程序,或接收到一笔支付。架构中的各个组件对这些事件作出响应,而无需彼此直接连接,从而提高了应用的灵活性和可扩展性。
典型的技术实现包括 Apache Kafka 或 AWS EventBridge。
七、可解释性与xAI
xAI:从模型角度解析模型是如何取得成果的
数据血统:通过可追溯的数据来了解数据来自哪里,如何处理并最终如何被使用
八、生成式AI
包括AI、LLM、Agents 等术语
九、人类在环 human-in-the-loop
将人类和人工智能之间的合作优势结合起来:
- 人工智能的优势在于模型可以有效的处理大量的数据,帮助人们发现其中难以识别的模式
- 人类的优势在于没有事先训练的情况下将判断力、到的、创造力和理解能力放到工作中,并有能力面对不可预知的情况
面临的问题在于:
- 两者之间缺乏协同作用和不信任,似乎缺乏直观的界面,是的人类更容易与人工智能工具进行足够有效的互动
- 人工智能当前的技术限制,难以理解逻辑一致性和上下文,这可能会导致错误或者不准确的结果
Humans and AI: Do they work better together or alone?