数据工程 - 简介
在数据工程中,数据处理和分析借助高性能计算来完成。在计算领域,所采用的数据工程方法被称为数据流编程。它将计算表示为有向图,其中节点是不同的操作,边表示数据流。增量计算等实现决定了数据处理的效率。
数据工程涉及创建用于管理信息访问和流动的系统和工具。在这里,数据易于访问、维护良好且随时可供分析。数据工程师构建和管理数据基础设施,使数据分析师和科学家更容易处理数据。
数据工程涉及开发、实施和维护将独特数据转换为高质量可靠信息的系统。此信息用于各种目的,例如机器学习和分析。数据工程结合了安全、数据管理、DataOps、数据架构和软件工程的各个方面。数据工程是一个使数据源可用于分析或机器学习的系统。
数据工程
数据存储在各种各样的应用程序中,决定如何存储数据的一个关键因素是其用途。数据工程师通过压缩、存档和分区数据来优化存储。
结构化数据通常需要联机事务处理 (OLTP),为此通常使用数据库。具有强大 ACID 保证和 SQL 查询的关系数据库曾经很常见。NoSQL 数据库因其能够水平扩展而越来越受欢迎,即使它们牺牲了 ACID 保证并减少了对象关系不匹配。
当结构化数据需要分析处理而不是事务处理时,通常使用数据仓库。它们支持大规模数据分析并管理来自数据库的数据流。数据工程师、业务分析师和数据科学家使用 SQL 或商业智能软件等工具访问数据仓库。
数据工程工具
数据湖是一个集中式存储库,允许存储海量数据,无论是来自关系数据库的结构化数据,还是半结构化和非结构化数据或二进制数据。这可以通过微软、亚马逊或谷歌等公共云中提供的服务来实现。
如果数据不太规范,则将其存储为文件。有不同的选项,例如:
对象存储在元数据的帮助下管理数据,有时会为每个文件分配一个唯一的键,例如通用唯一标识符 (UUID)。
块存储将数据划分为大小相等的块,这些块通常对应于硬盘驱动器或固态驱动器。
文件系统使用嵌套文件夹按层次结构组织数据。
大数据非常流行,并吸引了许多公司的兴趣。通常,公司将大型工具用于小型数据问题,为最小数据部署复杂的系统。这种趋势是由大数据工具的各种营销策略驱动的。
数据科学家通常创建生产数据系统,但由于数据工程师的支持和资源有限,他们经常工作效率低下。数据科学家应该将时间集中在分析、机器学习和实验上。当数据工程师处理基础任务时,他们会创建一个坚实的基础,使数据科学家能够在各自的角色中脱颖而出。