Coursera 笔记

Module 01 · What is Data Engineering?什么是数据工程?

What is Data Engineering?数据工程的范畴与核心任务

Coursera ↗

在本视频中,我们将进一步探索数据工程在现代数据生态系统中的范畴。


数据工程的本质与目标

  • 最简单的定义: 数据工程领域关注数据流动和访问的机制。
  • 核心目标: 使高质量数据可用于事实发现和数据驱动的决策。

随着数据的增长,数据工程领域也在发展。从数据仅存在于一个相对易于管理的单一数据库中,到今天的数据世界已涵盖来源广泛、结构多样、类型各异的数据。


数据工程的关键任务

数据工程领域关注以下任务:

1. 采集源数据 (Collecting Source Data)

这包括从不同来源提取、集成和组织数据。

为此,您需要:

  • 开发有助于从多个来源获取数据的工具、工作流和流程。
  • 设计、构建和维护可扩展的数据架构来存储数据。
    • 数据可以存储在数据库、数据仓库、数据湖或任何其他类型的数据存储库中。

2. 处理数据 (Processing Data)

这包括清理、转换和准备数据,使其变得可用。

为此,您需要:

  • 实施和维护用于大规模数据处理的分布式系统。
  • 设计用于将数据提取、转换和加载到数据存储库中的管道。
  • 设计或实施用于验证和保障数据质量、隐私和安全的解决方案。
  • 优化工具、系统和工作流,以实现性能、可靠性和可扩展性。
  • 确保数据满足所有监管和合规指南。

3. 存储数据 (Storing Data)

旨在实现数据的可靠且便捷的可用性。

为此,您需要:

  • 架构或实施用于存储已处理数据的数据存储。
  • 确保系统可扩展,同时考虑到数据和业务需求的不断变化。
  • 确保部署到位能处理数据隐私、安全、合规、监控、备份和恢复的工具和系统。

4. 安全地向用户提供数据 (Making Data Available to Users Securely)

这包括使用:

  • API、服务和程序,它们根据定义的参数检索数据供最终用户使用。
  • 界面和仪表板,向用户展示数据,以便他们从中获取洞察。
  • 确保采取了正确的措施和制衡机制,以保证数据安全并提供基于权限的用户访问。

团队合作与技能专业化

数据工程是一项团队运动。

没有人被期望拥有数据工程范畴内广泛任务所需的所有知识、技能和专业化。

  • 架构设计: 要架构任何数据管理系统(无论是用于整理源数据还是存储经过处理的、可供分析的数据),您需要具备架构师的技能。
  • 存储优化: 要确保数据存储可用并为使用而优化,您需要具备数据库方面的专业知识。
  • 专业技能: 数据库工具、编程语言和分布式系统的熟练程度都属于数据工程范畴,但它们可能需要不同的技能组合。

组织实践的灵活性

并非所有团队和组织都需要建立端到端的数据工程实践。市场上提供各种内部部署和基于云的工具、应用和解决方案,可以根据个性化需求进行评估。


总结

在本视频中,我们了解到数据工程如何致力于提供稳健且可扩展的结构,使高质量数据可用于决策制定。

相比任何其他数据专业,数据工程更关注:

  • 涉及数据操作的工具和技术。
  • 但它也涉及理解数据的复杂性以及如何最终将其用于事实发现和决策制定。